Files
@ r28024:510529c5fc82
Branch filter:
Location: cpp/openttd-patchpack/source/src/os/windows/win32.h - annotation
r28024:510529c5fc82
1.8 KiB
text/x-c
Change: Use CARGO_LIST to show station cargo acceptance changes. (#11379)
This simplifies construction of the news message and allows for more than
two changes to be show in one line.
This simplifies construction of the news message and allows for more than
two changes to be show in one line.
r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r12836:aa53aa9303d2 r18395:22ade7a0b9e1 r12836:aa53aa9303d2 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r25633:182cff790b44 r12836:aa53aa9303d2 r24928:f1d8013662df r27192:ca232e33e315 r12836:aa53aa9303d2 r22895:325a6acc542b r27193:e816892ba57b r22895:325a6acc542b r12836:aa53aa9303d2 | /*
* This file is part of OpenTTD.
* OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
* OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file win32.h declarations of functions for MS windows systems */
#ifndef WIN32_H
#define WIN32_H
#include <windows.h>
bool MyShowCursor(bool show, bool toggle = false);
class DllLoader {
public:
explicit DllLoader(LPCTSTR filename)
{
this->hmodule = ::LoadLibrary(filename);
if (this->hmodule == nullptr) this->success = false;
}
~DllLoader()
{
::FreeLibrary(this->hmodule);
}
bool Success() { return this->success; }
class ProcAddress {
public:
explicit ProcAddress(void *p) : p(p) {}
template <typename T, typename = std::enable_if_t<std::is_function_v<T>>>
operator T *() const
{
return reinterpret_cast<T *>(this->p);
}
private:
void *p;
};
ProcAddress GetProcAddress(const char *proc_name)
{
void *p = reinterpret_cast<void *>(::GetProcAddress(this->hmodule, proc_name));
if (p == nullptr) this->success = false;
return ProcAddress(p);
}
private:
HMODULE hmodule = nullptr;
bool success = true;
};
char *convert_from_fs(const wchar_t *name, char *utf8_buf, size_t buflen);
wchar_t *convert_to_fs(const std::string_view name, wchar_t *utf16_buf, size_t buflen);
void Win32SetCurrentLocaleName(const char *iso_code);
int OTTDStringCompare(std::string_view s1, std::string_view s2);
#endif /* WIN32_H */
|