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)