From a3242c0d0d251d13faebd5e72eb109b4fab6d9ca Mon Sep 17 00:00:00 2001 From: Nobuhiko Tanibata Date: Thu, 21 Aug 2014 15:20:45 +0900 Subject: [PATCH 20/31] ivi-layout: fix transform matrix could not be invertible in update_scale Signed-off-by: Nobuhiko Tanibata --- ivi-shell/ivi-layout.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/ivi-shell/ivi-layout.c b/ivi-shell/ivi-layout.c index 0244072..39b7a96 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; -- 1.9.3