void RectTestCase::InflateDeflate() { // This is the rectangle from the example in the documentation of wxRect::Inflate(). const wxRect r1(10, 10, 20, 40); CPPUNIT_ASSERT(r1.Inflate( 10, 10)==wxRect( 0, 0, 40, 60)); CPPUNIT_ASSERT(r1.Inflate( 20, 30)==wxRect(-10, -20, 60, 100)); CPPUNIT_ASSERT(r1.Inflate(-10, -10)==wxRect( 20, 20, 0, 20)); CPPUNIT_ASSERT(r1.Inflate(-15, -15)==wxRect( 20, 25, 0, 10)); CPPUNIT_ASSERT(r1.Inflate( 10, 10)==r1.Deflate(-10, -10)); CPPUNIT_ASSERT(r1.Inflate( 20, 30)==r1.Deflate(-20, -30)); CPPUNIT_ASSERT(r1.Inflate(-10, -10)==r1.Deflate( 10, 10)); CPPUNIT_ASSERT(r1.Inflate(-15, -15)==r1.Deflate( 15, 15)); }
// Returns the rectangle for this object (id = 0) or a child element (id > 0). // rect is in screen coordinates. wxAccStatus KeyViewAx::GetLocation(wxRect & rect, int elementId) { int line; if (IdToLine(elementId, line)) { wxRect rectLine; rectLine.width = mView->GetClientSize().GetWidth(); // iterate over all visible lines for (int i = 0; i < line; i++) { wxCoord hLine = mView->GetLineHeight(i); rectLine.height = hLine; rect = rectLine; wxPoint margins = mView->GetMargins(); rect.Deflate(margins.x, margins.y); rectLine.y += hLine; } rect.SetPosition(mView->ClientToScreen(rect.GetPosition())); } else { rect = mView->GetRect(); rect.SetPosition(mView->GetParent()->ClientToScreen(rect.GetPosition())); } return wxACC_OK; }
virtual bool Render( wxRect rect, wxDC *dc, int state ) { dc->SetBrush( *wxLIGHT_GREY_BRUSH ); dc->SetPen( *wxTRANSPARENT_PEN ); rect.Deflate(2); dc->DrawRoundedRectangle( rect, 5 ); RenderText(m_value, 0, // no offset wxRect(dc->GetTextExtent(m_value)).CentreIn(rect), dc, state); return true; }
void CPathCtrl::DrawFore(wxDC &dc, wxRect &rc) { rc.Deflate(0, 2); // rc.SetWidth(rc.GetWidth() - CORNER_LENGTH); int count = m_PathList.GetCount(); if(count > 0) { wxRect rcItem = rc; int width = rc.GetWidth() / count; rcItem.SetWidth(width); ItemList::Node *node = m_PathList.GetFirst(); while (node) { CPathItem *item = (CPathItem*)node->GetData(); item->DrawFore(dc, rcItem); rcItem.Offset(width, 0); node = node->GetNext(); } } }