1
0
Fork 0

theme: Get rid of x/y_offset usage when drawing frames

Commit aa65f94c67 that started passing
cairo_t around broke offsets. Since passing cairo_t makes them
unnecessary, this patches removes them rather than fixing them.

This patch changes API.

https://bugzilla.gnome.org/show_bug.cgi?id=630203
This commit is contained in:
Benjamin Otte 2010-09-27 13:55:28 +02:00
parent a2b3f9aeb0
commit b265e8099a
5 changed files with 12 additions and 42 deletions

View file

@ -83,9 +83,7 @@ static void meta_frames_attach_style (MetaFrames *frames,
static void meta_frames_paint (MetaFrames *frames,
MetaUIFrame *frame,
cairo_t *cr,
int x_offset,
int y_offset);
cairo_t *cr);
static void meta_frames_set_window_background (MetaFrames *frames,
MetaUIFrame *frame);
@ -2112,11 +2110,12 @@ generate_pixmap (MetaFrames *frames,
rect->width, rect->height);
cr = meta_pixmap_cairo_create (result);
cairo_translate (cr, -rect->x, -rect->y);
setup_bg_cr (cr, frame->window, rect->x, rect->y);
setup_bg_cr (cr, frame->window, 0, 0);
cairo_paint (cr);
meta_frames_paint (frames, frame, cr, -rect->x, -rect->y);
meta_frames_paint (frames, frame, cr);
cairo_destroy (cr);
@ -2341,7 +2340,7 @@ meta_frames_draw (GtkWidget *widget,
cairo_push_group (cr);
meta_frames_paint (frames, frame, cr, 0, 0);
meta_frames_paint (frames, frame, cr);
cairo_pop_group_to_source (cr);
cairo_paint (cr);
@ -2405,7 +2404,7 @@ meta_frames_expose_event (GtkWidget *widget,
/* no need to clip, begin_paint_region ensures the pixmap
* is only as big as the rect we use. */
meta_frames_paint (frames, frame, cr, 0, 0);
meta_frames_paint (frames, frame, cr);
cairo_destroy (cr);
gdk_window_end_paint (event->window);
@ -2424,9 +2423,7 @@ meta_frames_expose_event (GtkWidget *widget,
static void
meta_frames_paint (MetaFrames *frames,
MetaUIFrame *frame,
cairo_t *cr,
int x_offset,
int y_offset)
cairo_t *cr)
{
GtkWidget *widget;
MetaFrameFlags flags;
@ -2556,7 +2553,6 @@ meta_frames_paint (MetaFrames *frames,
frame->style,
widget,
cr,
x_offset, y_offset,
type,
flags,
w, h,

View file

@ -233,8 +233,10 @@ meta_preview_expose (GtkWidget *widget,
};
ensure_info (preview);
cairo_save (cr);
border_width = gtk_container_get_border_width (GTK_CONTAINER (widget));
cairo_translate (cr, border_width, border_width);
client_width = allocation.width - preview->left_width - preview->right_width - border_width * 2;
client_height = allocation.height - preview->top_height - preview->bottom_height - border_width * 2;
@ -247,8 +249,6 @@ meta_preview_expose (GtkWidget *widget,
meta_theme_draw_frame (preview->theme,
widget,
cr,
border_width,
border_width,
preview->type,
preview->flags,
client_width, client_height,
@ -259,6 +259,7 @@ meta_preview_expose (GtkWidget *widget,
meta_preview_get_mini_icon (),
meta_preview_get_icon ());
cairo_restore (cr);
}
#ifdef USE_GTK3

View file

@ -1016,7 +1016,6 @@ run_theme_benchmark (void)
meta_theme_draw_frame (global_theme,
widget,
cr,
0, 0,
META_FRAME_TYPE_NORMAL,
get_flags (widget),
client_width, client_height,

View file

@ -4358,8 +4358,6 @@ meta_frame_style_draw_with_style (MetaFrameStyle *style,
GtkStyle *style_gtk,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
const MetaFrameGeometry *fgeom,
int client_width,
int client_height,
@ -4546,9 +4544,6 @@ meta_frame_style_draw_with_style (MetaFrameStyle *style,
{
button_rect (j, fgeom, middle_bg_offset, &rect);
rect.x += x_offset;
rect.y += y_offset;
op_list = get_button (style, j, button_states[j]);
if (op_list)
@ -4598,8 +4593,6 @@ void
meta_frame_style_draw (MetaFrameStyle *style,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
const MetaFrameGeometry *fgeom,
int client_width,
int client_height,
@ -4610,8 +4603,7 @@ meta_frame_style_draw (MetaFrameStyle *style,
GdkPixbuf *icon)
{
meta_frame_style_draw_with_style (style, gtk_widget_get_style (widget), widget,
cr, x_offset, y_offset,
fgeom, client_width, client_height,
cr, fgeom, client_width, client_height,
title_layout, text_height,
button_states, mini_icon, icon);
}
@ -5181,8 +5173,6 @@ meta_theme_draw_frame_with_style (MetaTheme *theme,
GtkStyle *style_gtk,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
MetaFrameType type,
MetaFrameFlags flags,
int client_width,
@ -5217,7 +5207,6 @@ meta_theme_draw_frame_with_style (MetaTheme *theme,
style_gtk,
widget,
cr,
x_offset, y_offset,
&fgeom,
client_width, client_height,
title_layout,
@ -5230,8 +5219,6 @@ void
meta_theme_draw_frame (MetaTheme *theme,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
MetaFrameType type,
MetaFrameFlags flags,
int client_width,
@ -5244,7 +5231,7 @@ meta_theme_draw_frame (MetaTheme *theme,
GdkPixbuf *icon)
{
meta_theme_draw_frame_with_style (theme, gtk_widget_get_style (widget), widget,
cr, x_offset, y_offset, type,flags,
cr, type,flags,
client_width, client_height,
title_layout, text_height,
button_layout, button_states,
@ -5255,8 +5242,6 @@ void
meta_theme_draw_frame_by_name (MetaTheme *theme,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
const gchar *style_name,
MetaFrameFlags flags,
int client_width,
@ -5288,7 +5273,6 @@ meta_theme_draw_frame_by_name (MetaTheme *theme,
meta_frame_style_draw (style,
widget,
cr,
x_offset, y_offset,
&fgeom,
client_width, client_height,
title_layout,

View file

@ -1010,8 +1010,6 @@ void meta_frame_style_unref (MetaFrameStyle *style);
void meta_frame_style_draw (MetaFrameStyle *style,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
const MetaFrameGeometry *fgeom,
int client_width,
int client_height,
@ -1026,8 +1024,6 @@ void meta_frame_style_draw_with_style (MetaFrameStyle *style,
GtkStyle *style_gtk,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
const MetaFrameGeometry *fgeom,
int client_width,
int client_height,
@ -1073,8 +1069,6 @@ double meta_theme_get_title_scale (MetaTheme *theme,
void meta_theme_draw_frame (MetaTheme *theme,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
MetaFrameType type,
MetaFrameFlags flags,
int client_width,
@ -1089,8 +1083,6 @@ void meta_theme_draw_frame (MetaTheme *theme,
void meta_theme_draw_frame_by_name (MetaTheme *theme,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
const gchar *style_name,
MetaFrameFlags flags,
int client_width,
@ -1106,8 +1098,6 @@ void meta_theme_draw_frame_with_style (MetaTheme *theme,
GtkStyle *style_gtk,
GtkWidget *widget,
cairo_t *cr,
int x_offset,
int y_offset,
MetaFrameType type,
MetaFrameFlags flags,
int client_width,