So schreiben Sie direkt in den Anzeigepuffer in GTK / GDK

8

Ich habe ein Programm, das eine Animation mit einer festen Bildrate (sagen wir 30 fps) in einem Fenster anzeigt.

Momentan verwende ich SDL, aber leider fehlt die Desktop-Integration (wie Drag & amp; Drop) und jetzt möchte ich stattdessen GTK verwenden.

also was ich machen möchte (vorausgesetzt das Fenster ist doppelt gepuffert):

%Vor%

Ich möchte keine Funktionen außer sehr einfachen GDK / GTK-Aufrufen verwenden, um das Fenster zu erstellen und zu verwalten und Eingabeereignisse zu empfangen.

In den FAQ schlagen sie vor, GdkRGB zu verwenden. In der offiziellen Dokumentation für GdkRGB verwenden sie jedoch die Funktion gdk_draw_rgb_image() , 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). Außerdem ist auf meinem System die OpenGL-Unterstützung des Treibers ... eingeschränkt.

Ich habe nach Kairo geschaut (was als Alternative für einige veraltete Funktionen angeboten wird), aber das würde für meinen relativ einfachen Fehler sogar noch mehr Standardcode (und ich vermute zusätzlichen Overhead) hinzufügen.

    
maep 03.01.2011, 19:28
quelle

1 Antwort

4

Ich persönlich würde sagen, dass GdkRGB eine vernünftige Wahl für Sie ist. Es wurde entworfen, um einfach zu sein, und sein Umfang ist ziemlich genau, was Sie beschreiben. Die Verwendung von veraltetem Code ist riskant - es kann eine gute Wahl sein, wenn Sie etwas zum Laufen bringen wollen, aber wenn Sie möchten, dass Ihr Code wächst und in Zukunft beibehalten wird, sollten Sie sich die Alternativen ansehen.

Von diesen ist Kairo wahrscheinlich die beste Wahl. Es gibt nur ein wenig mehr Standard - Sie sollten sich Ссылка anschauen, das einige ziemlich kleine und leicht verständliche Beispiele enthält. Einer der potenziellen Vorteile von Kairo ist, dass es eher Hardware-beschleunigt wird.

[Haftungsausschluss: Ich bin der ursprüngliche Autor von GdkRGB. Es ist traurig, es jetzt veraltet zu sehen, aber ich nehme an, es hat seinen Zweck gut erfüllt]

    
Raph Levien 08.01.2011, 20:01
quelle

Tags und Links