Rect Tab_Impl::get_client_rect() { Rect hr = tab_header->get_geometry(); Rect g = tab->get_geometry().get_size(); g.top = hr.bottom; Rect content = tab->get_content_box(); return content; }
void TabHeader_Impl::on_render(Canvas &canvas, const Rect &update_rect) { Rect rect = component->get_geometry(); std::vector<Handle>::size_type i; for (i = 0; i < tabs.size(); i++) { Handle &handle = tabs[i]; handle.part.render_box(canvas, handle.rect); Rect rect_handle_content = handle.part.get_content_box(handle.rect); Size text_size = handle.part.render_text(canvas, handle.label, rect_handle_content).get_size(); if (component->has_focus() && i == selected_page) { Rect focus_rect = handle.rect; focus_rect.shrink(2,2,2,2); part_focus.render_box(canvas, focus_rect); } } }