diff --git a/uppdev/GtkApp/GtkApp.cpp b/uppdev/GtkApp/GtkApp.cpp new file mode 100644 index 000000000..74e614aaf --- /dev/null +++ b/uppdev/GtkApp/GtkApp.cpp @@ -0,0 +1,8 @@ +#include + +using namespace Upp; + +CONSOLE_APP_MAIN +{ + +} diff --git a/uppdev/GtkApp/GtkApp.upp b/uppdev/GtkApp/GtkApp.upp new file mode 100644 index 000000000..62af0dab3 --- /dev/null +++ b/uppdev/GtkApp/GtkApp.upp @@ -0,0 +1,10 @@ +uses + CtrlLib; + +file + main.cpp; + +mainconfig + "" = "GUI SSE2", + "" = "GUI MT SSE2"; + diff --git a/uppdev/GtkApp/init b/uppdev/GtkApp/init new file mode 100644 index 000000000..95333e601 --- /dev/null +++ b/uppdev/GtkApp/init @@ -0,0 +1,4 @@ +#ifndef _GtkApp_icpp_init_stub +#define _GtkApp_icpp_init_stub +#include "CtrlLib/init" +#endif diff --git a/uppdev/GtkApp/main.cpp b/uppdev/GtkApp/main.cpp new file mode 100644 index 000000000..b912e0fe9 --- /dev/null +++ b/uppdev/GtkApp/main.cpp @@ -0,0 +1,42 @@ +#include + +using namespace Upp; + +#include + + + +static gboolean on_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer data) +{ + cairo_t *cr; + + cr = gdk_cairo_create(widget->window); + + cairo_move_to(cr, 30, 30); + cairo_show_text(cr, "Hello world!"); + + cairo_destroy(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; +} diff --git a/uppdev/Lang/init b/uppdev/Lang/init new file mode 100644 index 000000000..959c0d8db --- /dev/null +++ b/uppdev/Lang/init @@ -0,0 +1,4 @@ +#ifndef _Lang_icpp_init_stub +#define _Lang_icpp_init_stub +#include "CtrlLib/init" +#endif