本文整理汇总了C++中CWindowGc::Activate方法的典型用法代码示例。如果您正苦于以下问题:C++ CWindowGc::Activate方法的具体用法?C++ CWindowGc::Activate怎么用?C++ CWindowGc::Activate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CWindowGc
的用法示例。
在下文中一共展示了CWindowGc::Activate方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HandlePointerEvent
void CMainWindow::HandlePointerEvent(TPointerEvent& aPointerEvent)
{
switch (aPointerEvent.iType)
{
case TPointerEvent::EButton1Down:
{
if (aPointerEvent.iModifiers & EModifierShift)
{
Window().EnablePointerMoveBuffer();
CWindowGc* gc = SystemGc();
gc->Activate(Window());
gc->MoveTo(aPointerEvent.iPosition);
gc->Deactivate();
}
break;
}
case TPointerEvent::EButton1Up:
{
Window().DisablePointerMoveBuffer();
break;
}
default:
break;
}
}
示例2: LoadsOfText
TInt LoadsOfText(TInt aOwningGroup)
{
RWsSession ws;
ws.Connect();
CWsScreenDevice *device=new(ELeave) CWsScreenDevice(ws);
device->Construct();
RWindowGroup group(ws);
group.Construct(ENullWsHandle);
group.SetOwningWindowGroup(aOwningGroup);
TSize scrSize(device->SizeInPixels());
//
RWindow window(ws);
window.Construct(group,ENullWsHandle);
window.SetExtent(TPoint(), scrSize);
window.Activate();
//
CWindowGc *gc;
device->CreateContext(gc);
window.BeginRedraw();
gc->Activate(window);
gc->Clear();
window.EndRedraw();
TFontSpec fspec(KTestFontTypefaceName,200);
CFbsFont *font;
User::LeaveIfError(device->GetNearestFontToDesignHeightInTwips((CFont *&)font, fspec));
gc->UseFont(font);
TBuf<100> loadsatext(_L("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890zyxwvutsrqponmlkjihgfedcba"));
TInt ascent=font->AscentInPixels();
TInt fheight=font->HeightInPixels();
for(TInt nTimes=0;nTimes<10;nTimes++)
{
TPoint pos;
// for(pos.iY=ascent;pos.iY<scrSize.iHeight;pos.iY+=font->HeightInPixels())
// gc->DrawText(loadsatext,pos);
for(pos.iY=0;pos.iY<scrSize.iHeight;pos.iY+=fheight)
gc->DrawText(loadsatext,TRect(pos,TPoint(scrSize.iWidth,pos.iY+fheight)),ascent);
gc->Clear();
}
gc->Deactivate();
//
ws.Flush();
delete gc;
device->ReleaseFont(font);
window.Close();
group.Close();
delete device;
ws.Close();
return(KErrNone);
}
示例3: group
/**
* Runs the test in a second thread.
*
* @param aFunctionIndex The drawing function command to be executed. All commands are defined in TestFunctionIndex.
*/
TInt CTW32CmdBuf::DoTestCmdBufFunctionL(TTestFunctionIndex aFunctionIndex)
{
RWsSession session;
User::LeaveIfError(session.Connect());
CleanupClosePushL(session);
CWsScreenDevice *device = new(ELeave) CWsScreenDevice(session);
CleanupStack::PushL(device);
User::LeaveIfError(device->Construct(CTestBase::iScreenNo));
CWindowGc* gc;
User::LeaveIfError(device->CreateContext(gc));
CleanupStack::PushL(gc);
RWindowGroup group(session);
User::LeaveIfError(group.Construct(1, EFalse));
CleanupClosePushL(group);
RWindow window(session);
User::LeaveIfError(window.Construct(group, 2));
CleanupClosePushL(window);
window.SetExtent(TPoint(0,0), TSize(200, 200));
User::LeaveIfError(window.SetRequiredDisplayMode(EColor64K));
window.Activate();
gc->Activate(window);
session.SetAutoFlush(EFalse);
window.Invalidate();
window.BeginRedraw();
for(TInt i=KMinTestIterations; i<KMaxTestIterations; ++i)
{
for(TInt j=0; j<i; ++j)
{
gc->Clear();
}
CFbsBitmap* bitmap = new(ELeave) CFbsBitmap;
CleanupStack::PushL(bitmap);
User::LeaveIfError(bitmap->Create(TSize(100, 100), EColor64K));
CFbsBitmap* mask = new(ELeave) CFbsBitmap;
CleanupStack::PushL(mask);
User::LeaveIfError(mask->Create(TSize(100, 100), EColor64K));
KTestFunctions[aFunctionIndex](gc, bitmap, mask);
CleanupStack::PopAndDestroy(2);
session.Flush();
}
window.EndRedraw();
gc->Deactivate();
CleanupStack::PopAndDestroy(5);
return KErrNone;
}
示例4: DoTestDrawGraphicCompareL
void CWsGraphicShareBase::DoTestDrawGraphicCompareL(TPtrC aShare)
{
// UID of the shared graphic
TUid uid1 = {0x12000021};
TWsGraphicId twsGraphicId1(uid1);
_LIT8(KTestData,"HelloWorld");
CFbsBitmap bitmap1;
CFbsBitmap mask1;
TSize screenSize = iScreen->SizeInPixels();
User::LeaveIfError(bitmap1.Load(MY_TEST_BITMAP,0));
mask1.Create(bitmap1.SizeInPixels(),iScreen->DisplayMode());
CWsGraphicBitmap* bTest = CWsGraphicBitmap::NewL(&bitmap1,&mask1);
// divide the screen into two equal rectangles
TRect position1(0,0,screenSize.iWidth/2,screenSize.iHeight);
TRect position2(screenSize.iWidth/2,0,screenSize.iWidth,screenSize.iHeight);
// draw the new graphic and attempt to draw the shared graphic
iGc->Activate(*iWin);
iWin->Invalidate();
iWin->BeginRedraw();
iGc->Clear(position1);
iGc->Clear(position2);
iGc->DrawWsGraphic(bTest->Id(),position1,KTestData);
iGc->DrawWsGraphic(twsGraphicId1.Uid(),position2,KTestData);
iGc->Deactivate();
iWin->EndRedraw();
iWs.Flush();
iWs.Finish();
// compare the graphic in both positions
if (aShare==_L("false"))
Test(!iScreen->RectCompare(position1,position2));
else
Test(iScreen->RectCompare(position1,position2));
delete bTest;
}
示例5: HandlePointerMoveBufferReady
void CMainWindow::HandlePointerMoveBufferReady()
{
TPoint pnts[KPointerMoveBufferSize];
TPtr8 ptr((TUint8 *) &pnts, sizeof(pnts));
TInt numPnts = Window().RetrievePointerMoveBuffer(ptr);
TRect redrawRect(Window().Position(), Window().Size());
CWindowGc* gc = SystemGc();
gc->Activate(Window());
gc->SetPenColor(KRgbBlue);
gc->SetPenSize(TSize(2, 2));
Window().Invalidate();
Window().BeginRedraw(redrawRect); // N.B. Redrawer::RunL() gets called with this
// rectangle - must give it a non-zero value
for (TInt index = 0; index < numPnts; index++)
{
gc->DrawLineTo(pnts[index]);
}
Window().EndRedraw();
gc->Deactivate();
}
示例6: MainL
void MainL()
{
RWsSession ws;
ws.Connect();
CWsScreenDevice* scr = new(ELeave) CWsScreenDevice(ws);
scr->Construct();
CWindowGc* gc = new(ELeave) CWindowGc(scr);
gc->Construct();
RWindowGroup grp(ws);
grp.Construct(0xc0decafe, ETrue);
RWindow win(ws);
win.Construct(grp, 0xbeefcafe);
win.SetExtent(TPoint(20,160), TSize(320,240));
win.Activate();
win.Invalidate();
win.BeginRedraw();
gc->Activate(win);
gc->SetPenStyle(CGraphicsContext::ENullPen);
gc->SetBrushStyle(CGraphicsContext::ESolidBrush);
TBool color = EFalse;
if (Profiler::Start() == KErrNotFound)
{
_LIT(KProfiler,"profiler");
_LIT(KStart,"start -noui -drive=S");
RProcess p;
if (p.Create(KProfiler,KStart) == KErrNone)
{
p.Resume();
p.Close();
}
}
for (TInt col=0; col<KCol; ++col)
{
color = !color;
for (TInt row=0; row<KRow; ++row)
{
TRect rect;
rect.iTl.iX = col * KSize.iWidth;
rect.iTl.iY = row * KSize.iHeight;
rect.SetSize(KSize);
color = !color;
gc->SetBrushColor(color? KRgbBlue : KRgbBlack);
gc->DrawRect(rect);
}
}
gc->Deactivate();
win.EndRedraw();
ws.Flush();
User::After(3000000);
win.Close();
grp.Close();
delete gc;
delete scr;
ws.Close();
Profiler::Stop();
Profiler::Close();
Profiler::Unload();
}
示例7: ActivateContext
/** Activates a graphics context for the specified window.
This function is called whenever a control is about to be drawn. Its default
implementation activates the graphics context given by aGc for the window
given by aWindow, and calls PrepareContext().
This function may be overridden by derived classes.
@param aGc The graphics context to activate. When called from CCoeControl::ActivateGc(),
this is the system graphics context.
@param aWindow The window for which the graphics context is to be activated. */
EXPORT_C void MCoeControlContext::ActivateContext(CWindowGc& aGc,RDrawableWindow& aWindow) const
{
aGc.Activate(aWindow);
PrepareContext(aGc);
}