int CDuiWkeWebkit::OnCreate( void * )
	{
		m_pWebView = wkeCreateWebView();
		if(!m_pWebView) return 1;
		m_pWebView->setBufHandler(this);
		m_pWebView->loadURL(m_strUrl);
		SetDuiTimer(TM_TICKER,10);
		return 0;
	}
Exemple #2
0
// 创建wke控件
bool CDuiWkeView::CreateControl()
{
	if(m_bCreating)
	{
		return false;
	}

    m_bCreated = false;
	m_bCreating = true;

	// 设置wke事件回调函数
	m_wkeHander.onTitleChanged = onTitleChanged;
	m_wkeHander.onURLChanged = onURLChanged;

	// 创建wke视图,并加载url或html内容
	m_pWebView = wkeCreateWebView();
	m_pWebView->setTransparent(m_bTransparent);
	m_pWebView->setClientHandler(&m_wkeHander);
	m_pWebView->setBufHandler(this);
	if(!m_strUrl.IsEmpty())
	{
		Navigate(m_strUrl);
	}else
	if(!m_strHtml.IsEmpty())
	{
		loadHTML(m_strHtml);
	}

	// 注册窗口类
	RegisterWindowClass();

	// 创建用于显示wke视图的窗口
	HWND hWnd = ::CreateWindow(wkeWebViewClassName, 0, 
        WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
        0, 0, 0, 0, 
        m_hWnd, 
        0, 
        DuiSystem::Instance()->GetInstance(), this);

	// 设置窗口句柄
	if(hWnd && ::IsWindow(hWnd))
	{
		ReleaseControl();
		m_hwndHost = hWnd;
	}

	// 初始化wke渲染对象,将渲染对象关联到视图窗口
	m_render.init(m_hwndHost);

	m_bCreated = true;
	m_bCreating = false;

    return true;
}
Exemple #3
0
WebWindow::WebWindow(const CEGUI::String& type, const CEGUI::String& name)
    :CEGUI::Window(type, name)
    ,d_webViewTexture(NULL)
{
    d_wantsMultiClicks = false;

    d_webGeometry = new WebGeometryBuffer(this);
    d_webView = wkeCreateWebView();

    d_next = s_first;
    s_first = this;
}
Exemple #4
0
int main(int argc, char** argv)
{
    wkeWebView webView;
    const char* url;
    wchar_t filename[1024];
    void* pixels;
    int w, h;

    printf(wkeVersionString());

    wkeInit();
    webView = wkeCreateWebView();
    wkeResize(webView, 1024, 768);

    url = argc >= 2 ? argv[1] : "http://www.google.com";
    printf("loading url %s ...\n", url);    
    wkeLoadURL(webView, url);

    while (1)
    {
        wkeUpdate();
        if (wkeIsLoadComplete(webView))
            break;
			
        Sleep(10);
    }
	
    /*hidden scrollbar*/
    wkeRunJS(webView, "document.body.style.overflow='hidden'");

    w = wkeContentsWidth(webView);
    h = wkeContentsHeight(webView);
    wkeResize(webView, w, h);

    pixels = malloc(w*h*4);
    wkePaint(webView, pixels, 0);

    //save bitmap
    swprintf(filename, 1024, L"%s.bmp", wkeTitleW(webView));
    convertFilename(filename);
    wprintf(L"%s\n", filename);
    
    saveBitmap(pixels, w, h, filename);

    free(pixels);
    wkeDestroyWebView(webView);
    wkeShutdown();

    return 0;
}
Exemple #5
0
LRESULT CWkeWebkitWnd::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	m_pWebView = wkeCreateWebView();
	if(m_pWebView == NULL) return -1;

	m_pWebView->setBufHandler(this);

// 	hander.onTitleChanged = onTitleChanged;   //默认关闭了通知标题改变的回调函数
// 	hander.onURLChanged = onURLChanged;
// 	m_pWebView->setClientHandler(&hander);

	SetTimer(m_hWnd, TM_TICKER,50 ,NULL);

	return 0;
}
LRESULT CWkeWebkitWnd::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{


	m_pWebView = wkeCreateWebView();
	if(!m_pWebView) return -1;

	m_pWebView->setBufHandler(this);

// 	hander.onTitleChanged = onTitleChanged;   //ĬÈϹرÕÁË֪ͨ±êÌâ¸Ä±äµÄ»Øµ÷º¯Êý
// 	hander.onURLChanged = onURLChanged;
// 	m_pWebView->setClientHandler(&hander);

	SetTimer(m_hWnd, TM_TICKER,50 ,NULL);

	return 0;
}