void NFrameBase::Draw(NRender* render, Base::NPoint& ptOffset, HRGN clipRgn) { if(!IsVisible()) return; Base::NRect rect(frameRect_); rect.Offset(ptOffset.X, ptOffset.Y); if(!::RectInRegion(clipRgn, rect)) return; NRenderClip clip(render, clipRgn, rect); if(clip.IsEmpty()) return; PreDrawEvent.Invoke(this, NULL); DrawBkg(render, rect); rect.Left += padding_.Left; rect.Top += padding_.Top; rect.Right -= padding_.Right; rect.Bottom -= padding_.Bottom; DrawContent(render, rect); DrawFore(render, rect); DrawChilds(render, ptOffset, clipRgn); }
void CGroup::CoreDraw(void) { InitDraw(); if (m_bUpdateLayout) { DrawLayout(); m_bUpdateLayout = false; } DoDraw(); RefreshWidget(); DrawChilds(); }
void NFrameBase::Draw(NRender* render, Base::NPoint& ptOffset, HRGN clipRgn) { if(!IsVisible() || !IsValid()) return; Base::NRect rect(frameRect_); rect.Offset(ptOffset.X, ptOffset.Y); if(!::RectInRegion(clipRgn, rect)) return; NRenderClip clip(render, clipRgn, rect); DrawBkg(render, rect); DrawContent(render, rect); DrawFore(render, rect); DrawChilds(render, ptOffset, clipRgn); }