Menu::Menu(const char* url) : mWebView(0) , mPosX(0) , mPosY(0) , mWidth(0) , mHeight(0) , mViewLoaded(false) , mURL(url) , mVertexBuffer(0) , mStateBlock(0) , mFrameCount(0) { static bool sbWebCoreInitilized = false; // Initialize once the Awesomium web core if ( !sbWebCoreInitilized ) { // TODO: Move Awesomium to a separate core awe_webcore_initialize( true, true, false, awe_string_empty(), awe_string_empty(), awe_string_empty(), awe_string_empty(), awe_string_empty(), AWE_LL_NORMAL, false, awe_string_empty(), true, awe_string_empty(), awe_string_empty(), awe_string_empty(), awe_string_empty(), awe_string_empty(), awe_string_empty(), false, 0, false, false, awe_string_empty() ); awe_webcore_set_base_directory( AweString("Menus/") ); sbWebCoreInitilized = true; } // Get the screen dimension const VCNPoint& screenRes = VCNRenderCore::GetInstance()->GetResolution(); mWidth = screenRes.x; mHeight = screenRes.y; VCN_ASSERT(mWidth != 0 && mHeight != 0); // Create the web view mWebView = awe_webcore_create_webview(mWidth, mHeight, false); ASSERT(mWebView && "Failed to create web view"); // Map this view to recover in callbacks. sViewMap[mWebView] = this; // Load initial view awe_webview_load_file( mWebView, AweString(mURL.c_str()), awe_string_empty() ); awe_webview_set_callback_js_callback( mWebView, OnCallbackHandler ); awe_webview_set_callback_finish_loading( mWebView, OnFinishLoadingHandler ); // Preserve transparency (for the HUD) awe_webview_set_transparent(mWebView, true); // Always create a Native object to call native functions from javascript. awe_webview_create_object( mWebView, AweString("Native") ); CreateTexture(); CreateStateBlock(); CreateVertexBuffer(); }
void WebRender::setupWebcore(){ awe_webcore_initialize_default(); webView = awe_webcore_create_webview(WEB_WIDTH, WEB_HEIGHT, false); //awe_webview* webView = awe_webcore_create_webview(WIDTH, HEIGHT, false); awe_string* url_str = awe_string_create_from_ascii(URL, strlen(URL)); awe_webview_load_url(webView, url_str, awe_string_empty(), awe_string_empty(), awe_string_empty()); // Wait for or WebView to finish loading while(awe_webview_is_loading_page(webView)) { awe_webcore_update(); } renderBuffer = awe_webview_render(webView); pixelBuffer = new unsigned char [WEB_WIDTH*WEB_HEIGHT*4]; rightPixelBuffer = new unsigned char [WEB_WIDTH*WEB_HEIGHT*3]; texColor.allocate(WEB_WIDTH,WEB_HEIGHT,GL_RGB); //for render the GUI webWidth_l = 605;//602; // try to grab at this size. webHeight_l = 430;//451; webWidth_s = 200; webHeight_s = 150; bgSmall.loadImage("images/smallerViewer.png"); bgBig.loadImage("images/biggerViewer.png"); zoomIn=false; close=false; bgX_small=0; bgY_small=0; bgX_small_current=0; bgY_small_current=0; bgX_large=0; bgY_large=0; }
void Awesomium::initializeTransparentWebview(int width, int height) { webView = awe_webcore_create_webview(width, height, false); awe_webview_set_transparent(webView, true); add_logA("Awesomium: Webview created"); }