1/**
2 * Copyright (c) 2006-2023 LOVE Development Team
3 *
4 * This software is provided 'as-is', without any express or implied
5 * warranty. In no event will the authors be held liable for any damages
6 * arising from the use of this software.
7 *
8 * Permission is granted to anyone to use this software for any purpose,
9 * including commercial applications, and to alter it and redistribute it
10 * freely, subject to the following restrictions:
11 *
12 * 1. The origin of this software must not be misrepresented; you must not
13 * claim that you wrote the original software. If you use this software
14 * in a product, an acknowledgment in the product documentation would be
15 * appreciated but is not required.
16 * 2. Altered source versions must be plainly marked as such, and must not be
17 * misrepresented as being the original software.
18 * 3. This notice may not be removed or altered from any source distribution.
19 **/
20
21#include "config.h"
22
23#ifdef LOVE_WINDOWS
24
25#include <string>
26#include <windows.h>
27
28namespace love
29{
30
31/**
32 * Convert the wide string to a UTF-8 encoded string.
33 * @param wstr The wide-char string.
34 * @return A UTF-8 string.
35 **/
36std::string to_utf8(LPCWSTR wstr);
37
38/**
39 * Convert a UTF-8 encoded string to a wide string.
40 * @param str The UTF-8 string.
41 * @return A wide string.
42**/
43std::wstring to_widestr(const std::string &str);
44
45/**
46 * Replace all occurences of 'find' with 'replace' in a string.
47 * @param str The string to modify.
48 * @param find The character to match.
49 * @param replace The character to replace matches.
50 **/
51void replace_char(std::string &str, char find, char replace);
52
53} // love
54
55#endif // LOVE_WINDOWS
56