Exemplo n.º 1
0
Rect Window_Impl::get_part_buttonclose_rect() const
{
	Rect rect = window->get_size();

	Size part_buttonclose_size = part_buttonclose.get_css_size();
	int frameright_width = part_frameright.get_css_width();
	int caption_height = part_caption.get_css_height();

	return Rect(rect.right - part_buttonclose_size.width - frameright_width - 2, rect.top + caption_height - part_buttonclose_size.height - 3, rect.right - frameright_width - 2, rect.top + caption_height - 3);

}
Exemplo n.º 2
0
void RadioButton_Impl::on_render(Canvas &canvas, const Rect &update_rect)
{
	Rect rect = radio->get_size();

	Size pref_size = part_checker.get_css_size();
	Rect content_rect = radio->get_content_box();
	int ypos = content_rect.top + content_rect.get_height()/2 - pref_size.height/2;
	Rect checker_rect(content_rect.left, ypos, content_rect.left + pref_size.width, ypos + pref_size.height);
	part_checker.render_box(canvas, checker_rect);

	int text_gap = radio->get_property_int(CssStr::text_gap, "2");

	Size text_size = radio->render_text(canvas, text, checker_rect.right + text_gap, radio->get_vertical_text_align(canvas).baseline).get_size();

	if (radio->has_focus())
	{
		int focus_left = checker_rect.right + text_gap - 2; // todo: remove magic number hacks
		Rect focus_rect = RectPS(focus_left, content_rect.top, text_size.width+4, content_rect.bottom);
		part_focus.render_box(canvas, focus_rect);
	}
}