diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xwidget.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/xwidget.c b/src/xwidget.c index 3047a400cb9..547c899b299 100644 --- a/src/xwidget.c +++ b/src/xwidget.c | |||
| @@ -269,7 +269,7 @@ xwidget_composite_draw_widgetwindow(GtkWidget *widget, | |||
| 269 | pixmap=xw->widget->window; | 269 | pixmap=xw->widget->window; |
| 270 | printf("xwidget_composite_draw_widgetwindow xw.id:%d xw.type:%d window:%d\n", xw->id,xw->type, gtk_widget_get_window (widget)); | 270 | printf("xwidget_composite_draw_widgetwindow xw.id:%d xw.type:%d window:%d\n", xw->id,xw->type, gtk_widget_get_window (widget)); |
| 271 | //if(xw->type!=3)//TODO this is just trial and terror to see if i can draw the live socket anywhere at all | 271 | //if(xw->type!=3)//TODO this is just trial and terror to see if i can draw the live socket anywhere at all |
| 272 | cr = gdk_cairo_create (gtk_widget_get_window (widget)); | 272 | cr = gdk_cairo_create (gtk_widget_get_window (widget));//GTK_LAYOUT (xw->widgetwindow)->bin_window);// |
| 273 | //else cr = gdk_cairo_create (gtk_widget_get_window (xw->emacswindow)); | 273 | //else cr = gdk_cairo_create (gtk_widget_get_window (xw->emacswindow)); |
| 274 | cairo_rectangle(cr, 0,0, xw->width, xw->height); | 274 | cairo_rectangle(cr, 0,0, xw->width, xw->height); |
| 275 | cairo_clip(cr); | 275 | cairo_clip(cr); |
| @@ -325,13 +325,15 @@ xwidget_init (struct xwidget *xw, struct glyph_string *s, int x, int y) | |||
| 325 | //later, drawing should crop container window if necessary to handle case where xwidget | 325 | //later, drawing should crop container window if necessary to handle case where xwidget |
| 326 | //is partially obscured by other emacs windows | 326 | //is partially obscured by other emacs windows |
| 327 | xw->emacswindow = GTK_CONTAINER (s->f->gwfixed); | 327 | xw->emacswindow = GTK_CONTAINER (s->f->gwfixed); |
| 328 | xw->widgetwindow = GTK_CONTAINER (gtk_layout_new (NULL, NULL)); | 328 | //xw->widgetwindow = GTK_CONTAINER (gtk_layout_new (NULL, NULL)); |
| 329 | gtk_layout_set_size (GTK_LAYOUT (xw->widgetwindow), xw->width, xw->height); | 329 | xw->widgetwindow = GTK_CONTAINER (gtk_offscreen_window_new ()); |
| 330 | //xw->widgetwindow = GTK_CONTAINER (gtk_fixed_new ()); | ||
| 331 | //xw->widgetwindow = GTK_CONTAINER (gtk_event_box_new ()); | ||
| 332 | gtk_widget_set_size_request (GTK_WIDGET (xw->widget), xw->width, xw->height); | ||
| 333 | //gtk_layout_set_size (GTK_LAYOUT (xw->widgetwindow), xw->width, xw->height); | ||
| 330 | gtk_container_add (xw->widgetwindow, xw->widget); | 334 | gtk_container_add (xw->widgetwindow, xw->widget); |
| 331 | gtk_widget_set_size_request (GTK_WIDGET (xw->widget), xw->width, | 335 | gtk_widget_set_size_request (GTK_WIDGET (xw->widget), xw->width, xw->height); |
| 332 | xw->height); | 336 | //gtk_fixed_put (GTK_FIXED (s->f->gwfixed), GTK_WIDGET (xw->widgetwindow), x, y); |
| 333 | gtk_fixed_put (GTK_FIXED (s->f->gwfixed), GTK_WIDGET (xw->widgetwindow), | ||
| 334 | x, y); | ||
| 335 | gtk_widget_show_all (GTK_WIDGET (xw->widgetwindow)); | 337 | gtk_widget_show_all (GTK_WIDGET (xw->widgetwindow)); |
| 336 | 338 | ||
| 337 | //store some xwidget data in the gtk widgets | 339 | //store some xwidget data in the gtk widgets |
| @@ -341,8 +343,9 @@ xwidget_init (struct xwidget *xw, struct glyph_string *s, int x, int y) | |||
| 341 | 343 | ||
| 342 | //this seems to enable xcomposition. later we need to paint ourselves somehow, | 344 | //this seems to enable xcomposition. later we need to paint ourselves somehow, |
| 343 | //since the widget is no longer responsible for painting itself | 345 | //since the widget is no longer responsible for painting itself |
| 344 | if(xw->type!=3) //im having trouble with compositing and sockets. hmmm. | 346 | //if(xw->type!=3) //im having trouble with compositing and sockets. hmmm. |
| 345 | gdk_window_set_composited (xw->widget->window, TRUE); | 347 | //gdk_window_set_composited (xw->widget->window, TRUE); |
| 348 | //gdk_window_set_composited (GTK_LAYOUT (xw->widgetwindow)->bin_window, TRUE); | ||
| 346 | gtk_widget_set_double_buffered (xw->widget,FALSE); | 349 | gtk_widget_set_double_buffered (xw->widget,FALSE); |
| 347 | gtk_widget_set_double_buffered (xw->widgetwindow,FALSE); | 350 | gtk_widget_set_double_buffered (xw->widgetwindow,FALSE); |
| 348 | //gdk_window_set_composited (xw->widgetwindow, TRUE); | 351 | //gdk_window_set_composited (xw->widgetwindow, TRUE); |