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; }
void GiGraphics::setAntiAliasMode(bool antiAlias) { m_impl->antiAlias = antiAlias; SafeCall(m_impl->canvas, _antiAliasModeChanged(antiAlias)); }