Beispiel #1
0
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();
}
Beispiel #2
0
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;
}
Beispiel #3
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");		
	}