void Graphic::Draw (Canvas* c, Coord l, Coord b, Coord r, Coord t) { if (Parent() == nil) { drawClipped(c, l, b, r, t, this); } else { FullGraphic gs; totalGS(gs); drawClipped(c, l, b, r, t, &gs); } }
void Graphic::DrawClipped (Canvas* c, Coord l, Coord b, Coord r, Coord t) { _clipping = new BoxObj(l, b, r, t); _p->Clip(c, l, b, r, t); if (Parent() == nil) { drawClipped(c, l, b, r, t, this); } else { FullGraphic gs; totalGS(gs); drawClipped(c, l, b, r, t, &gs); } _p->NoClip(); delete _clipping; _clipping = nil; }
void CDIBGrItem::Draw ( PLBmp * pCanvas, CRect * pUpdateRect ) // Responsible for drawing the object on the canvas. { // ASSERT_VALID (pCanvas); ASSERT (pCanvas->GetBitsPerPixel() == 32); // ASSERT_VALID (m_pBmp); ASSERT (m_pBmp->GetBitsPerPixel() == 32); // Perform clipping. CRect ClipRect (pUpdateRect); clip (pCanvas, &ClipRect); // Draw if (m_w == m_pBmp->GetWidth() && m_h == m_pBmp->GetHeight()) drawClippedNoScale (pCanvas, &ClipRect); else if (m_pBmp->HasAlpha()) drawClipped (pCanvas, &ClipRect); else drawClippedNoAlpha (pCanvas, &ClipRect); // If this fails, the procedure destroyed something. // ASSERT_VALID (pCanvas); // ASSERT_VALID (m_pBmp); }
RectF TextureRegion::drawAtClipped(const double x, const double y, const RectF& clipRect, const ColorF& diffuse) const { return drawClipped(x - size.x * 0.5, y - size.y * 0.5, clipRect, diffuse); }