I'd like to implement movement of the rectangle (pointer):

draw function:
g.SetDrawMode(CGraphicsContext::TDrawMode::EDrawModeXOR);
g.SetPenColor(AKN_LAF_COLOR(0));
g.DrawRect(TRect(TPoint(20,20), TPoint(80,80) )) ; // draw

OfferKeyEventL: if (aKeyEvent.iScanCode == EStdKeyRightArrow) ...
and again in draw function:
g.DrawRect(TRect(TPoint(20,20), TPoint(80,80) )) ; // erase old
g.DrawRect(TRect(TPoint(25,20), TPoint(85,80) )) ; // draw new

For it I need have public member
CWindowGc& gc;
But I can't set gc = SystemGc() inside the
void CCoeControl:raw(const TRect& aRect) const

What can I do with it ???? How usually pointer movement implemented?