ultimatepp/uppdev/GtkApp/main.cpp
cxl be9f7a5349 .uppdev
git-svn-id: svn://ultimatepp.org/upp/trunk@5522 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2012-11-05 19:59:03 +00:00

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;
}