void Menu::Render() const { if ( !mViewLoaded) return; // Get the renderer VCNRenderCore* renderer = VCNRenderCore::GetInstance(); // Check if the web view image has been refreshed if ( awe_webview_is_dirty(mWebView) ) { const awe_renderbuffer* renderBuffer = awe_webview_render( mWebView ); // Texture should be same size as WebView VCNByte* textureBuffer; mTexture->Lock( &textureBuffer, TF_LOCK_DISCARD ); awe_renderbuffer_copy_to( renderBuffer, textureBuffer, awe_renderbuffer_get_rowspan(renderBuffer), 4, false, false); mTexture->Unlock(); } // Apply rendering state to draw the menu mStateBlock->Apply(); // Render the screen texture renderer->RenderScreenCache( mVertexBuffer->GetResourceID(), mTexture->GetResourceID() ); }
const unsigned int Menu::GetPixelValue(int x, int y) const { x = std::max(0, std::min(x, static_cast<int>(mWidth-1))); y = std::max(0, std::min(y, static_cast<int>(mHeight-1))); const awe_renderbuffer* renderBuffer = awe_webview_render( mWebView ); unsigned char A = awe_renderbuffer_get_alpha_at_point( renderBuffer, x, y ); return A; }
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::renderWebview() { rBuffer = awe_webview_render(webView); }