Ejemplo n.º 1
0
void
twidget::draw_debug_border(surface& frame_buffer, int x_offset, int y_offset)
{
    SDL_Rect r = redraw_action_ == tredraw_action::partly
                 ? calculate_clipping_rectangle(x_offset, y_offset)
                 : calculate_blitting_rectangle(x_offset, y_offset);

    switch(debug_border_mode_) {
    case 0:
        /* DO NOTHING */
        break;

    case 1:
        sdl::draw_rectangle(
            r.x, r.y, r.w, r.h, debug_border_colour_, frame_buffer);
        break;

    case 2:
        sdl::fill_rect(frame_buffer, &r, debug_border_colour_);
        break;

    default:
        assert(false);
    }
}
Ejemplo n.º 2
0
void twidget::draw_foreground(surface& frame_buffer, int x_offset, int y_offset)
{
	assert(visible_ == VISIBLE);

	if(drawing_action_ == PARTLY_DRAWN) {
		const SDL_Rect clipping_rectangle =
				calculate_clipping_rectangle(x_offset, y_offset);

		clip_rect_setter clip(frame_buffer, &clipping_rectangle);
		impl_draw_foreground(frame_buffer, x_offset, y_offset);
	} else {
		impl_draw_foreground(frame_buffer, x_offset, y_offset);
	}
}
Ejemplo n.º 3
0
void widget::draw_foreground(surface& frame_buffer, int x_offset, int y_offset)
{
	assert(visible_ == visibility::visible);

	if(redraw_action_ == redraw_action::partly) {
		const SDL_Rect clipping_rectangle
				= calculate_clipping_rectangle(x_offset, y_offset);

		clip_rect_setter clip(frame_buffer, &clipping_rectangle);
		impl_draw_foreground(frame_buffer, x_offset, y_offset);
	} else {
		impl_draw_foreground(frame_buffer, x_offset, y_offset);
	}
}
Ejemplo n.º 4
0
void twidget::draw_children(surface& frame_buffer, int x_offset, int y_offset)
{
    assert(visible_ == tvisible::visible);

    if(redraw_action_ == tredraw_action::partly) {
        const SDL_Rect clipping_rectangle
            = calculate_clipping_rectangle(x_offset, y_offset);

        clip_rect_setter clip(frame_buffer, &clipping_rectangle);
        impl_draw_children(frame_buffer, x_offset, y_offset);
    } else {
        impl_draw_children(frame_buffer, x_offset, y_offset);
    }
}
Ejemplo n.º 5
0
void twidget::draw_children(surface& frame_buffer, int x_offset, int y_offset)
{
	assert(visible_ == VISIBLE);

	if (drawing_action_ == PARTLY_DRAWN) {
		const SDL_Rect clipping_rectangle = calculate_clipping_rectangle(frame_buffer, x_offset, y_offset);
		if (!clipping_rectangle.w || !clipping_rectangle.h) {
			return;
		}

		clip_rect_setter clip(frame_buffer, &clipping_rectangle);
		impl_draw_children(frame_buffer, x_offset, y_offset);
	} else {
		impl_draw_children(frame_buffer, x_offset, y_offset);
	}
}
Ejemplo n.º 6
0
void
widget::draw_debug_border(int x_offset, int y_offset)
{
	SDL_Rect r = redraw_action_ == redraw_action::partly
						 ? calculate_clipping_rectangle(x_offset, y_offset)
						 : calculate_blitting_rectangle(x_offset, y_offset);

	switch(debug_border_mode_) {
		case 0:
			/* DO NOTHING */
			break;

		case 1:
			sdl::draw_rectangle(r, debug_border_color_);
			break;

		case 2:
			sdl::fill_rectangle(r, debug_border_color_);
			break;

		default:
			assert(false);
	}
}