gtk.h mit Xlib.h kombinieren

Gast #4298374
Lesenswert?
• ▲
▼
Wie ist es möglich ein Fenster mit einem Button mit Hilfe der gtk.h zu 
erstellen, in dem dann mit der xlib.h auch noch eine Linie gezeichnet 
werden soll. Mir ist nicht klar wie die Fenster-ID von gtk.h an xlib.h 
übergeben werden kann? Mir ist auch bewusst, dass gtk eine DrawingArea
anbietet in die mit cairo gezeichnet werden kann, allerdings wünsche ich 
mir explizit die Zeichenarbeit mit Xlib.h zu erledigen...
Danke für alle konstruktiven Antworten
Gast #4298441
Lesenswert?
• ▲
▼
gdk_x11_drawable_get_xid()
http://developer.gimp.org/api/2.0/gdk/gdk-X-Window-System-Interaction.html


Beachte: GTK+ will eigentlich X11-Unabhängig sein/werden, also auch 
unter Wayland/MIR/Windows/... laufen.
Solche X11-Spezifischen Sachen unterlaufen das.

Ohne triftigen Grund sollte man sowas nicht machen.

Ach ja: "ich habe die Linien-Zeichen-Funktion in der GTK-Doku nicht 
gefunden" ist kein triftiger Grund.
Gast #4298444
Lesenswert?
• ▲
▼
Franz schrieb:
> Mir ist auch bewusst, dass gtk eine DrawingArea
> anbietet in die mit cairo gezeichnet werden kann, allerdings wünsche ich
> mir explizit die Zeichenarbeit mit Xlib.h zu erledigen...

Dazu brauchts doch kein Cairo. 
http://www.gtk.org/api/2.6/gdk/gdk-Drawing-Primitives.html
Ich habe hier noch das X-Lib Programming Manual stehen. Angeschafft vor 
ca. 20 Jahren. Nicht mehr angerührt seit ca. 15 Jahren...
#4299039
Lesenswert?
• ▲
▼
Mal davon abgesehen, dass eine Linie sicher kein Effizienzproblem beim 
Durchreichen durch GTK ausmacht, gibt es natürlich Funktionen, an die 
darunterliegenden X11-IDs zu kommen.

gtk2: GDK_WINDOW_XWINDOW und GDK_WINDOW_XDISPLAY  aus gdkx.h
gtk3: GDK_WINDOW_XID und GDK_WINDOW_XDISPLAY aus x11/gdkx11window.h und 
x11/gdkx11display.h

Aber wie schon von anderen gesagt, eigentlich braucht man sowas nicht 
(mehr).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren