diff --git a/src/compositor.c b/src/compositor.c index 3d65e4cd..cd1ca9a4 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -3198,8 +3198,6 @@ weston_output_update_matrix(struct weston_output *output) 2.0 / output->width, -2.0 / output->height, 1); - weston_output_compute_transform(output); - if (output->zoom.active) { magnification = 1 / (1 - output->zoom.spring_z.current); weston_output_update_zoom(output); @@ -3209,6 +3207,8 @@ weston_output_update_matrix(struct weston_output *output) magnification, 1.0); } + weston_output_compute_transform(output); + output->dirty = 0; } diff --git a/src/zoom.c b/src/zoom.c index 622c0d7c..7553849d 100644 --- a/src/zoom.c +++ b/src/zoom.c @@ -110,50 +110,6 @@ zoom_area_center_from_pointer(struct weston_output *output, *y -= ((((*y - offset_y) / (float) h) - 0.5) * (h * (1.0 - level))); } -static void -weston_zoom_apply_output_transform(struct weston_output *output, - float *x, float *y) -{ - float tx, ty; - - switch(output->transform) { - case WL_OUTPUT_TRANSFORM_NORMAL: - default: - return; - case WL_OUTPUT_TRANSFORM_90: - tx = -*y; - ty = *x; - break; - case WL_OUTPUT_TRANSFORM_180: - tx = -*x; - ty = -*y; - break; - case WL_OUTPUT_TRANSFORM_270: - tx = *y; - ty = -*x; - break; - case WL_OUTPUT_TRANSFORM_FLIPPED: - tx = -*x; - ty = *y; - break; - case WL_OUTPUT_TRANSFORM_FLIPPED_90: - tx = -*y; - ty = -*x; - break; - case WL_OUTPUT_TRANSFORM_FLIPPED_180: - tx = *x; - ty = -*y; - break; - case WL_OUTPUT_TRANSFORM_FLIPPED_270: - tx = *y; - ty = *x; - break; - } - - *x = tx; - *y = ty; -} - static void weston_output_update_zoom_transform(struct weston_output *output) { @@ -183,9 +139,6 @@ weston_output_update_zoom_transform(struct weston_output *output) ((((global_y - output->y) / output->height) * (level * 2)) - level) * ratio; - weston_zoom_apply_output_transform(output, &output->zoom.trans_x, - &output->zoom.trans_y); - trans_max = level * 2 - level; trans_min = -trans_max;