SwRenderer: fixing unnecessary nesting in prepare() 36/242236/3
authorMira Grudzinska <m.grudzinska@samsung.com>
Mon, 24 Aug 2020 21:31:50 +0000 (23:31 +0200)
committerHermet Park <chuneon.park@samsung.com>
Tue, 25 Aug 2020 07:48:33 +0000 (16:48 +0900)
Validating the above by adding shape/canvas update to testCapi.cpp

Change-Id: I7db8d014f4aff7b5b2884c2dca5af119329e9d43

src/lib/sw_engine/tvgSwRenderer.cpp
test/testCapi.c

index 1a1e0bf..28ddf63 100644 (file)
@@ -127,28 +127,28 @@ void* SwRenderer::prepare(const Shape& sdata, void* data, const RenderTransform*
                 if (!shapeGenRle(shape, &sdata, clip, antiAlias)) return shape;
             }
         }
-        //Fill
-        if (flags & (RenderUpdateFlag::Gradient | RenderUpdateFlag::Transform)) {
-            auto fill = sdata.fill();
-            if (fill) {
-                auto ctable = (flags & RenderUpdateFlag::Gradient) ? true : false;
-                if (ctable) shapeResetFill(shape);
-                if (!shapeGenFillColors(shape, fill, matrix, surface, ctable)) return shape;
-            } else {
-                shapeDelFill(shape);
-            }
+    }
+    //Fill
+    if (flags & (RenderUpdateFlag::Gradient | RenderUpdateFlag::Transform)) {
+        auto fill = sdata.fill();
+        if (fill) {
+            auto ctable = (flags & RenderUpdateFlag::Gradient) ? true : false;
+            if (ctable) shapeResetFill(shape);
+            if (!shapeGenFillColors(shape, fill, matrix, surface, ctable)) return shape;
+        } else {
+            shapeDelFill(shape);
         }
-        //Stroke
-        if (flags & (RenderUpdateFlag::Stroke | RenderUpdateFlag::Transform)) {
-            if (strokeAlpha > 0) {
-                shapeResetStroke(shape, &sdata, matrix);
-                if (!shapeGenStrokeRle(shape, &sdata, matrix, clip)) return shape;
-            } else {
-                shapeDelStroke(shape);
-            }
+    }
+    //Stroke
+    if (flags & (RenderUpdateFlag::Stroke | RenderUpdateFlag::Transform)) {
+        if (strokeAlpha > 0) {
+            shapeResetStroke(shape, &sdata, matrix);
+            if (!shapeGenStrokeRle(shape, &sdata, matrix, clip)) return shape;
+        } else {
+            shapeDelStroke(shape);
         }
-        shapeDelOutline(shape);
     }
+    shapeDelOutline(shape);
 
     return shape;
 }
@@ -182,4 +182,4 @@ SwRenderer* SwRenderer::inst()
 {
     //We know renderer type, avoid dynamic_cast for performance.
     return static_cast<SwRenderer*>(RenderInitializer::inst(renderInit));
-}
\ No newline at end of file
+}
index 1b0018d..e31db67 100644 (file)
@@ -32,7 +32,6 @@ void testCapi()
         {.offset=1.0, .r=0, .g=0, .b=255, .a=255}\r
     };\r
 \r
-\r
     Tvg_Paint *shape1 = tvg_shape_new();\r
     tvg_shape_append_rect(shape1, 500, 500, 100, 100, 30, 30);\r
     Tvg_Gradient* grad1 = tvg_radial_gradient_new();\r
@@ -103,9 +102,23 @@ void testCapi()
     };\r
     tvg_gradient_color_stops(grad5, color_stops5, 2);\r
     tvg_shape_linear_gradient_set(shape4, grad5);\r
-\r
     tvg_canvas_push(canvas, shape4);\r
 \r
+    Tvg_Gradient* grad6 = tvg_radial_gradient_new();\r
+    tvg_radial_gradient_set(grad6, 550, 550, 50);\r
+    Tvg_Color_Stop color_stops6[2] =\r
+    {\r
+        {.offset=0.0, .r=0, .g=125, .b=0, .a=255},\r
+        {.offset=1, .r=125, .g=0, .b=125, .a=255},\r
+    };\r
+    tvg_gradient_color_stops(grad6, color_stops6, 2);\r
+    tvg_shape_radial_gradient_set(shape1, grad6);\r
+    tvg_canvas_update(canvas);\r
+\r
+    tvg_shape_set_stroke_width(shape,3);\r
+    tvg_shape_set_stroke_color(shape, 125, 0, 125, 255);\r
+    tvg_canvas_update_paint(canvas, shape);\r
+\r
     tvg_canvas_draw(canvas);\r
     tvg_canvas_sync(canvas);\r
 \r