Exemple #1
0
bool GiCanvasGdip::beginPaint(HDC hdc, HDC attribDC, bool buffered, bool overlay)
{
    bool ret = (NULL == m_draw->m_gs)
        && GiCanvasWin::beginPaint(hdc, attribDC, buffered, overlay);
    if (!ret)
        return false;

    buffered = buffered && !gs()->isPrint();
    COLORREF cr = ::GetBkColor(hdc);
    m_draw->m_bkColor.set(GetRValue(cr), GetGValue(cr), GetBValue(cr));

    GdipOverlayBmp oldDrawing;
    if (buffered && overlay)
        oldDrawing.save(m_owner, hdc);

    m_draw->m_gs = new G::Graphics(hdc);
    if (m_draw->m_gs == NULL)
    {
        GiCanvasWin::endPaint(false);
        return false;
    }

    if (buffered)
    {
        m_draw->m_memBitmap = new G::Bitmap(xf().getWidth(), xf().getHeight());
        m_draw->m_memGs = G::Graphics::FromImage(m_draw->m_memBitmap);
        oldDrawing.draw(m_draw->m_memGs);
    }

    _antiAliasModeChanged(gs()->isAntiAliasMode());

    return ret;
}
Exemple #2
0
void GiGraphics::setAntiAliasMode(bool antiAlias)
{
    m_impl->antiAlias = antiAlias;
    SafeCall(m_impl->canvas, _antiAliasModeChanged(antiAlias));
}