Пример #1
0
        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);
        }
Пример #2
0
void CGroup::CoreDraw(void)
{
    InitDraw();
    
    if (m_bUpdateLayout)
    {
        DrawLayout();
        m_bUpdateLayout = false;
    }

    DoDraw();
    RefreshWidget();

    DrawChilds();
}
Пример #3
0
        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);
        }