This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch edje-vector-intergration
in repository efl.

View the commit online.

commit 1cb75560e97d62b55e1f2c7f0a76573d5ac1c273
Author: [email protected] <[email protected]>
AuthorDate: Sat May 2 21:49:42 2026 -0600

    examples/edje: morph vector_states demo to the Enlightenment logo
    
    Replace the worked example's rounded-square default state and blocky
    letter-E hover state with paths that morph between a rounded square and
    the actual Enlightenment logo — the stylised round E extracted from
    data/elementary/themes/img/svg/enlightenment.svg.
    
    The new hover path is visibly more interesting and matches the project's
    branding, making the example more compelling as a showcase of vector state
    animation. Topology is preserved (M + 2 L + 13 C + Z) so efl_gfx_path_
    interpolate() produces a smooth morph between the two shapes, and control
    points in the default state trace edges and corners that align with the
    logo's feature positions.
    
    - Default state: rounded square with 16 vertices distributed around the
      perimeter, straight-edge cubics (collinear control points) and corner
      cubics with control points at the would-be sharp corners.
    - Hover state: Enlightenment E outline transformed to 100×100 viewbox
      and rescaled from SVG coordinates.
    
    Verified: edje_cc compiles with zero warnings, edje_player renders the
    morph correctly on mouse-in/out, and all 91 edje_suite tests pass.
    
    Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
---
 src/examples/edje/vector_states.edc | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/examples/edje/vector_states.edc b/src/examples/edje/vector_states.edc
index db3edf3898..41fcb0471c 100644
--- a/src/examples/edje/vector_states.edc
+++ b/src/examples/edje/vector_states.edc
@@ -38,9 +38,19 @@ collections {
             stop { offset: 1.0; color_class: "logo_outline"; }
          }
          shape { name: "body";
-            /* topology: M + 8×L + Z — identical command sequence in both
-             * states, so efl_gfx_path_interpolate() can morph the path. */
-            path: "M0,0 L0,0 L100,0 L100,0 L100,100 L100,100 L0,100 L0,100 L0,0";
+            /* Topology: M + 2 L + 13 C + Z — identical command sequence
+             * in both states so efl_gfx_path_interpolate() can morph the
+             * path.  The hover state is the actual Enlightenment logo
+             * (extracted from data/elementary/themes/img/svg/enlightenment.svg
+             * and rescaled to a 100x100 viewbox).  The default state
+             * traces a rounded square with the same 16-vertex layout —
+             * straight cubics on the edges (control points collinear)
+             * and four corner cubics with control points at the would-be
+             * sharp corner.  The two L commands sit between the top
+             * edge's first half and the right edge's bottom (matching
+             * the L positions in the logo, which mark where the outer
+             * ring meets the inner cut). */
+            path: "M12,0 L50,0 C63,0 75,0 88,0 C100,0 100,0 100,12 C100,18 100,24 100,30 C100,37 100,43 100,50 C100,57 100,63 100,70 L100,88 C100,100 100,100 88,100 C75,100 62,100 50,100 C37,100 24,100 12,100 C0,100 0,100 0,88 C0,79 0,69 0,60 C0,52 0,43 0,35 C0,27 0,20 0,12 C0,0 0,0 12,0 Z";
             fill.gradient: "body_grad";
             stroke.color_class: "logo_outline";
             stroke.width: 2;
@@ -66,7 +76,12 @@ collections {
                 *     logo_hover so the warm colour leads the gradient. */
                vector.shape {
                   target: "body";
-                  path: "M0,0 L50,-80 L100,0 L180,50 L100,100 L50,180 L0,100 L-80,50 L0,0";
+                  /* Same topology as default (M + 2 L + 13 C + Z).  This
+                   * is the Enlightenment "E" logo — a stylised round E
+                   * formed by an outer ring with an inner cut.  Path
+                   * extracted from data/elementary/themes/img/svg/
+                   * enlightenment.svg, transformed to viewbox 0,0,100,100. */
+                  path: "M30.17,42.65 L75.78,73.10 C77.67,71.14 77.67,71.14 78.88,69.33 C89.13,54.01 85.57,32.05 69.38,21.28 C53.13,10.33 31.46,15.41 21.13,30.74 C11.25,45.59 13.62,67.40 30.68,78.96 C45.61,88.82 59.60,84.48 68.18,79.73 L63.89,72.38 C54.65,77.26 43.82,77.84 35.48,72.16 C22.65,63.66 20.12,46.96 28.03,35.27 C35.81,23.53 51.90,19.96 64.64,28.36 C78.04,37.45 77.26,53.24 73.93,60.31 C72.47,59.30 71.00,58.29 69.53,57.28 C73.36,47.37 69.47,37.58 61.81,32.46 C52.79,26.42 39.71,27 [...]
                   stroke.width: 4;
                }
                vector.gradient_linear {

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to