summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>2014-08-21 15:20:45 +0900
committerNobuhiko Tanibata <NOBUHIKO_TANIBATA@denso.co.jp>2014-08-21 21:50:56 +0900
commitd39e6caa19eb4df39ded990b1a7f11acce97905b (patch)
treeec41037ff34140a63d3187472f32e045ad8be786
parente881b106681c6e45257579024e524ee3f6d8a928 (diff)
downloadweston-d39e6caa19eb4df39ded990b1a7f11acce97905b.tar.gz
ivi-layout: fix transform matrix could not be invertible in update_scale
Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>
-rw-r--r--ivi-shell/ivi-layout.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c
index 0244072f..39b7a968 100644
--- a/ivi-shell/ivi-layout.c
+++ b/ivi-shell/ivi-layout.c
@@ -697,20 +697,15 @@ update_scale(struct ivi_layout_layer *ivilayer,
return;
}
- if (ivisurf->prop.sourceWidth == 0 && ivisurf->prop.sourceHeight == 0) {
- ivisurf->prop.sourceWidth = ivisurf->surface->width_from_buffer;
- ivisurf->prop.sourceHeight = ivisurf->surface->height_from_buffer;
-
- if (ivisurf->prop.destWidth == 0 && ivisurf->prop.destHeight == 0) {
- ivisurf->prop.destWidth = ivisurf->surface->width_from_buffer;
- ivisurf->prop.destHeight = ivisurf->surface->height_from_buffer;
- }
+ if (ivisurf->prop.destWidth == 0 && ivisurf->prop.destHeight == 0) {
+ ivisurf->prop.destWidth = ivisurf->surface->width_from_buffer;
+ ivisurf->prop.destHeight = ivisurf->surface->height_from_buffer;
}
- lw = ((float)ivilayer->prop.destWidth / ivilayer->prop.sourceWidth );
- sw = ((float)ivisurf->prop.destWidth / ivisurf->prop.sourceWidth );
- lh = ((float)ivilayer->prop.destHeight / ivilayer->prop.sourceHeight);
- sh = ((float)ivisurf->prop.destHeight / ivisurf->prop.sourceHeight );
+ lw = ((float)ivilayer->prop.destWidth / (float)ivilayer->prop.sourceWidth );
+ sw = ((float)ivisurf->prop.destWidth / (float)ivisurf->prop.sourceWidth );
+ lh = ((float)ivilayer->prop.destHeight / (float)ivilayer->prop.sourceHeight);
+ sh = ((float)ivisurf->prop.destHeight / (float)ivisurf->prop.sourceHeight );
sx = sw * lw;
sy = sh * lh;