void *GtkMain(void * argument) { printf("%s:%d\n", __func__, __LINE__); int argc = 0; char**argv = NULL; unsigned char haveUrl = 0; int argCount = 0; gtk_init (&argc, &argv); if (!g_thread_supported ()) g_thread_init (NULL); GtkWidget* fixed = gtk_fixed_new(); //screen_changed(fixed, NULL, NULL); g_vbox = gtk_vbox_new (FALSE, 0); gtk_box_pack_start (GTK_BOX (g_vbox), create_toolbar (), FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (g_vbox), GTK_WIDGET (create_browser ()), TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (g_vbox), create_statusbar (), FALSE, FALSE, 0); g_window = create_window (); gtk_fixed_put(GTK_FIXED(fixed), g_vbox, 0, 0); gtk_widget_set_size_request(g_vbox, g_framebuffer_width, g_framebuffer_height); GtkWidget* statusLabel = gtk_label_new ("Status"); gtk_fixed_put(GTK_FIXED(fixed), statusLabel, g_framebuffer_width - 200, 0); gtk_widget_set_size_request(statusLabel, 200, 100); gtk_container_add (GTK_CONTAINER (g_window), fixed); webkit_web_view_load_uri (g_web_view, g_url); gtk_widget_grab_focus (GTK_WIDGET (g_web_view)); gtk_widget_show_all (g_window); toogleMode(); g_default_scale = g_framebuffer_width / 1280.0f; handleZoomLock(0); g_Callback(1); gtk_main (); return NULL; }
void setCallback(int (*fnc)(int type)) { g_Callback = fnc; g_Callback(0); }
static void handle_repaint(GdkFrameClock *clock, void *data) { g_Callback(COGL_ONSCREEN(g_Framebuffer), g_CallbackData); }