51063e47bfc923c501b8db841f994f80d3eb91f9
[chise/xemacs-chise.git.1] / src / syswindows.h
1 /* Copyright (C) 2000 Free Software Foundation, Inc.
2    Copyright (C) 2000 Ben Wing.
3
4 This file is part of XEmacs.
5
6 XEmacs is free software; you can redistribute it and/or modify it
7 under the terms of the GNU General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
9 later version.
10
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14 for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with XEmacs; see the file COPYING.  If not, write to
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 Boston, MA 02111-1307, USA.  */
20
21 /* Synched up with: Not in FSF. */
22
23 /* Authorship:
24
25    Created May 2000 by Andy Piper.
26    Windows-Mule stuff added by Ben Wing.
27 */
28
29 #ifndef INCLUDED_syswindows_h_
30 #define INCLUDED_syswindows_h_
31
32 #include <windows.h>
33
34 #if (defined (__CYGWIN32__) || defined(__MINGW32__)) && \
35         CYGWIN_VERSION_DLL_MAJOR < 21
36 extern BOOL WINAPI DdeFreeStringHandle(DWORD,HSZ);
37 extern BOOL WINAPI PlaySound(LPCSTR,HMODULE,DWORD);
38 #define stricmp strcasecmp
39 #define FONTENUMPROC FONTENUMEXPROC
40 #define ntmTm ntmentm
41 #elif defined (WIN32_LEAN_AND_MEAN)
42 #include <winspool.h>
43 #include <mmsystem.h>
44 #include <shellapi.h>
45 #include <ddeml.h>
46 #endif
47
48 /* mmsystem.h defines. */
49 #ifndef SND_ASYNC
50 #define SND_ASYNC               1
51 #endif
52 #ifndef SND_NODEFAULT
53 #define SND_NODEFAULT           2
54 #endif
55 #ifndef SND_MEMORY
56 #define SND_MEMORY              4
57 #endif
58 #ifndef SND_FILENAME
59 #define SND_FILENAME            0x2000L
60 #endif
61
62 /* winspool.h defines. */
63 #ifndef PHYSICALWIDTH
64 #define PHYSICALWIDTH 110
65 #endif
66 #ifndef PHYSICALHEIGHT
67 #define PHYSICALHEIGHT 111
68 #endif
69 #ifndef PHYSICALOFFSETX
70 #define PHYSICALOFFSETX 112
71 #endif
72 #ifndef PHYSICALOFFSETY
73 #define PHYSICALOFFSETY 113
74 #endif
75
76 /* windows.h defines. */
77 #if defined (__CYGWIN32__) && (CYGWIN_VERSION_DLL_MAJOR < 20)
78 typedef NMHDR *LPNMHDR;
79 #endif
80
81 #ifndef SPI_GETWHEELSCROLLLINES
82 #define SPI_GETWHEELSCROLLLINES 104
83 #endif
84 #ifndef WHEEL_PAGESCROLL
85 #define WHEEL_PAGESCROLL (UINT_MAX)
86 #endif
87 #ifndef WHEEL_DELTA
88 #define WHEEL_DELTA 120
89 #endif
90 #ifndef WM_MOUSEWHEEL
91 #define WM_MOUSEWHEEL 0x20A
92 #endif
93 #ifndef VK_APPS
94 #define VK_APPS                 0x5D
95 #endif
96 #ifndef SIF_TRACKPOS
97 #define SIF_TRACKPOS            0x0010
98 #endif
99 #ifndef FW_BLACK
100 #define FW_BLACK        FW_HEAVY
101 #endif
102 #ifndef FW_ULTRABOLD
103 #define FW_ULTRABOLD    FW_EXTRABOLD
104 #endif
105 #ifndef FW_DEMIBOLD
106 #define FW_DEMIBOLD     FW_SEMIBOLD
107 #endif
108 #ifndef FW_ULTRALIGHT
109 #define FW_ULTRALIGHT   FW_EXTRALIGHT
110 #endif
111 #ifndef APPCMD_FILTERINITS
112 #define APPCMD_FILTERINITS      0x20L
113 #endif
114 #ifndef CBF_FAIL_SELFCONNECTIONS
115 #define CBF_FAIL_SELFCONNECTIONS 0x1000
116 #endif
117 #ifndef CBF_SKIP_ALLNOTIFICATIONS
118 #define CBF_SKIP_ALLNOTIFICATIONS       0x3C0000
119 #endif
120 #ifndef CBF_FAIL_ADVISES
121 #define CBF_FAIL_ADVISES        0x4000
122 #endif
123 #ifndef CBF_FAIL_POKES
124 #define CBF_FAIL_POKES          0x10000
125 #endif
126 #ifndef CBF_FAIL_REQUESTS
127 #define CBF_FAIL_REQUESTS       0x20000
128 #endif
129 #ifndef SZDDESYS_TOPIC
130 #define SZDDESYS_TOPIC          "System"
131 #endif
132 #ifndef JOHAB_CHARSET
133 #define JOHAB_CHARSET           130
134 #endif
135 #ifndef MAC_CHARSET
136 #define MAC_CHARSET             77
137 #endif
138
139 /***************************************************************/
140
141 /* Definitions for Mule under MS Windows */
142
143 /* extern int mswindows_windows9x_p; */
144 /* #define EIUNICODE_P (!mswindows_windows9x_p) */
145 #define EIUNICODE_P 0
146
147 #define EITCHAR_SIZE (EIUNICODE_P ? sizeof (WCHAR) : sizeof (CHAR))
148 #define EITEXT(arg) (EIUNICODE_P ? L##arg : (arg))
149 #define EICOPY_TCHAR(ptr, ch) \
150   (EIUNICODE_P ? (* (LPWSTR) (ptr) = L##ch) : (* (LPSTR) (ptr) = (ch)))
151
152 #endif /* INCLUDED_syswindows_h_ */