本文整理汇总了C++中SystemDraw::Init方法的典型用法代码示例。如果您正苦于以下问题:C++ SystemDraw::Init方法的具体用法?C++ SystemDraw::Init怎么用?C++ SystemDraw::Init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SystemDraw
的用法示例。
在下文中一共展示了SystemDraw::Init方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DrawDragRect
void DrawDragRect(Ctrl& q, const DrawDragRectInfo& f)
{
SystemDraw w;
w.Init(Ctrl::GetDesktopSize());
w.Clip(f.clip);
/* TODO
static int dashes[3][3] = {
{ 32, 32, 0 },
{ 1, 1, 1 },
{ 5, 1, 2 },
};
*/
DrawDragFrame(w, f.rect1, f.n, f.animation);
DrawDragFrame(w, f.rect2, f.n, f.animation);
w.End();
}
示例2: DoPaint
void Ctrl::DoPaint()
{
LLOG("@ DoPaint");
if(!PaintLock) {
bool scroll = false;
if(desktop)
desktop->SyncScroll();
for(int i = 0; i < topctrl.GetCount(); i++)
topctrl[i]->SyncScroll();
if((invalid.GetCount() || scroll) && desktop) {
RemoveCursor();
RemoveCaret();
for(int phase = 0; phase < 2; phase++) {
LLOG("DoPaint invalid phase " << phase);
LDUMPC(invalid);
SystemDraw draw;
draw.Set(screen);
draw.Init(screen_size);
for(int i = 0; i < invalid.GetCount(); i++) {
draw.Clip(invalid[i]);
AddUpdate(invalid[i]);
}
for(int i = topctrl.GetCount() - 1; i >= 0; i--) {
Rect r = topctrl[i]->GetRect();
Rect ri = GetClipBound(invalid, r);
if(!IsNull(ri)) {
draw.Clipoff(r);
topctrl[i]->UpdateArea(draw, ri - r.TopLeft());
draw.End();
Subtract(invalid, r);
draw.ExcludeClip(r);
}
}
Rect ri = GetClipBound(invalid, framebuffer.GetSize());
if(!IsNull(ri))
desktop->UpdateArea(draw, ri);
}
}
}
DoUpdate();
}