toytoolkit: Take into account transform when sending output allocation.
This commit is contained in:
committed by
Kristian Høgsberg
parent
b36f7ef99e
commit
4e07236e87
+17
-2
@@ -238,6 +238,7 @@ struct output {
|
|||||||
struct wl_output *output;
|
struct wl_output *output;
|
||||||
struct rectangle allocation;
|
struct rectangle allocation;
|
||||||
struct wl_list link;
|
struct wl_list link;
|
||||||
|
int transform;
|
||||||
|
|
||||||
display_output_handler_t destroy_handler;
|
display_output_handler_t destroy_handler;
|
||||||
void *user_data;
|
void *user_data;
|
||||||
@@ -3454,6 +3455,7 @@ display_handle_geometry(void *data,
|
|||||||
|
|
||||||
output->allocation.x = x;
|
output->allocation.x = x;
|
||||||
output->allocation.y = y;
|
output->allocation.y = y;
|
||||||
|
output->transform = transform;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -3546,9 +3548,22 @@ output_set_destroy_handler(struct output *output,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
output_get_allocation(struct output *output, struct rectangle *allocation)
|
output_get_allocation(struct output *output, struct rectangle *base)
|
||||||
{
|
{
|
||||||
*allocation = output->allocation;
|
struct rectangle allocation = output->allocation;
|
||||||
|
|
||||||
|
switch (output->transform) {
|
||||||
|
case WL_OUTPUT_TRANSFORM_90:
|
||||||
|
case WL_OUTPUT_TRANSFORM_270:
|
||||||
|
case WL_OUTPUT_TRANSFORM_FLIPPED_90:
|
||||||
|
case WL_OUTPUT_TRANSFORM_FLIPPED_270:
|
||||||
|
/* Swap width and height */
|
||||||
|
allocation.width = output->allocation.height;
|
||||||
|
allocation.height = output->allocation.width;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
*base = allocation;
|
||||||
}
|
}
|
||||||
|
|
||||||
struct wl_output *
|
struct wl_output *
|
||||||
|
|||||||
Reference in New Issue
Block a user