Mercurial > hg > xemacs-beta
comparison src/frame-msw.c @ 384:bbff43aa5eb7 r21-2-7
Import from CVS: tag r21-2-7
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:08:24 +0200 |
parents | 064ab7fed2e0 |
children | aabb7f5b1c81 |
comparison
equal
deleted
inserted
replaced
383:6a50c6a581a5 | 384:bbff43aa5eb7 |
---|---|
31 | 31 |
32 #include <config.h> | 32 #include <config.h> |
33 #include "lisp.h" | 33 #include "lisp.h" |
34 | 34 |
35 #include "buffer.h" | 35 #include "buffer.h" |
36 #include "elhash.h" | |
36 #include "console-msw.h" | 37 #include "console-msw.h" |
37 #include "glyphs-msw.h" | 38 #include "glyphs-msw.h" |
38 #include "elhash.h" | 39 #include "elhash.h" |
39 #include "events.h" | 40 #include "events.h" |
40 #include "faces.h" | 41 #include "faces.h" |
127 FRAME_MSWINDOWS_DATA(f)->ignore_next_lbutton_up = 0; | 128 FRAME_MSWINDOWS_DATA(f)->ignore_next_lbutton_up = 0; |
128 FRAME_MSWINDOWS_DATA(f)->ignore_next_rbutton_up = 0; | 129 FRAME_MSWINDOWS_DATA(f)->ignore_next_rbutton_up = 0; |
129 FRAME_MSWINDOWS_DATA(f)->sizing = 0; | 130 FRAME_MSWINDOWS_DATA(f)->sizing = 0; |
130 FRAME_MSWINDOWS_MENU_HASH_TABLE(f) = Qnil; | 131 FRAME_MSWINDOWS_MENU_HASH_TABLE(f) = Qnil; |
131 #ifdef HAVE_TOOLBARS | 132 #ifdef HAVE_TOOLBARS |
132 FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE(f) = | 133 FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE(f) = |
133 make_lisp_hash_table (50, HASH_TABLE_NON_WEAK, HASH_TABLE_EQUAL); | 134 make_lisp_hash_table (50, HASH_TABLE_NON_WEAK, HASH_TABLE_EQUAL); |
134 #endif | 135 #endif |
135 | 136 /* hashtable of instantiated glyphs on the frame. */ |
137 FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f) = | |
138 make_lisp_hash_table (50, HASH_TABLE_VALUE_WEAK, HASH_TABLE_EQUAL); | |
136 /* Will initialize these in WM_SIZE handler. We cannot do it now, | 139 /* Will initialize these in WM_SIZE handler. We cannot do it now, |
137 because we do not know what is CW_USEDEFAULT height and width */ | 140 because we do not know what is CW_USEDEFAULT height and width */ |
138 FRAME_WIDTH (f) = 0; | 141 FRAME_WIDTH (f) = 0; |
139 FRAME_HEIGHT (f) = 0; | 142 FRAME_HEIGHT (f) = 0; |
140 FRAME_PIXWIDTH (f) = 0; | 143 FRAME_PIXWIDTH (f) = 0; |
247 { | 250 { |
248 markobj (FRAME_MSWINDOWS_MENU_HASH_TABLE (f)); | 251 markobj (FRAME_MSWINDOWS_MENU_HASH_TABLE (f)); |
249 #ifdef HAVE_TOOLBARS | 252 #ifdef HAVE_TOOLBARS |
250 markobj (FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE (f)); | 253 markobj (FRAME_MSWINDOWS_TOOLBAR_HASH_TABLE (f)); |
251 #endif | 254 #endif |
255 markobj (FRAME_MSWINDOWS_WIDGET_HASH_TABLE (f)); | |
252 } | 256 } |
253 | 257 |
254 static void | 258 static void |
255 mswindows_focus_on_frame (struct frame *f) | 259 mswindows_focus_on_frame (struct frame *f) |
256 { | 260 { |
392 if (IMAGE_INSTANCEP (f->pointer) | 396 if (IMAGE_INSTANCEP (f->pointer) |
393 && IMAGE_INSTANCE_TYPE (XIMAGE_INSTANCE (f->pointer)) == IMAGE_POINTER) | 397 && IMAGE_INSTANCE_TYPE (XIMAGE_INSTANCE (f->pointer)) == IMAGE_POINTER) |
394 { | 398 { |
395 SetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HCURSOR, | 399 SetClassLong (FRAME_MSWINDOWS_HANDLE (f), GCL_HCURSOR, |
396 (LONG) XIMAGE_INSTANCE_MSWINDOWS_ICON (f->pointer)); | 400 (LONG) XIMAGE_INSTANCE_MSWINDOWS_ICON (f->pointer)); |
401 /* we only have to do this because GC doesn't cause a mouse | |
402 event and doesn't give time to event processing even if it | |
403 did. */ | |
404 SetCursor (XIMAGE_INSTANCE_MSWINDOWS_ICON (f->pointer)); | |
397 } | 405 } |
398 } | 406 } |
399 | 407 |
400 static void | 408 static void |
401 mswindows_set_mouse_position (struct window *w, int x, int y) | 409 mswindows_set_mouse_position (struct window *w, int x, int y) |