void layer_manager::add_layer(const QString& name, const QPixmap& pixmap) { auto layer = new layer_image; layer->set_layer_name(name); layer->set_pixmap(pixmap); layout_->addWidget(layer); updateGeometry(); update(); }
/*ARGSUSED*/ static void Initialize(Widget rq, Widget ebw, ArgList args, Cardinal *n) { XmEnhancedButtonWidget request = (XmEnhancedButtonWidget)rq; XmEnhancedButtonWidget eb = (XmEnhancedButtonWidget)ebw; XtWidgetProc resize; XtProcessLock(); resize = xmLabelClassRec.core_class.resize; XtProcessUnlock(); /* Create a bitmap for stippling (Drawable resources are cheap). */ if (STIPPLE_BITMAP == None) { Display *dpy = XtDisplay((Widget) request); Window rootW = DefaultRootWindow(dpy); STIPPLE_BITMAP = XCreateBitmapFromData(dpy, rootW, stipple_bits, stipple_width, stipple_height); } eb->enhancedbutton.doing_setvalues = False; /* First see what type of extended label this is. */ if (eb->enhancedbutton.pixmap_data) { XmString str; set_pixmap(eb); /* FIXME: this is not the perfect way to deal with menues, which do not * have any string set right now. */ str = XmStringCreateLocalized(""); XtVaSetValues((Widget) eb, XmNlabelString, str, NULL); XmStringFree(str); } eb->label.pixmap = eb->enhancedbutton.normal_pixmap; if (request->core.width == 0) eb->core.width = 0; if (request->core.height == 0) eb->core.height = 0; set_size(eb); (* resize)((Widget)eb); }
static void update_pixmap (MetaSurfaceActorX11 *self) { MetaSurfaceActorX11Private *priv = meta_surface_actor_x11_get_instance_private (self); MetaDisplay *display = priv->display; Display *xdisplay = meta_display_get_xdisplay (display); if (priv->size_changed) { detach_pixmap (self); priv->size_changed = FALSE; } if (priv->pixmap == None) { Pixmap new_pixmap; Window xwindow = meta_window_x11_get_toplevel_xwindow (priv->window); meta_error_trap_push (display); new_pixmap = XCompositeNameWindowPixmap (xdisplay, xwindow); if (meta_error_trap_pop_with_return (display) != Success) { /* Probably a BadMatch if the window isn't viewable; we could * GrabServer/GetWindowAttributes/NameWindowPixmap/UngrabServer/Sync * to avoid this, but there's no reason to take two round trips * when one will do. (We need that Sync if we want to handle failures * for any reason other than !viewable. That's unlikely, but maybe * we'll BadAlloc or something.) */ new_pixmap = None; } if (new_pixmap == None) { meta_verbose ("Unable to get named pixmap for %s\n", meta_window_get_description (priv->window)); return; } set_pixmap (self, new_pixmap); } }