efl/src/lib/ector
junsu choi 949cf2750b ector_software_rasterizer: Add default value for stroke's miter_limit
Summary:
Currently the default value of miter_limit is defined as 0.
miter_limit should be specified to a value other than 0. becuase it is affected by width.
See below for an explanation of this.
https://www.freetype.org/freetype2/docs/reference/ft2-glyph_stroker.html#ft_stroker_linejoin

There is no particular reason why the default value is 0x4.
It only refers to the standard of web svg.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit

Test Plan:
   setenv("ECTOR_BACKEND", "default", 1);
   elm_init(argc, argv);
   Evas_Object *win = elm_win_util_standard_add(NULL, "test");
   evas_object_smart_callback_add(win, "delete,request", win_del, 0);
   elm_win_autodel_set(win, 1);
   Evas_Object *bg = elm_bg_add(win);
   elm_bg_color_set(bg, 255,255,255);
   evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   evas_object_show(bg);

   Evas *evas = evas_object_evas_get(win);

   Evas_Object *vg = evas_object_vg_add(evas);
   evas_object_show(vg);
   Evas_Object *container = evas_vg_container_add(vg);

   Evas_Object *shape = evas_vg_shape_add(container); //Default is EFL_GFX_JOIN_MITER
   evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
   evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
   evas_vg_shape_stroke_width_set(shape, 10);
   evas_vg_node_origin_set(shape, 50, 150);

   shape = evas_vg_shape_add(container);
   evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
   evas_vg_shape_stroke_join_set(shape, EFL_GFX_JOIN_BEVEL);
   evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
   evas_vg_shape_stroke_width_set(shape, 10);
   evas_vg_node_origin_set(shape, 200, 150);

   shape = evas_vg_shape_add(container);
   evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
   evas_vg_shape_stroke_join_set(shape, EFL_GFX_JOIN_ROUND);
   evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
   evas_vg_shape_stroke_width_set(shape, 10);
   evas_vg_node_origin_set(shape, 350, 150);

   evas_object_vg_root_node_set(vg, container);
   elm_object_content_set(bg, vg);

   elm_win_resize_object_add(win, bg);
   evas_object_resize(win, WIDTH, HEIGHT);
   evas_object_show(win);
   elm_run();
   elm_shutdown();

Reviewers: smohanty, Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9492
2019-08-05 18:08:50 +09:00
..
cairo eolian: rename @warn_unused and its associated API 2019-05-26 17:41:22 +02:00
gl eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
software ector_software_rasterizer: Add default value for stroke's miter_limit 2019-08-05 18:08:50 +09:00
Ector.h docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
ector_buffer.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
ector_buffer.eo eolian: rename @warn_unused and its associated API 2019-05-26 17:41:22 +02:00
ector_buffer.h evas filters: Refactor ector and gfx filters A LOT 2017-04-14 11:26:43 +09:00
ector_gl_internal.h headers: update copyright 2016-12-20 10:31:26 -06:00
ector_main.c
ector_private.h Ector.Renderer : Implement Ector.Renderer.(Software).Image class 2019-07-22 13:29:02 +09:00
ector_renderer.c Ector.Renderer: Prevent too many unref. 2019-07-09 15:46:41 +09:00
ector_renderer.eo eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
ector_renderer.h Ector.Renderer : Implement Ector.Renderer.(Software).Image class 2019-07-22 13:29:02 +09:00
ector_renderer_gradient.c evas ector: fix memory leaks. 2018-11-14 21:51:24 +09:00
ector_renderer_gradient.eo eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
ector_renderer_gradient_linear.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
ector_renderer_gradient_linear.eo eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
ector_renderer_gradient_radial.c eolian gen: enable constness generation on property getter impls 2018-04-17 20:31:55 +02:00
ector_renderer_gradient_radial.eo eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
ector_renderer_image.c Ector.Renderer : Implement Ector.Renderer.(Software).Image class 2019-07-22 13:29:02 +09:00
ector_renderer_image.eo Ector.Renderer : Implement Ector.Renderer.(Software).Image class 2019-07-22 13:29:02 +09:00
ector_renderer_shape.c ector: replace custom _efl_refplace by generic efl_replace. 2018-11-16 12:22:20 +09:00
ector_renderer_shape.eo eolian: move from eo_prefix to c_prefix 2019-05-09 16:17:44 +02:00
ector_surface.eo ector: Fix precomp layer rendering issue when it has alpha value 2019-06-20 16:07:05 +09:00
ector_surface.h
ector_types.eot docs: document all missing type defines in our eo files 2016-11-03 11:57:40 +01:00
ector_util.h
meson.build Ector.Renderer : Implement Ector.Renderer.(Software).Image class 2019-07-22 13:29:02 +09:00