Esempio n. 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();
}
Esempio n. 2
0
	void Awesomium::loadFile(char* path)
	{
		awe_string* file_str = awe_string_create_from_ascii(path, strlen(path));
		awe_webview_load_file(webView,file_str, awe_string_empty());
		awe_string_destroy(file_str);
		while(awe_webview_is_loading_page(webView))
		{			
			Sleep(200);			
			awe_webcore_update();
			add_logA("Awesomium: awe_webcore_update() executed");
		}
		add_logA("Awesomium: File loaded");
	}