Ich habe ein Programm, das eine Animation mit einer festen Bildrate (sagen wir 30 fps) in einem Fenster anzeigt.Wie schreibe ich direkt in den Anzeigepuffer in GTK/GDK
Derzeit verwende ich SDL, aber leider fehlt es Desktop-Integration (wie Drag & Drop) und jetzt möchte ich stattdessen GTK verwenden.
so, was ich tun möchte (vorausgesetzt, die Fenster doppelt gepuffert):
1 obtain off-screen buffer
2 render my stuff to buffer
3 tell the toolkit to swap buffers
4 update window
5 repeat
Ich möchte nicht, außer alle Funktionen verwenden sehr einfach GDK/GTK ruft das Fenster zu erstellen und verwalten und empfangen Eingabe Ereignisse.
In der FAQ schlagen sie vor, GdkRGB zu verwenden. In der offiziellen Dokumentation für GdkRGB verwenden sie jedoch die gdk_draw_rgb_image()
Funktion, die veraltet ist, tatsächlich sind die meisten GdkRGB Funktionen.
Als Alternative schlagen sie vor, OpenGL zu verwenden. Das Problem damit ist, dass es einige unübliche Bibliotheken wie GtkGLArea benötigt, die nicht Teil von GTK sind (ich möchte nicht von irgendwelchen Bibliotheken abhängig sein, die nicht standardmäßig installiert sind). Auch auf meinem System ist die OpenGL-Unterstützung des Treibers begrenzt.
Ich habe in Kairo (die als Alternative für einige veraltete Funktionen angeboten wird) geschaut, aber das würde noch mehr Vorabcode hinzufügen (und ich vermute zusätzlichen Overhead) für mein relativ einfaches Problem.
Ich vermute, GTK ohne zusätzliche Bibliotheken ist nicht das richtige Werkzeug für den Job. Es ist ein Toolkit für die Benutzeroberfläche, kein Zeichenwerkzeug. – ptomato