GTK+ Pixmap kopieren (gelöst)
-
Hallo, wahrscheinlich eine einfache Frage, aber ich hab da keine Info gefunden
wie kann ich einfach eine Pixmap (der Inhalt) zu einer anderen Pixmap kopieren. Ich möchte die zweite Pixmap als Buffer verwenden die eine unverändertes Bild enthält welche dann in die angezeigte Pixmap geplottet wird, diese wird wiederum durch das Programm verändert. Ist die Veränderung OK wird dann auch die erste Pixmap geändert.
Gruß HansimGlück
-
Naja, Objekte musste ich bis jetzt noch nicht kopieren, aber vielleicht funktioniert das:
GdkPixmap *pixmap_new = g_memdup (pixmap_old, sizeof (GdkPixmap));
Oder in "reinem" C:
GdkPixmap *pixmap_new = malloc (sizeof (GdkPixmap)); memcpy (pixmap_new, pixmap_old, sizeof (GdkPixmap));
-
Hallo, ich hab das etwas umgewandelt. Also ich hab das hier probiert:
pixmapbuffer = gdk_pixmap_new (widget->window, win_x, win_y, -1); pixmap = gdk_pixmap_new (widget->window, win_x, win_y, -1); gdk_draw_rectangle (pixmapbuffer, widget->style->white_gc, TRUE, 0, 0, win_x, win_y); memcpy (pixmap, pixmapbuffer, sizeof (GdkPixmap));
und habe pixmap angezeigt. Es ist aber ein leerer schwarzer Schirm. Gehofft habe ich allerding, das beide dann zumindest weis sind.
Was mach ich falsch?
Gruß HansimGlück
-
Hallo,
ich hab es nun selbst gelöst, also, damit es dann auch andere wissen, es wird einfach der Befehl gdk_draw_drawable verwendet.
Beispiel:
gdk_draw_drawable (pixmap,MeinGC,pixmapbuffer,0,0,0,0,-1,-1);
Kopiert pixmapbuffer nach pixmap von Position 0,0 auf 0,0 in der Größe -1,-1 (alles).
Gruß HansimGlück