annotate src/w32gui.h @ 70206:d099dc7dc981

Fix last change: (produce_stretch_glyph): Assume that face box height and width is already included in stretch glyph size so caller doesn't have to consider the extra space otherwise added (fixes problem in ses.el).
author Kim F. Storm <storm@cua.dk>
date Mon, 24 Apr 2006 00:22:26 +0000
parents 3bd95f4f2941
children e90d04cd455a c5406394f567
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16886
c686d4f3728a Change all uses of win95, winnt, and win32 into Windows 95, Windows
Geoff Voelker <voelker@cs.washington.edu>
parents: 14186
diff changeset
1 /* Definitions and headers for communication on the Microsoft W32 API.
68651
3bd95f4f2941 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64770
diff changeset
2 Copyright (C) 1995, 2002, 2003, 2004, 2005,
3bd95f4f2941 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64770
diff changeset
3 2006 Free Software Foundation, Inc.
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
4
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
5 This file is part of GNU Emacs.
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
6
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
10 any later version.
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
11
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
15 GNU General Public License for more details.
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
16
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
20 Boston, MA 02110-1301, USA. */
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
21
29605
beb7f126f175 (EMACS_W32GUI_H): Renamed from __W32GUI_H__
Jason Rumney <jasonr@gnu.org>
parents: 29318
diff changeset
22 #ifndef EMACS_W32GUI_H
beb7f126f175 (EMACS_W32GUI_H): Renamed from __W32GUI_H__
Jason Rumney <jasonr@gnu.org>
parents: 29318
diff changeset
23 #define EMACS_W32GUI_H
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
24 #include <windows.h>
31112
1c1c5d1eb49c Undefine min, max.
Andrew Innes <andrewi@gnu.org>
parents: 29605
diff changeset
25
24144
236627b268cc Include w32bdf.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16890
diff changeset
26 #include "w32bdf.h"
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
27
32724
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
28 /* Emulate XCharStruct. */
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
29 typedef struct _XCharStruct
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
30 {
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
31 short rbearing;
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
32 short lbearing;
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
33 short width;
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
34 short ascent;
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
35 short descent;
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
36 } XCharStruct;
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
37
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
38 enum w32_char_font_type
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
39 {
50153
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
40 UNKNOWN_FONT = 0 /* FONT_TYPE_UNKNOWN */,
32724
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
41 ANSI_FONT,
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
42 UNICODE_FONT,
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
43 BDF_1D_FONT,
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
44 BDF_2D_FONT
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
45 };
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
46
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
47 typedef struct W32FontStruct {
32724
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
48 enum w32_char_font_type font_type;
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
49 TEXTMETRIC tm;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
50 HFONT hfont;
24144
236627b268cc Include w32bdf.h.
Geoff Voelker <voelker@cs.washington.edu>
parents: 16890
diff changeset
51 bdffont *bdf;
29318
d54d4038df20 (W32FontStruct): Add double_byte_p member.
Jason Rumney <jasonr@gnu.org>
parents: 27895
diff changeset
52 int double_byte_p;
32724
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
53 XCharStruct max_bounds;
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
54 XCharStruct scratch;
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
55 /* Only store info for ascii chars, if not fixed pitch. */
22afed8d7e3f (w32_char_font_type): Move enum from w32term.c
Andrew Innes <andrewi@gnu.org>
parents: 31112
diff changeset
56 XCharStruct * per_char;
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
57 } W32FontStruct;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
58
27398
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
59 typedef struct W32FontStruct XFontStruct;
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
60
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
61 /* Emulate X GC's by keeping color and font info in a structure. */
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
62 typedef struct _XGCValues
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
63 {
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
64 COLORREF foreground;
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
65 COLORREF background;
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
66 XFontStruct * font;
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
67 } XGCValues;
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
68
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
69 #define GCForeground 0x01
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
70 #define GCBackground 0x02
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
71 #define GCFont 0x03
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
72
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
73 typedef HBITMAP Pixmap;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
74 typedef HBITMAP Bitmap;
27398
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
75
50363
6bc35dcf692b (XrmDatabase): New (dummy) typedef.
Kim F. Storm <storm@cua.dk>
parents: 50230
diff changeset
76 typedef char * XrmDatabase;
6bc35dcf692b (XrmDatabase): New (dummy) typedef.
Kim F. Storm <storm@cua.dk>
parents: 50230
diff changeset
77
27398
d6331257c601 (XGCValue): New struct for emulating X GCs.
Jason Rumney <jasonr@gnu.org>
parents: 24144
diff changeset
78 typedef XGCValues * GC;
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
79 typedef COLORREF Color;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
80 typedef DWORD Time;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
81 typedef HWND Window;
50162
1404922b76b3 Use HDC for Display.
Jason Rumney <jasonr@gnu.org>
parents: 50153
diff changeset
82 typedef HDC Display; /* HDC so it doesn't conflict with xpm lib. */
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
83 typedef HCURSOR Cursor;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
84
50230
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
85 #define No_Cursor (0)
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
86
50153
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
87 #define XChar2b wchar_t
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
88
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
89 /* Dealing with bits of wchar_t as if they were an XChar2b. */
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
90 #define STORE_XCHAR2B(chp, byte1, byte2) \
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
91 ((*chp) = ((XChar2b)((((byte1) & 0x00ff) << 8) | ((byte2) & 0x00ff))))
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
92
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
93 #define XCHAR2B_BYTE1(chp) \
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
94 (((*chp) & 0xff00) >> 8)
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
95
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
96 #define XCHAR2B_BYTE2(chp) \
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
97 ((*chp) & 0x00ff)
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
98
04ca11636b72 (Display): Add dummy typedef for consolidation.
Kim F. Storm <storm@cua.dk>
parents: 47997
diff changeset
99
44046
994f2deaa5bc (struct XImage): Define.
Jason Rumney <jasonr@gnu.org>
parents: 40327
diff changeset
100 /* Windows equivalent of XImage. */
994f2deaa5bc (struct XImage): Define.
Jason Rumney <jasonr@gnu.org>
parents: 40327
diff changeset
101 typedef struct _XImage
994f2deaa5bc (struct XImage): Define.
Jason Rumney <jasonr@gnu.org>
parents: 40327
diff changeset
102 {
994f2deaa5bc (struct XImage): Define.
Jason Rumney <jasonr@gnu.org>
parents: 40327
diff changeset
103 unsigned char * data;
994f2deaa5bc (struct XImage): Define.
Jason Rumney <jasonr@gnu.org>
parents: 40327
diff changeset
104 BITMAPINFO info;
994f2deaa5bc (struct XImage): Define.
Jason Rumney <jasonr@gnu.org>
parents: 40327
diff changeset
105 /* Optional RGBQUAD array for palette follows (see BITMAPINFO docs). */
994f2deaa5bc (struct XImage): Define.
Jason Rumney <jasonr@gnu.org>
parents: 40327
diff changeset
106 } XImage;
40327
57a44aac3228 Add a dummy typedef for XImage. From Juanma Barranquero <lektu@terra.es>.
Eli Zaretskii <eliz@gnu.org>
parents: 39711
diff changeset
107
13434
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
108 #define FACE_DEFAULT (~0)
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
109
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
110 extern HINSTANCE hinst;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
111 extern HINSTANCE hprevinst;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
112 extern LPSTR lpCmdLine;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
113 extern int nCmdShow;
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
114
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
115 /* Bit Gravity */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
116
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
117 #define ForgetGravity 0
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
118 #define NorthWestGravity 1
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
119 #define NorthGravity 2
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
120 #define NorthEastGravity 3
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
121 #define WestGravity 4
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
122 #define CenterGravity 5
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
123 #define EastGravity 6
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
124 #define SouthWestGravity 7
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
125 #define SouthGravity 8
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
126 #define SouthEastGravity 9
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
127 #define StaticGravity 10
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
128
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
129 #define NoValue 0x0000
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
130 #define XValue 0x0001
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
131 #define YValue 0x0002
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
132 #define WidthValue 0x0004
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
133 #define HeightValue 0x0008
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
134 #define AllValues 0x000F
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
135 #define XNegative 0x0010
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
136 #define YNegative 0x0020
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
137
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
138 #define USPosition (1L << 0) /* user specified x, y */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
139 #define USSize (1L << 1) /* user specified width, height */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
140
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
141 #define PPosition (1L << 2) /* program specified position */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
142 #define PSize (1L << 3) /* program specified size */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
143 #define PMinSize (1L << 4) /* program specified minimum size */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
144 #define PMaxSize (1L << 5) /* program specified maximum size */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
145 #define PResizeInc (1L << 6) /* program specified resize increments */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
146 #define PAspect (1L << 7) /* program specified min and max aspect ratios */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
147 #define PBaseSize (1L << 8) /* program specified base for incrementing */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
148 #define PWinGravity (1L << 9) /* program specified window gravity */
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
149
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
150 extern int XParseGeometry ();
53ba95a88cf2 Initial revision
Geoff Voelker <voelker@cs.washington.edu>
parents:
diff changeset
151
50230
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
152
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
153 typedef struct {
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
154 int x, y;
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
155 unsigned width, height;
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
156 } XRectangle;
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
157
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
158 #define NativeRectangle RECT
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
159
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
160 #define CONVERT_TO_XRECT(xr,nr) \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
161 ((xr).x = (nr).left, \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
162 (xr).y = (nr).top, \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
163 (xr).width = ((nr).right - (nr).left), \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
164 (xr).height = ((nr).bottom - (nr).top))
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
165
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
166 #define CONVERT_FROM_XRECT(xr,nr) \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
167 ((nr).left = (xr).x, \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
168 (nr).top = (xr).y, \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
169 (nr).right = ((xr).x + (xr).width), \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
170 (nr).bottom = ((xr).y + (xr).height))
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
171
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
172 #define STORE_NATIVE_RECT(nr,x,y,width,height) \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
173 ((nr).left = (x), \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
174 (nr).top = (y), \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
175 (nr).right = ((nr).left + (width)), \
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
176 (nr).bottom = ((nr).top + (height)))
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
177
c2c4c37724f1 (No_Cursor): Define as 0 for W32.
Kim F. Storm <storm@cua.dk>
parents: 50162
diff changeset
178
29605
beb7f126f175 (EMACS_W32GUI_H): Renamed from __W32GUI_H__
Jason Rumney <jasonr@gnu.org>
parents: 29318
diff changeset
179 #endif /* EMACS_W32GUI_H */
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50363
diff changeset
180
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50363
diff changeset
181 /* arch-tag: 9172e5fb-45a5-4684-afd9-ca0e81324604
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 50363
diff changeset
182 (do not change this comment) */