mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-06-01 22:03:40 -06:00
45 lines
1 KiB
C++
45 lines
1 KiB
C++
#include "GtkApp.h"
|
|
|
|
static gboolean on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data)
|
|
{
|
|
GtkDraw w;
|
|
w.cr = gdk_cairo_create(widget->window);
|
|
|
|
w.DrawRect(0, 0, 100, 100, LtBlue());
|
|
|
|
w.Clipoff(50, 50, 30, 30);
|
|
w.DrawImage(0, 0, CtrlImg::exclamation());
|
|
w.End();
|
|
|
|
w.DrawImage(50, 50 + 32, CtrlImg::exclamation(), Rect(24, 24, 10, 10));
|
|
|
|
w.DrawImage(150, 50, CtrlImg::exclamation(), Red());
|
|
w.DrawImage(150, 50 + 32, CtrlImg::exclamation(), Rect(24, 24, 10, 10), Red());
|
|
|
|
w.DrawText(0, 0, "Hello GTK!", Roman(30));
|
|
|
|
cairo_destroy(w.cr);
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
int main( int argc, char *argv[])
|
|
{
|
|
GtkWidget *window;
|
|
|
|
gtk_init(&argc, &argv);
|
|
|
|
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
|
|
|
GtkWidget *darea = gtk_drawing_area_new();
|
|
gtk_container_add(GTK_CONTAINER (window), darea);
|
|
|
|
g_signal_connect(darea, "expose-event", G_CALLBACK(on_expose_event), NULL);
|
|
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
|
|
|
|
gtk_widget_show_all(window);
|
|
|
|
gtk_main();
|
|
|
|
return 0;
|
|
}
|