comparison src/console-msw.h @ 269:b2472a1930f2 r20-5b33

Import from CVS: tag r20-5b33
author cvs
date Mon, 13 Aug 2007 10:27:19 +0200
parents 966663fcf606
children c5d627a313b1
comparison
equal deleted inserted replaced
268:6ced69ccd85f 269:b2472a1930f2
109 HWND hwnd; 109 HWND hwnd;
110 110
111 /* DC for this win32 window */ 111 /* DC for this win32 window */
112 HDC hdc; 112 HDC hdc;
113 113
114 /* compatibke DC for bitmap operations */
115 HDC cdc;
116
114 /* Time of last click event, for button 2 emul */ 117 /* Time of last click event, for button 2 emul */
115 DWORD last_click_time; 118 DWORD last_click_time;
116 119
117 /* Coordinates of last click event, screen-relative */ 120 /* Coordinates of last click event, screen-relative */
118 POINTS last_click_point; 121 POINTS last_click_point;
120 /* Menu hashtable. See menubar-msw.c */ 123 /* Menu hashtable. See menubar-msw.c */
121 Lisp_Object menu_hashtable; 124 Lisp_Object menu_hashtable;
122 125
123 /* Menu checksum. See menubar-msw.c */ 126 /* Menu checksum. See menubar-msw.c */
124 unsigned int menu_checksum; 127 unsigned int menu_checksum;
128
129 /* Real character width and height of the frame.
130 FRAME_{HEIGHT,WIDTH} do not work for pixel geometry! */
131 int charheight, charwidth;
125 132
126 /* Misc flags */ 133 /* Misc flags */
127 int button2_need_lbutton : 1; 134 int button2_need_lbutton : 1;
128 int button2_need_rbutton : 1; 135 int button2_need_rbutton : 1;
129 int button2_is_down : 1; 136 int button2_is_down : 1;
136 143
137 #define FRAME_MSWINDOWS_HANDLE(f) (FRAME_MSWINDOWS_DATA (f)->hwnd) 144 #define FRAME_MSWINDOWS_HANDLE(f) (FRAME_MSWINDOWS_DATA (f)->hwnd)
138 #define FRAME_MSWINDOWS_DC(f) (FRAME_MSWINDOWS_DATA (f)->hdc) 145 #define FRAME_MSWINDOWS_DC(f) (FRAME_MSWINDOWS_DATA (f)->hdc)
139 #define FRAME_MSWINDOWS_MENU_HASHTABLE(f) (FRAME_MSWINDOWS_DATA (f)->menu_hashtable) 146 #define FRAME_MSWINDOWS_MENU_HASHTABLE(f) (FRAME_MSWINDOWS_DATA (f)->menu_hashtable)
140 #define FRAME_MSWINDOWS_MENU_CHECKSUM(f) (FRAME_MSWINDOWS_DATA (f)->menu_checksum) 147 #define FRAME_MSWINDOWS_MENU_CHECKSUM(f) (FRAME_MSWINDOWS_DATA (f)->menu_checksum)
148 #define MSWINDOWS_FRAME_CHARWIDTH(f) (FRAME_MSWINDOWS_DATA (f)->charwidth)
149 #define MSWINDOWS_FRAME_CHARHEIGHT(f) (FRAME_MSWINDOWS_DATA (f)->charheight)
150
151 /* Frame check and validation macros */
152 #define FRAME_MSWINDOWS_P(frm) CONSOLE_TYPESYM_MSWINDOWS_P (FRAME_TYPE (frm))
153 #define CHECK_MSWINDOWS_FRAME(z) CHECK_FRAME_TYPE (z, mswindows)
154 #define CONCHECK_MSWINDOWS_FRAME(z) CONCHECK_FRAME_TYPE (z, mswindows)
141 155
142 /* win32 window LONG indices */ 156 /* win32 window LONG indices */
143 #define XWL_FRAMEOBJ 0 157 #define XWL_FRAMEOBJ 0
144 #define XWL_COUNT 1 /* Number of LONGs that we use */ 158 #define XWL_COUNT 1 /* Number of LONGs that we use */
145 #define MSWINDOWS_WINDOW_EXTRA_BYTES (XWL_COUNT*4) 159 #define MSWINDOWS_WINDOW_EXTRA_BYTES (XWL_COUNT*4)
180 194
181 void mswindows_enqueue_dispatch_event (Lisp_Object event); 195 void mswindows_enqueue_dispatch_event (Lisp_Object event);
182 void mswindows_enqueue_magic_event (HWND hwnd, UINT message); 196 void mswindows_enqueue_magic_event (HWND hwnd, UINT message);
183 Lisp_Object mswindows_cancel_dispatch_event (struct Lisp_Event* event); 197 Lisp_Object mswindows_cancel_dispatch_event (struct Lisp_Event* event);
184 Lisp_Object mswindows_pump_outstanding_events (void); 198 Lisp_Object mswindows_pump_outstanding_events (void);
199 Lisp_Object mswindows_protect_modal_loop (Lisp_Object (*bfun) (Lisp_Object barg),
200 Lisp_Object barg);
201 void mswindows_unmodalize_signal_maybe (void);
202
203 /* #### This wants to go to lisp.h */
204 typedef struct
205 {
206 int left;
207 int top;
208 int width;
209 int height;
210 } XEMACS_RECT_WH;
211
212 extern XEMACS_RECT_WH mswindows_frame_target_rect;
213 extern Lisp_Object mswindows_frame_being_created;
185 214
186 #endif /* _XEMACS_CONSOLE_MSW_H_ */ 215 #endif /* _XEMACS_CONSOLE_MSW_H_ */