308 |
#ifdef USE_GTK |
#ifdef USE_GTK |
309 |
if (f->output_data.x->edit_widget) |
if (f->output_data.x->edit_widget) |
310 |
{ |
{ |
311 |
GtkWidget *gwdesc = xg_win_to_widget (wdesc); |
GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); |
312 |
struct x_output *x = f->output_data.x; |
struct x_output *x = f->output_data.x; |
313 |
if (gwdesc != 0 && gwdesc == x->edit_widget) |
if (gwdesc != 0 && gwdesc == x->edit_widget) |
314 |
return f; |
return f; |
352 |
else if (x->widget) |
else if (x->widget) |
353 |
{ |
{ |
354 |
#ifdef USE_GTK |
#ifdef USE_GTK |
355 |
GtkWidget *gwdesc = xg_win_to_widget (wdesc); |
GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); |
356 |
if (gwdesc != 0 |
if (gwdesc != 0 |
357 |
&& (gwdesc == x->widget |
&& (gwdesc == x->widget |
358 |
|| gwdesc == x->edit_widget |
|| gwdesc == x->edit_widget |
404 |
else if (x->widget) |
else if (x->widget) |
405 |
{ |
{ |
406 |
#ifdef USE_GTK |
#ifdef USE_GTK |
407 |
GtkWidget *gwdesc = xg_win_to_widget (wdesc); |
GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); |
408 |
if (gwdesc != 0 |
if (gwdesc != 0 |
409 |
&& (gwdesc == x->widget |
&& (gwdesc == x->widget |
410 |
|| gwdesc == x->edit_widget |
|| gwdesc == x->edit_widget |
448 |
#ifdef USE_GTK |
#ifdef USE_GTK |
449 |
if (x->menubar_widget) |
if (x->menubar_widget) |
450 |
{ |
{ |
451 |
GtkWidget *gwdesc = xg_win_to_widget (wdesc); |
GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); |
452 |
int found = 0; |
int found = 0; |
453 |
|
|
454 |
BLOCK_INPUT; |
BLOCK_INPUT; |
494 |
{ |
{ |
495 |
/* This frame matches if the window is its topmost widget. */ |
/* This frame matches if the window is its topmost widget. */ |
496 |
#ifdef USE_GTK |
#ifdef USE_GTK |
497 |
GtkWidget *gwdesc = xg_win_to_widget (wdesc); |
GtkWidget *gwdesc = xg_win_to_widget (dpyinfo->display, wdesc); |
498 |
if (gwdesc == x->widget) |
if (gwdesc == x->widget) |
499 |
return f; |
return f; |
500 |
#else |
#else |
762 |
It's nicer with some borders in this context */ |
It's nicer with some borders in this context */ |
763 |
|
|
764 |
int |
int |
765 |
x_create_bitmap_mask(f, id) |
x_create_bitmap_mask (f, id) |
766 |
struct frame *f; |
struct frame *f; |
767 |
int id; |
int id; |
768 |
{ |
{ |
780 |
if (!(id > 0)) |
if (!(id > 0)) |
781 |
return -1; |
return -1; |
782 |
|
|
783 |
pixmap = x_bitmap_pixmap(f, id); |
pixmap = x_bitmap_pixmap (f, id); |
784 |
width = x_bitmap_width(f, id); |
width = x_bitmap_width (f, id); |
785 |
height = x_bitmap_height(f, id); |
height = x_bitmap_height (f, id); |
786 |
|
|
787 |
BLOCK_INPUT; |
BLOCK_INPUT; |
788 |
ximg = XGetImage (FRAME_X_DISPLAY (f), pixmap, 0, 0, width, height, |
ximg = XGetImage (FRAME_X_DISPLAY (f), pixmap, 0, 0, width, height, |
799 |
UNBLOCK_INPUT; |
UNBLOCK_INPUT; |
800 |
if (!result) |
if (!result) |
801 |
{ |
{ |
802 |
XDestroyImage(ximg); |
XDestroyImage (ximg); |
803 |
return -1; |
return -1; |
804 |
} |
} |
805 |
|
|
838 |
dpyinfo->bitmaps[id - 1].mask = mask; |
dpyinfo->bitmaps[id - 1].mask = mask; |
839 |
|
|
840 |
XDestroyImage (ximg); |
XDestroyImage (ximg); |
841 |
x_destroy_x_image(mask_img); |
x_destroy_x_image (mask_img); |
842 |
|
|
843 |
return 0; |
return 0; |
844 |
} |
} |
1106 |
may be any format that GdkPixbuf knows about, i.e. not just bitmaps. */ |
may be any format that GdkPixbuf knows about, i.e. not just bitmaps. */ |
1107 |
|
|
1108 |
int |
int |
1109 |
xg_set_icon(f, file) |
xg_set_icon (f, file) |
1110 |
FRAME_PTR f; |
FRAME_PTR f; |
1111 |
Lisp_Object file; |
Lisp_Object file; |
1112 |
{ |
{ |
2458 |
|
|
2459 |
xic = XCreateIC (xim, |
xic = XCreateIC (xim, |
2460 |
XNInputStyle, xic_style, |
XNInputStyle, xic_style, |
2461 |
XNClientWindow, FRAME_X_WINDOW(f), |
XNClientWindow, FRAME_X_WINDOW (f), |
2462 |
XNFocusWindow, FRAME_X_WINDOW(f), |
XNFocusWindow, FRAME_X_WINDOW (f), |
2463 |
XNStatusAttributes, status_attr, |
XNStatusAttributes, status_attr, |
2464 |
XNPreeditAttributes, preedit_attr, |
XNPreeditAttributes, preedit_attr, |
2465 |
NULL); |
NULL); |
2550 |
XFree (needed); |
XFree (needed); |
2551 |
|
|
2552 |
attr = XVaCreateNestedList (0, XNArea, &area, NULL); |
attr = XVaCreateNestedList (0, XNArea, &area, NULL); |
2553 |
XSetICValues(xic, XNStatusAttributes, attr, NULL); |
XSetICValues (xic, XNStatusAttributes, attr, NULL); |
2554 |
XFree (attr); |
XFree (attr); |
2555 |
} |
} |
2556 |
|
|
2793 |
{ |
{ |
2794 |
/* XIM server might require some X events. */ |
/* XIM server might require some X events. */ |
2795 |
unsigned long fevent = NoEventMask; |
unsigned long fevent = NoEventMask; |
2796 |
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
XGetICValues (FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
2797 |
attributes.event_mask |= fevent; |
attributes.event_mask |= fevent; |
2798 |
} |
} |
2799 |
#endif /* HAVE_X_I18N */ |
#endif /* HAVE_X_I18N */ |
2847 |
{ |
{ |
2848 |
/* XIM server might require some X events. */ |
/* XIM server might require some X events. */ |
2849 |
unsigned long fevent = NoEventMask; |
unsigned long fevent = NoEventMask; |
2850 |
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
XGetICValues (FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
2851 |
|
|
2852 |
if (fevent != NoEventMask) |
if (fevent != NoEventMask) |
2853 |
{ |
{ |
2911 |
{ |
{ |
2912 |
/* XIM server might require some X events. */ |
/* XIM server might require some X events. */ |
2913 |
unsigned long fevent = NoEventMask; |
unsigned long fevent = NoEventMask; |
2914 |
XGetICValues(FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
XGetICValues (FRAME_XIC (f), XNFilterEvents, &fevent, NULL); |
2915 |
attributes.event_mask |= fevent; |
attributes.event_mask |= fevent; |
2916 |
attribute_mask = CWEventMask; |
attribute_mask = CWEventMask; |
2917 |
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
XChangeWindowAttributes (FRAME_X_DISPLAY (f), FRAME_X_WINDOW (f), |
9166 |
memsrc.len = SBYTES (specified_data); |
memsrc.len = SBYTES (specified_data); |
9167 |
memsrc.index = 0; |
memsrc.index = 0; |
9168 |
|
|
9169 |
gif = DGifOpen(&memsrc, gif_read_from_memory); |
gif = DGifOpen (&memsrc, gif_read_from_memory); |
9170 |
if (!gif) |
if (!gif) |
9171 |
{ |
{ |
9172 |
image_error ("Cannot open memory source `%s'", img->spec, Qnil); |
image_error ("Cannot open memory source `%s'", img->spec, Qnil); |