From c5e60773890022456a06f5e36351d18af1850d0b Mon Sep 17 00:00:00 2001 From: "hoonik.lee" Date: Tue, 11 Jun 2013 13:51:10 +0900 Subject: [PATCH] Modify default bound of composite mode from unbound to bound Change-Id: I0d1f3e2fa7502de9e0ee619ccbfc5d75b550ad7c Signed-off-by: hoonik.lee --- src/graphics/FGrp_CanvasPixman.cpp | 40 +++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/src/graphics/FGrp_CanvasPixman.cpp b/src/graphics/FGrp_CanvasPixman.cpp index da5a8b1..2705500 100755 --- a/src/graphics/FGrp_CanvasPixman.cpp +++ b/src/graphics/FGrp_CanvasPixman.cpp @@ -439,8 +439,18 @@ bool CopyPixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics: switch (rop) { - case PIXMAN_OP_CLEAR: - case PIXMAN_OP_SRC: + case PIXMAN_OP_IN: + case PIXMAN_OP_IN_REVERSE: + case PIXMAN_OP_OUT: + case PIXMAN_OP_ATOP_REVERSE: + { + pixman_transform_t transform; + pixman_transform_init_identity(&transform); + pixman_transform_translate(&transform, NULL, pixman_double_to_fixed(-(xDest - 0.5)), pixman_double_to_fixed(-(yDest - 0.5))); + + return CompositePixmap(dstImage, srcImage, rop, filter, transform, PIXMAN_REPEAT_NONE); + } + default: { int dstX1 = int(floor(xDest)); int dstX2 = int(ceil(xDest + srcImage.width)); @@ -455,14 +465,6 @@ bool CopyPixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics: pixman_transform_translate(&transform, NULL, pixman_double_to_fixed(dstX1 -(xDest - 0.5)), pixman_double_to_fixed(dstY1 -(yDest - 0.5))); return CompositePixmap(dstImageSub, srcImageSub, rop, filter, transform, PIXMAN_REPEAT_NONE); } - default: - { - pixman_transform_t transform; - pixman_transform_init_identity(&transform); - pixman_transform_translate(&transform, NULL, pixman_double_to_fixed(-(xDest - 0.5)), pixman_double_to_fixed(-(yDest - 0.5))); - - return CompositePixmap(dstImage, srcImage, rop, filter, transform, PIXMAN_REPEAT_NONE); - } } } @@ -505,8 +507,16 @@ bool ScalePixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics switch (rop) { - case PIXMAN_OP_CLEAR: - case PIXMAN_OP_SRC: + case PIXMAN_OP_IN: + case PIXMAN_OP_IN_REVERSE: + case PIXMAN_OP_OUT: + case PIXMAN_OP_ATOP_REVERSE: + { + pixman_transform_t transform = Tizen::Graphics::_Pixman::GetTransform(srcImage.width, srcImage.height, xDest - 0.5, yDest - 0.5, wDest, hDest); + + return CompositePixmap(dstImage, srcImage, rop, filter, transform, PIXMAN_REPEAT_NONE); + } + default: { int dstX1 = int(floor(xDest)); int dstY1 = int(floor(yDest)); @@ -520,12 +530,6 @@ bool ScalePixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics return CompositePixmap(dstImageSub, srcImageSub, rop, filter, transform, PIXMAN_REPEAT_NONE); } - default: - { - pixman_transform_t transform = Tizen::Graphics::_Pixman::GetTransform(srcImage.width, srcImage.height, xDest - 0.5, yDest - 0.5, wDest, hDest); - - return CompositePixmap(dstImage, srcImage, rop, filter, transform, PIXMAN_REPEAT_NONE); - } } } -- 2.7.4