コード例 #1
0
ファイル: MediaJack.cpp プロジェクト: mariuz/haiku
void MediaJack::drawEndPoint()
{
	D_DRAW(("MediaJack::drawEndPoint()\n"));

	if (m_bitmap)
	{
		view()->DrawBitmap(m_bitmap, Frame().LeftTop());
	}
}
コード例 #2
0
ファイル: DiagramBox.cpp プロジェクト: HaikuArchives/Cortex
void DiagramBox::draw(
	BRect updateRect)
{
	D_DRAW(("DiagramBox::draw()\n"));
	if (view()) {
		view()->PushState();
		if (m_flags & M_DRAW_UNDER_ENDPOINTS) {
			BRegion region, clipping;
			region.Include(frame());
			if (group()->getClippingAbove(this, &clipping))
				region.Exclude(&clipping);
			view()->ConstrainClippingRegion(&region);
			drawBox();
			for (uint32 i = 0; i < countItems(); i++) {
				DiagramItem *item = itemAt(i);
				if (region.Intersects(item->frame())) {
					item->draw(item->frame());
				}
			}
		}
		else {
			BRegion region, clipping;
			region.Include(frame());
			if (view()->getClippingAbove(this, &clipping))
				region.Exclude(&clipping);
			for (uint32 i = 0; i < countItems(); i++) {
				DiagramItem *item = itemAt(i);
				BRect r;
				if (region.Intersects(r = item->frame())) {
					item->draw(r);
					region.Exclude(r);
				}
			}
			view()->ConstrainClippingRegion(&region);
			drawBox();
		}
		view()->PopState();
	}
}