* clipped accordingly.
*/
static void
-_e_video_hwc_tdm_viewport_clip(E_Video_Hwc_Geometry *in_out, E_Zone *zone)
+_e_video_hwc_tdm_viewport_clip(E_Video_Hwc_Geometry *in_out, E_Zone *zone, int transform)
{
Eina_Rectangle *dst_rect, *src_rect;
Eina_Rectangle new_dst_rect, clip_rect;
Evas_Point p[2];
- EINA_RECTANGLE_SET(&clip_rect, zone->x, zone->y, zone->w, zone->h);
+ switch (transform & 0x3)
+ {
+ case WL_OUTPUT_TRANSFORM_90:
+ case WL_OUTPUT_TRANSFORM_270:
+ EINA_RECTANGLE_SET(&clip_rect, zone->x, zone->y, zone->h, zone->w);
+ break;
+ default:
+ EINA_RECTANGLE_SET(&clip_rect, zone->x, zone->y, zone->w, zone->h);
+ break;
+ }
+
src_rect = &in_out->input_r;
dst_rect = &in_out->tdm.output_r;
ec, EINA_RECTANGLE_ARGS(&out->output_r), out->transform, transform,
EINA_RECTANGLE_ARGS(&out->tdm.output_r), out->tdm.transform);
- _e_video_hwc_tdm_viewport_clip(out, zone);
+ _e_video_hwc_tdm_viewport_clip(out, zone, output->transform);
return;
normal: