Example #1
0
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);
		}
	}
}