summaryrefslogtreecommitdiff
path: root/src/lib/ector/software/ector_renderer_software_shape.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/ector/software/ector_renderer_software_shape.c')
-rw-r--r--src/lib/ector/software/ector_renderer_software_shape.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/lib/ector/software/ector_renderer_software_shape.c b/src/lib/ector/software/ector_renderer_software_shape.c
index 0db1ea2a70..658a82e41f 100644
--- a/src/lib/ector/software/ector_renderer_software_shape.c
+++ b/src/lib/ector/software/ector_renderer_software_shape.c
@@ -271,7 +271,7 @@ typedef struct _Line
double y2;
}Line;
-static void
+static void
_line_value_set(Line *l, double x1, double y1, double x2, double y2)
{
l->x1 = x1;
@@ -281,7 +281,7 @@ _line_value_set(Line *l, double x1, double y1, double x2, double y2)
}
// approximate sqrt(x*x + y*y) using alpha max plus beta min algorithm.
-// With alpha = 1, beta = 3/8, giving results with the largest error less
+// With alpha = 1, beta = 3/8, giving results with the largest error less
// than 7% compared to the exact value.
static double
_line_length(Line *l)
@@ -339,7 +339,7 @@ _dasher_line_to(Dash_Stroker *dasher, double x, double y)
_outline_line_to(dasher->outline, x, y);
}
}
- else
+ else
{
while (line_len > dasher->cur_dash_length)
{
@@ -404,7 +404,7 @@ _dasher_cubic_to(Dash_Stroker *dasher, double cx1 , double cy1, double cx2, doub
_outline_cubic_to(dasher->outline, cx1, cy1, cx2, cy2, x, y);
}
}
- else
+ else
{
while (bez_len > dasher->cur_dash_length)
{
@@ -535,8 +535,8 @@ _need_update_rle(Eo *obj, Ector_Renderer_Software_Shape_Data *pd)
{
if (pd->task) return pd->task;
- if (!_generate_stroke_data(pd) &&
- !_generate_shape_data(pd))
+ if (!pd->base->visibility || (!_generate_stroke_data(pd) &&
+ !_generate_shape_data(pd)))
return NULL;
const Efl_Gfx_Path_Command *cmds;
@@ -654,8 +654,8 @@ _ector_renderer_software_shape_ector_renderer_draw(Eo *obj EINA_UNUSED,
if (task) ector_software_wait(_update_rle, _done_rle, task);
// adjust the offset
- x = pd->surface->x + (int)pd->base->origin.x;
- y = pd->surface->y + (int)pd->base->origin.y;
+ x = (int)pd->base->origin.x - pd->surface->x;
+ y = (int)pd->base->origin.y - pd->surface->y;
ector_software_rasterizer_clip_rect_set(pd->surface->rasterizer, clips);
ector_software_rasterizer_transform_set(pd->surface->rasterizer, pd->base->m);