aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/xwidget.c21
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);