win32.h
author Darkvater
Sun, 10 Dec 2006 00:20:26 +0000
changeset 5305 e07957fe871e
parent 5304 50daae4d7d38
child 5312 884ebccbd847
permissions -rw-r--r--
(svn r7461) -Fix: [FS#262] Add support for building with GCC on OS/2 (psmedley)
2186
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2183
diff changeset
     1
/* $Id$ */
461a2aff3486 (svn r2701) Insert Id tags into all source files
tron
parents: 2183
diff changeset
     2
2183
6fba9150225b (svn r2697) Make compiling with SDL on Windows work again (missing #includes) and fix some warnings
tron
parents:
diff changeset
     3
#ifndef WIN32_H
6fba9150225b (svn r2697) Make compiling with SDL on Windows work again (missing #includes) and fix some warnings
tron
parents:
diff changeset
     4
#define WIN32_H
6fba9150225b (svn r2697) Make compiling with SDL on Windows work again (missing #includes) and fix some warnings
tron
parents:
diff changeset
     5
5304
50daae4d7d38 (svn r7460) -Fix (r7337): [win32] If the underlying OS didn't have support for SHGetFolderPath the
Darkvater
parents: 5222
diff changeset
     6
#include <windows.h>
2207
40c928fbde8a (svn r2725) Move MyShowCursor() back into win32.c, it fits better there
tron
parents: 2186
diff changeset
     7
bool MyShowCursor(bool show);
40c928fbde8a (svn r2725) Move MyShowCursor() back into win32.c, it fits better there
tron
parents: 2186
diff changeset
     8
2183
6fba9150225b (svn r2697) Make compiling with SDL on Windows work again (missing #includes) and fix some warnings
tron
parents:
diff changeset
     9
typedef void (*Function)(int);
5168
10a8dc9788d7 (svn r7278) -Codechange: [win32] Add UNICODE support so it should compile on OS's using UNICODE
Darkvater
parents: 2436
diff changeset
    10
bool LoadLibraryList(Function proc[], const char *dll);
10a8dc9788d7 (svn r7278) -Codechange: [win32] Add UNICODE support so it should compile on OS's using UNICODE
Darkvater
parents: 2436
diff changeset
    11
5218
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    12
char *convert_from_fs(const wchar_t *name, char *utf8_buf, size_t buflen);
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    13
wchar_t *convert_to_fs(const char *name, wchar_t *utf16_buf, size_t buflen);
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    14
5168
10a8dc9788d7 (svn r7278) -Codechange: [win32] Add UNICODE support so it should compile on OS's using UNICODE
Darkvater
parents: 2436
diff changeset
    15
#if defined(UNICODE)
5218
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    16
# define MB_TO_WIDE(str) OTTD2FS(str)
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    17
# define MB_TO_WIDE_BUFFER(str, buffer, buflen) convert_to_fs(str, buffer, buflen)
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    18
# define WIDE_TO_MB(str) FS2OTTD(str)
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    19
# define WIDE_TO_MB_BUFFER(str, buffer, buflen) convert_from_fs(str, buffer, buflen)
5168
10a8dc9788d7 (svn r7278) -Codechange: [win32] Add UNICODE support so it should compile on OS's using UNICODE
Darkvater
parents: 2436
diff changeset
    20
#else
5218
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    21
# define MB_TO_WIDE(str) (str)
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    22
# define MB_TO_WIDE_BUFFER(str, buffer, buflen) (str)
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    23
# define WIDE_TO_MB(str) (str)
aae5f36a5256 (svn r7333) -Codechange: [win32] Extend the OTTD2FS and FS2OTTD functions to also accept conversions
Darkvater
parents: 5168
diff changeset
    24
# define WIDE_TO_MB_BUFFER(str, buffer, buflen) (str)
5168
10a8dc9788d7 (svn r7278) -Codechange: [win32] Add UNICODE support so it should compile on OS's using UNICODE
Darkvater
parents: 2436
diff changeset
    25
#endif
2183
6fba9150225b (svn r2697) Make compiling with SDL on Windows work again (missing #includes) and fix some warnings
tron
parents:
diff changeset
    26
5304
50daae4d7d38 (svn r7460) -Fix (r7337): [win32] If the underlying OS didn't have support for SHGetFolderPath the
Darkvater
parents: 5222
diff changeset
    27
/* Override SHGetFolderPath with our custom implementation */
50daae4d7d38 (svn r7460) -Fix (r7337): [win32] If the underlying OS didn't have support for SHGetFolderPath the
Darkvater
parents: 5222
diff changeset
    28
#if defined(SHGetFolderPath)
50daae4d7d38 (svn r7460) -Fix (r7337): [win32] If the underlying OS didn't have support for SHGetFolderPath the
Darkvater
parents: 5222
diff changeset
    29
#undef SHGetFolderPath
50daae4d7d38 (svn r7460) -Fix (r7337): [win32] If the underlying OS didn't have support for SHGetFolderPath the
Darkvater
parents: 5222
diff changeset
    30
#endif
50daae4d7d38 (svn r7460) -Fix (r7337): [win32] If the underlying OS didn't have support for SHGetFolderPath the
Darkvater
parents: 5222
diff changeset
    31
#define SHGetFolderPath OTTDSHGetFolderPath
50daae4d7d38 (svn r7460) -Fix (r7337): [win32] If the underlying OS didn't have support for SHGetFolderPath the
Darkvater
parents: 5222
diff changeset
    32
50daae4d7d38 (svn r7460) -Fix (r7337): [win32] If the underlying OS didn't have support for SHGetFolderPath the
Darkvater
parents: 5222
diff changeset
    33
HRESULT OTTDSHGetFolderPath(HWND, int, HANDLE, DWORD, LPTSTR);
50daae4d7d38 (svn r7460) -Fix (r7337): [win32] If the underlying OS didn't have support for SHGetFolderPath the
Darkvater
parents: 5222
diff changeset
    34
5222
4f4cfb2e248e (svn r7337) -Feature: [win32] Add font selection by specifying a font-name, ala Fontconfig. Pretty
Darkvater
parents: 5218
diff changeset
    35
#if defined(__MINGW32__)
4f4cfb2e248e (svn r7337) -Feature: [win32] Add font selection by specifying a font-name, ala Fontconfig. Pretty
Darkvater
parents: 5218
diff changeset
    36
#define SHGFP_TYPE_CURRENT 0
4f4cfb2e248e (svn r7337) -Feature: [win32] Add font selection by specifying a font-name, ala Fontconfig. Pretty
Darkvater
parents: 5218
diff changeset
    37
#endif /* __MINGW32__ */
4f4cfb2e248e (svn r7337) -Feature: [win32] Add font selection by specifying a font-name, ala Fontconfig. Pretty
Darkvater
parents: 5218
diff changeset
    38
2436
177cb6a8339f (svn r2962) - const correctness for all Get* functions and most Draw* functions that don't change their pointer parameters
Darkvater
parents: 2207
diff changeset
    39
#endif /* WIN32_H */