- if (m_dc)
- delete m_dc;
-}
-
-bool
-wxDataViewRenderer::RenderWithAttr(wxDC& dc,
- const wxRect& cell_rect,
- int align,
- const wxDataViewItemAttr *WXUNUSED(attr),
- int state)
-{
- // adjust the rectangle ourselves to account for the alignment
-
- wxRect item_rect = cell_rect;
- if ( align )
- {
- const wxSize size = GetSize();
-
- // horizontal alignment:
- if (align & wxALIGN_CENTER_HORIZONTAL)
- item_rect.x = cell_rect.x + (cell_rect.width / 2) - (size.x / 2);
- else if (align & wxALIGN_RIGHT)
- item_rect.x = cell_rect.x + cell_rect.width - size.x;
- // else: wxALIGN_LEFT is the default
-
- // vertical alignment:
- item_rect.y = cell_rect.y;
- if (align & wxALIGN_CENTER_VERTICAL)
- item_rect.y = cell_rect.y + (cell_rect.height / 2) - (size.y / 2);
- else if (align & wxALIGN_BOTTOM)
- item_rect.y = cell_rect.y + cell_rect.height - size.y;
- // else: wxALIGN_TOP is the default
-
- item_rect.SetSize(size);
- }
-
- return Render(item_rect, &dc, state);