void CTestRedrawHandler::RunL()
	{
	TWsRedrawEvent redraw;
	iWs.GetRedraw(redraw);
	
	iWs.RedrawReady(&iStatus);
	SetActive();

	if (redraw.Handle())
		{
		if(redraw.Rect().IsEmpty())
			User::Leave(KErrGeneral);
		CTestWindowTreeNode* node = reinterpret_cast<CTestWindowTreeNode *>(redraw.Handle());
		node->RedrawL(redraw);
//		reinterpret_cast<CTestWindowTreeNode *>(redraw.Handle())->RedrawL(redraw);
		}
	}
Пример #2
0
void CWsRedrawer::RunL()
    {
    // find out what needs to be done in response to the event
    TWsRedrawEvent redrawEvent;
    iClient->iWs.GetRedraw(redrawEvent); // get event
    CWindow* window = (CWindow*) (redrawEvent.Handle()); // get window
    if (window)
        {
        TRect rect = redrawEvent.Rect(); // and rectangle that needs redrawing
        // now do drawing
        iClient->iGc->Activate(window->Window());
        window->Window().BeginRedraw();
        window->Draw(rect);
        window->Window().EndRedraw();
        iClient->iGc->Deactivate();
        }
    // maintain outstanding request
    IssueRequest();
    }