summaryrefslogtreecommitdiff
path: root/src/lib/ector/software/ector_software_private.h (follow)
AgeCommit message (Collapse)Author
2019-09-06ector: code refactoring.Hermet Park
Current vector drawing requires several methods for compositing, it's shouldnt have only masking but other blending functions such as matte in lottie, porter&duff in android, etc. Previously we didn't specify this method name, just reserved the options and now we started to define the methods with ector_renderer_composite_method() with Efl.Gfx.VG_Composite_Method instead of mask_set().
2019-08-22efl_canvas_vg_shape/ector_software : Set and use stroke miterlimitJunsuChoi
Summary: efl_canvas_vg_shape is set to miterlimit with Efl.Gfx.Shape.stroke_miterlimit and pass the value from rasterizer to freetype. NOTE: The default value is 4. It only refers to the standard of web svg. https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit Depends D9657 Test Plan: N/A Reviewers: Hermet, smohanty, kimcinoo Subscribers: cedric, #committers, #reviewers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9665
2019-08-20Revert "ector: code refactoring."Hermet Park
This reverts commit dad166f84a02cfffc2a07bc804e7b7e35ed4a40d. Ector is not public, this breaks enlightenment compilation,
2019-08-20ector: code refactoring.Hermet Park
Current vector drawing requires several methods for compositing, it's shouldnt have only masking but other blending functions such as matte in lottie, porter&duff in android, etc. Previously we didn't specify this method name, just reserved the options and now we started to define the methods with ector_renderer_composite_method() instead of mask_set().
2019-06-20ector: Fix precomp layer rendering issue when it has alpha valueJunsuChoi
Summary: When the precomp layer(parent layer) has alpha transparency and has more than 1 child layer and they overlap each other if vg object just propagate the alpha to child layer it will be applied twice in overlapped area. Even if the child layer does not have alpha transparency, parent alpha is applied to each child. Test Plan: N/A Reviewers: Hermet, smohanty Reviewed By: Hermet Subscribers: cedric, #reviewers, kimcinoo, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D9072
2018-12-07evas ector: add software implmentation for masking feature.Hermet Park
This implementation uses Ector_Buffer to generate mask image from vg container, and pass it to Ector engine. Ector renderer could blend this image as a mask. Yet only vg container works as a mask, we could extend shape to support masking later. Still vector gl drawing is not completed, We use software ector buffer to draw on it. This is on progessing.
2018-12-07ector: code refactoring.Hermet Park
make code clean and neat. no logical changes.
2017-09-17ector: move gradient color computation to a pool of thread.Cedric Bail
This has been a long standing plan for improving performance in rendering vector object. If your test involve updating gradient, you will get another speedup of around 15%. Combined with previous shape, we get a 65% improvement with doing the CPU intensive computation in there own thread before the rendering kickoff. This was motly theorical until now, but well, it works great !
2017-09-17ector: move RLE shape/stroke computation to a pool of thread.Cedric Bail
This has been a long standing plan for improving performance in rendering vector object. Depending on the test, you will get an improvement between 10 to 35% when rendering vector based object. We are still maintaining the Cairo backend as the default one at the moment due to a lack of result comparison tests between the two engine. Hopefully we should get that covered and we can all enjoy a backend that is 4 times faster by default.
2017-09-17ector: add ability to run task in another thread during preparation stage.Cedric Bail
2017-04-14evas filters: Refactor ector and gfx filters A LOTJean-Philippe Andre
Alright, so this is a massive patch that is the result of trying to get rid of unused or poorly implemented classes in ector. Originally ector was meant to support VG but extend to things like filters as well. At the moment, ector's design makes it quite hard to plug in the filters. For now I think it's easier to implement the GL support for the filters directly in the engine, where I hope to interfere as little as possible. This massive patch keeps only the required minimum to support a versatile gl buffer that can be mapped, drawn or rendered to (FBO). It's extremely inefficient as it relies on glReadPixels and lots of texture uploads, as well as conversions between ARGB and Alpha. Another type of GL buffer is a wrap around an existing GL image, but that one is read-only (map or draw: no write map, no FBO). No, all the filters run fine, and the high-level implementation (evas_filters.c) does not need to know whether the underlying engine is SW or GL. One problem though appears with the blending or blurring of some Alpha buffers, the colors are wrong. This patch removes more lines than it adds so it must be good ;)
2016-11-15evas/vg: fix handling of stroke width in cairo and native backendSubhransu Mohanty
T3351 Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-05-11Ector generic: Remove .Generic and .Base (hack no longer needed).Tom Hacohen
2015-12-03Ector: use uint32_t instead of uintJean-Philippe Andre
This fixes the build for Windows. Thanks @vtorri for the report. I'm not using "unsigned int" as uint was mostly used like DATA32, ie. color data (one pixel color or a pixel buffer).
2015-12-03Ector: Another minor code cleanupJean-Philippe Andre
Remove DATA8, DATA16, DATA32 Remove empty data structure Remove unnecessary typedef
2015-12-03Ector: Move drawhelper to static_libsJean-Philippe Andre
Rename a few things: - draw helper -> efl_draw - Ector_Rop -> Efl.Gfx.Render_Op - ECTOR_ bla bla -> DRAW_ bla bla (base pixel ops) - ector_memfill -> draw_memset32 (and invert arg order to match memset) The main rasterizer file is now draw.h in static_libs/draw This is a non functional change, simple code refactor.
2015-12-03Ector: Use Ector Buffer inside SW and Cairo renderersJean-Philippe Andre
Ector Surface now inherits from Ector Buffer, and the current two renderers (SW and Cairo SW) use Ector.Software.Buffer implementations for pixel surfaces. Basic pixel handling is merged and will allow easy extension (color conversion, etc...). Buffer classes are Mixins to be fully implemented by the final class, such as: Ector.Software.Buffer, Ector.Software.Surface or Ector.Cairo.Surface. This is a large ugly commit. Sorry. The code is quite a mess right now.
2015-12-03Ector: Implement pixel buffer supportJean-Philippe Andre
The objective of this patch is to propose a standardized format for pixel buffers to use within Ector and Evas. The basic EO API provided here is not meant to be the fastest path for all operations, simply the most convenient to generalize. Performance will be achieved by implementing (or porting) custom draw functions. This implements support for: - Generic pixel buffers - Generic buffer renderer to draw images with ector - Software engine pixel buffers, ie. malloc buffers - Software buffer renderer Cairo support has not been implemented yet. The only renderer is still extremely limited, as it does not support Fill modes, Scaling, etc... yet. Not a single line from this patch has been tested yet. It compiles. That's pretty damn good for a start! @feature
2015-08-19ector: add alpha field to gradient data.Subhransu Mohanty
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-08-19ector: add bounding box info in RLE data for software backend.Subhransu Mohanty
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-07-16Ectore: And more build fixes for @mythri! :)Jean-Philippe Andre
2015-04-03ector: fix coding style of freetype backend.Subhransu Sekhar Mohanty
2015-04-03ector: add reference point to define (0, 0) and don't repeat the same value ↵Cedric BAIL
everywhere.
2015-04-03ector: add software backend using FreeType rasterizer.Subhransu Sekhar Mohanty