modify DrawBitmap APIs for supporting CompositeMode
authorhoonik.lee <hoonik.lee@samsung.com>
Fri, 22 Mar 2013 10:57:49 +0000 (19:57 +0900)
committerhoonik.lee <hoonik.lee@samsung.com>
Fri, 22 Mar 2013 10:57:49 +0000 (19:57 +0900)
Change-Id: I1d8fd99b4778a6edb723035fc75000dac1cb5cc4
Signed-off-by: hoonik.lee <hoonik.lee@samsung.com>
src/graphics/FGrp_Canvas.cpp
src/graphics/FGrp_CanvasPixman.cpp
src/graphics/FGrp_CanvasPixman.h

index 2b064e6..05268d2 100644 (file)
@@ -1345,7 +1345,7 @@ _Canvas::DrawBitmap(const Rectangle& rect, const _Bitmap& bitmap)
                                _Util::Pixmap dstImageUnclipped(dstBufferInfo.width, dstBufferInfo.height, dstBufferInfo.bitsPerPixel, dstBufferInfo.pPixels, dstBufferInfo.pitch);
                                _Util::Pixmap dstImage = dstImageUnclipped.GetSubBitmap(outRect.x, outRect.y, outRect.w, outRect.h);
 
-                               pass = _Pixman::ScalePixmap(dstImage, srcImage, GetDrawingQuality());
+                               pass = _Pixman::ScalePixmap(dstImage, srcImage, GetDrawingQuality(), GetCompositeMode());
                        }
 
                        if (!pass)
@@ -1453,7 +1453,6 @@ _Canvas::DrawBitmap(const Rectangle& rect, const _Bitmap& bitmap)
        }
 }
 
-
 result
 _Canvas::DrawBitmap(const Point& point, const _Bitmap& bitmap)
 {
@@ -1542,7 +1541,7 @@ _Canvas::DrawBitmap(const Point& point, const _Bitmap& bitmap)
                                                _Util::Pixmap dstImageUnclipped(dstBufferInfo.width, dstBufferInfo.height, dstBufferInfo.bitsPerPixel, dstBufferInfo.pPixels, dstBufferInfo.pitch);
                                                _Util::Pixmap dstImage = dstImageUnclipped.GetSubBitmap(outRect.x, outRect.y, outRect.w, outRect.h);
 
-                                               pass = _Pixman::CopyPixmap(dstImage, srcImage, GetDrawingQuality(), COMPOSITE_MODE_SRC_OVER);
+                                               pass = _Pixman::CopyPixmap(dstImage, srcImage, GetDrawingQuality(), GetCompositeMode());
                                        }
                                }
 
@@ -1632,7 +1631,7 @@ _Canvas::DrawBitmap(const Rectangle& destRect, const _Bitmap& srcBitmap, const R
                                _Util::Pixmap dstImageUnclipped(dstBufferInfo.width, dstBufferInfo.height, dstBufferInfo.bitsPerPixel, dstBufferInfo.pPixels, dstBufferInfo.pitch);
                                _Util::Pixmap dstImage = dstImageUnclipped.GetSubBitmap(outRect.x, outRect.y, outRect.w, outRect.h);
 
-                               pass = _Pixman::ScalePixmap(dstImage, srcImage, GetDrawingQuality());
+                               pass = _Pixman::ScalePixmap(dstImage, srcImage, GetDrawingQuality(), GetCompositeMode());
                        }
 
                        if (!pass)
@@ -2012,7 +2011,7 @@ _Canvas::DrawBitmap(const Point& point, const _Bitmap& bitmap, const Point& pivo
                        _Util::Pixmap dstImageUnclipped(dstBufferInfo.width, dstBufferInfo.height, dstBufferInfo.bitsPerPixel, dstBufferInfo.pPixels, dstBufferInfo.pitch);
                        _Util::Pixmap dstImage = dstImageUnclipped.GetSubBitmap(clipRect.x, clipRect.y, clipRect.width, clipRect.height);
 
-                       pass = _Pixman::RotatePixmap(dstImage, srcImage, GetDrawingQuality(), point.x - clipRect.x, point.y - clipRect.y, degree, pivot.x, pivot.y);
+                       pass = _Pixman::RotatePixmap(dstImage, srcImage, GetDrawingQuality(), GetCompositeMode(), point.x - clipRect.x, point.y - clipRect.y, degree, pivot.x, pivot.y);
                }
 
                if (pass)
index 25b9e25..4f5fec8 100644 (file)
@@ -318,17 +318,18 @@ bool ScalePixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics
        return CompositePixmap(dstImage, srcImage, rop, filter, transform, PIXMAN_REPEAT_NORMAL);
 }
 
-bool RotatePixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics::_Util::Pixmap& srcImage, Tizen::Graphics::BitmapDrawingQuality drawingQuality, int xDest, int yDest, double degree, int xPivot, int yPivot)
+bool RotatePixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics::_Util::Pixmap& srcImage, Tizen::Graphics::BitmapDrawingQuality drawingQuality, Tizen::Graphics::CompositeMode compositeMode, int xDest, int yDest, double degree, int xPivot, int yPivot)
 {
        if (dstImage.width <= 0 || dstImage.height <= 0)
        {
                return true;
        }
 
+       pixman_op_t rop = Tizen::Graphics::_Pixman::GetRop(compositeMode);
        pixman_filter_t filter = Tizen::Graphics::_Pixman::GetFilter(drawingQuality);
        pixman_transform_t transform = Tizen::Graphics::_Pixman::GetTransform(xDest, yDest, degree, xPivot, yPivot);
 
-       return CompositePixmap(dstImage, srcImage, PIXMAN_OP_OVER, filter, transform, PIXMAN_REPEAT_NONE);
+       return CompositePixmap(dstImage, srcImage, rop, filter, transform, PIXMAN_REPEAT_NONE);
 }
 
 } // _Pixman
index fa099ff..cb4f141 100644 (file)
@@ -47,7 +47,7 @@ bool
 ResizePixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics::_Util::Pixmap& srcImage, Tizen::Graphics::BitmapScalingQuality scalingQuality);
 
 bool
-RotatePixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics::_Util::Pixmap& srcImage, Tizen::Graphics::BitmapDrawingQuality drawingQuality, int xDest, int yDest, double degree, int xPivot, int yPivot);
+RotatePixmap(Tizen::Graphics::_Util::Pixmap& dstImage, const Tizen::Graphics::_Util::Pixmap& srcImage, Tizen::Graphics::BitmapDrawingQuality drawingQuality, Tizen::Graphics::CompositeMode compositeMode, int xDest, int yDest, double degree, int xPivot, int yPivot);
 
 } // Tizen::Graphics::_Pixman