int main (int argc, char *argv[]) { LiteLabel *label; LiteTextLine *textline; DFBRectangle rect; DFBResult res; /* initialize */ if (lite_open( &argc, &argv )) return 1; /* create a window */ rect.x = LITE_CENTER_HORIZONTALLY; rect.y = LITE_CENTER_VERTICALLY, rect.w = 300; rect.h = 40; res = lite_new_window( NULL, &rect, DWCAPS_ALPHACHANNEL, liteDefaultWindowTheme, "Run program...", &window ); /* setup the label */ rect.x = 10; rect.y = 12; rect.w = 60; res = lite_new_label(LITE_BOX(window), &rect, liteNoLabelTheme, 14, &label ); lite_set_label_text( label, "Program" ); /* setup the textline */ rect.x = 70; rect.y = 9; rect.w = 220; rect.h = 22; res = lite_new_textline(LITE_BOX(window), &rect, liteNoTextLineTheme, &textline); lite_on_textline_enter( textline, on_enter, NULL ); lite_on_textline_abort( textline, on_abort, NULL ); lite_focus_box( LITE_BOX(textline) ); /* show the window */ lite_set_window_opacity( window, liteFullWindowOpacity ); window->window->RequestFocus( window->window ); /* run the default event loop */ lite_window_event_loop( window, 0 ); /* destroy the window with all this children and resources */ lite_destroy_window( window ); /* deinitialize */ lite_close(); return 0; }
void *BrowserMain(void * argument) { printf("%s:%d\n", __func__, __LINE__); int argc = 0; char**argv = NULL; pthread_mutex_init (&mutex, NULL); g_type_init(); g_thread_init(NULL); lite_open( &argc, &argv ); WebKitDFB_Initialize( lite_get_dfb_interface() ); IDirectFBDisplayLayer *layer; DFBDisplayLayerConfig config; lite_get_layer_interface( &layer ); layer->GetConfiguration( layer, &config ); DFBRectangle windowRect = { 0, 0, config.width, config.height }; DFBRectangle webviewRect = { 0, 0, config.width, config.height }; lite_new_window( NULL, &windowRect, DWCAPS_NONE, liteNoWindowTheme, "WebKitDFB", &g_window ); lite_new_webview( LITE_BOX(g_window), &webviewRect, liteDefaultWebViewTheme, &g_webview); lite_on_webview_doc_loaded ( g_webview, on_webview_doc_loaded, NULL ); lite_on_raw_window_keyboard(g_window, on_key_press, g_webview ); lite_focus_box( LITE_BOX(g_webview) ); lite_set_window_opacity(g_window, 0xff); g_window->bg.enabled = DFB_FALSE; //lite_set_window_background_color(g_window, 0xff, 0, 0, 0xff); registerJsFunctions(g_webview, g_Callback); lite_webview_load(g_webview, g_url); lite_webview_set_transparent(g_webview, true); // FAKE KEY INTERFACE //IDirectFB *dfb; //dfb = lite_get_dfb_interface(); //IDirectFBDisplayLayer *layer = NULL; //dfb->GetDisplayLayer(dfb, DLID_PRIMARY, &layer); layer->GetWindow(layer, 1, &g_dfb_window); lite_enqueue_window_timeout(200, timeout_cb, NULL, &timer_id); g_run = 1; while (g_run) { pthread_mutex_lock(&mutex); g_main_context_iteration(NULL, FALSE); lite_window_event_loop(g_window, 1); pthread_mutex_unlock(&mutex); } lite_close(); return NULL; }