diff options
author | Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> | 2014-08-21 15:20:45 +0900 |
---|---|---|
committer | Nobuhiko Tanibata <NOBUHIKO_TANIBATA@denso.co.jp> | 2014-08-21 21:50:56 +0900 |
commit | d39e6caa19eb4df39ded990b1a7f11acce97905b (patch) | |
tree | ec41037ff34140a63d3187472f32e045ad8be786 | |
parent | e881b106681c6e45257579024e524ee3f6d8a928 (diff) | |
download | weston-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.c | 19 |
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; |