summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas (follow)
AgeCommit message (Collapse)Author
4 daysevas_textblock: prevent updating cursor unless they are ready during markup_setAli
Summary: During Markup_set at text block level, we will not update the cursors, unless their status is updated and ready. This can cause serious issues, especially if a cursor also depends on another cursor for some calculations, (like the segfault happening in TextBox T8637) Reviewers: woohyun, bu5hm4n, zmike Reviewed By: woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8637 Differential Revision: https://phab.enlightenment.org/D11598
5 daysevas: free font lists correctlyMarcel Hollerbach
sometimes a canvas object is zombying, and does not get freed correctly. If this is right now happening in our test suite, we are going to free the list, but do not clean up the pointer in there. Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D11594
5 daysevas/render: minor cleanups for norender functionsMike Blumenkrantz
Summary: evas_norender cannot produce update regions, so there's nothing to free remove commented lines no functional changes Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11584
5 dayscanvas 3d: remove all canvas3d features across efl.Hermet Park
Reviewers: jsuya, kimcinoo, bu5hm4n, raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11552
6 daysevas: add function for norendering with updatesMike Blumenkrantz
Summary: the same as norender, but useful Depends on D11581 Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11582
6 daysevas/render: produce update regions when do_draw isn't set but make_updates isMike Blumenkrantz
Summary: this is a valid combination of parameters that should be handled Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11581
7 daysdoxygen docs: Fix warnings in textblockXavi Artigas
7 dayscanvass vg: fix a mistake in 69fd72af2cae8dce07ac2becad40eccbb55b5bc7Hermet Park
7 dayscanvas vg: drop vg cache buffers if object were destroyed.Hermet Park
Previous vg didn't take care of cached buffers which were allocated in it's lifetime because the cache buffers are managed by its own cache buffer mgr, it has a limitation count of buffers also buffers can be cleared when engine is shutdown. This behavior is actually working properly but not well optimized since it lost a chance to clear grown buffers. Now vg do clear used buffers when object is invalidated.
10 daysevas/render: fix log ptr access in render threadMike Blumenkrantz
when this lock is released, the evas may be immediately freed, leading to invalid access in the log call Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11536
10 daysevas filter: work for native surfaceShinwoo Kim
Summary: Filter does not know how to draw native surface image using engine_data. It means that only image knows how to draw it. In case of GL engine, image is using a shader program for IMAGENATIVE in the common_context_image_push. This patch makes filter work for native surface image by drawing the native surface first using the common_context_image_push as below. Before: image -> common_filter_*_push -> filter_output After: image -> common_context_image_push -> filter_input -> common_filter_*_push -> filter_output Test Plan: {F3856981} Reviewers: Hermet, jsuya, herb Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11546
13 daysevas_table: inherit all the types we are implementingMarcel Hollerbach
13 daysevas_table: inherit all the types we are implementingMarcel Hollerbach
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D11515
13 daysevas_vg: add since tags for evas vector APIsTaehyub Kim
Summary: Depends on D11518 Reviewers: jsuya, Hermet Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11519
13 daysevas_vg: refined the documentation for evas vector APIsTaehyub Kim
Summary: Depends on D11517 Reviewers: jsuya, Hermet Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11518
13 daysevas_vg: refined the evas vector APIs setTaehyub Kim
Reviewers: jsuya, Hermet Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11517
2020-03-16evas_render: use do_async for mapped child (SW)Shinwoo Kim
Summary: On the SW engine, the rendering has inconsistent between smart object and non-smart object, if they are mapped children. The smart object does ASYNC render while the non-smart object does SYNC render. Because of this there is a filckering rendering problem. [Problem] The following is a case of problems. elm_layout (mapped, map_surface_1) │ ├─ elm_image_1 (mapped) │ └─ elm_image_2 (not mapped) │ └─ evas_object_image After elm_image_1 adds draw command to the draw thread queue, and it starts its drawing on the map_surface_1 on a thread, and stops middle of drawing. At this point, evas_object_image does SYNC draw on the same surface map_surface_1. And the thread for elm_image_1 works for remains. Because the evas_object_image draws before finishing drawing of elm_image_1, There is the problem. F.Y.I. From the first evas_render has done SYNC render for mapped child. cb10c7d evas: Modify software_generic ... with threaded renderer This patch makes mapped children do ASYNC render. Test Plan: {F3856130} {F3856131} Reviewers: Hermet, jsuya, herb Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11506
2020-03-12evas_object_box: respect static clipper.Alastair Poole
Check here for a static clipper else the clipper will move. This causes problems with very large boxes where content will stop rendering due to the clipper moving. Originally this wasn't meant to move but this was missed with the API changes. It wasn't noticed as the clipper default size is very large. See: src/lib/evas/canvas/evas_object_smart.c. If we exceed the 10k range content does not render due to the move. @fix
2020-03-12doxygen docs: Fix some more invalid commandsXavi Artigas
2020-03-12efl_canvas_vg_shape: fix the wrong parameter order in the wrapper of ↵Taehyub Kim
evas_vg_shape_append_cubic_to() Summary: The x, y parameter order should be the end of efl_gfx_path_append_cubic_to() Reviewers: Hermet, jsuya Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11491
2020-03-12canvas proxy: fix a missing case that proxy not updated properly.Hermet Park
Very complex to say, if its source object is remained as chaged state in pending object in rendering stage, the proxy object could miss to update in the next frame because source object won't be changed again in evas_object_change(). Thus we need to double-check if the proxy missed update or not just in the rendering. Not clean but this is a compromised solution to not be burden for finding/checking proxies in object trees every time. @fix
2020-03-11evas_textblock: replace evil tabs with spacesAli Alzyod
Reviewers: devilhorns, ali.alzyod Reviewed By: devilhorns Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11482
2020-03-10evas.image: add evas_object_image_animated_frame_getShinwoo Kim
this adds an api for getting the current frame of an animation Differential Revision: https://phab.enlightenment.org/D11455
2020-03-10evas_object_text: Fix unused parameterChristopher Michael
When we do Not build with BIDI_SUPPORT, then "const Eo *eo_obj" is never used and thus spits out an unused parameter warning during compile. This has been bugging me for quite some time now, so put in a small patch to silence this warning.
2020-03-08rewrite efl cnp and dnd handlingMarcel Hollerbach
the previous commits introduced a abstraction for drag in drop which can be now used for this here. With this commit all the direct protocol handling in efl.ui is removed, and only the ecore evas API is used. Additionally, this lead to a giant refactor of how APIs do work. All Efl.Ui. interfaces have been removed except Efl.Ui.Selection and Efl.Ui.Dnd, these two have been restructored. A small list of what is new: - In general no function pointers are used anymore. They feel very uncompftable in bindings and in C. For us its a lot easier to just listen to a event when a drop enters or leaves, there is no need to register custom functions for that. - Asynchronous data transphere is handled via futures, which proved to be more error safe. - Formats and actions are handled as mime types / strings. - 0 is the default seat if you do not know what else to take. - Content is in general passes as a content container from eina, this also allows applications to pass custom types The legacy dnd and cnp API is implemented based on that. All cnp related things are in elm_cnp.c the dnd parts are in elm_dnd.c Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Differential Revision: https://phab.enlightenment.org/D11190
2020-03-06evas_pbject_intercept: add missing parenthesisDaniel Kolesa
Broken in 7c99e0a444d81cc545181682f1a4ae00f76d0873. *spanks*
2020-03-06evas_object_intercept: Add check for NULL 'obj' variable inside macrosChristopher Michael
This patch adds a small check for a valid 'obj' variable inside the object_intercept macros, which fixes several Coverity reported issues of NULL pointer dereference. Fixes CID1420239 through CID1420258
2020-03-06canvas grid: fix inifinite loop dead.Hermet Park
Here parent smart del() call occurs inifinite loop for member deletion, Maybe we need a better clean and neat solution here.
2020-03-06evas/image: implement efl.file loading and mmap getters to correctly handle ↵Mike Blumenkrantz
skip_head when this property is set, the mixin implementation of efl_file_load() is never called, which means the internal loaded flag (and related data) is not set, and so the values for these properties must instead be returned directly from the image data Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11423
2020-03-06evas: set mmap data to image data after preload with skip_head enabledMike Blumenkrantz
this is a bit ugly, but in the case where skip_head is used it's important to propagate the resulting Eina_File back up to the image object's data for use in other api functions Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11422
2020-03-06evas_object_intercept: Use efl_data_scope_safe_getChristopher Michael
As per mailing list discussion, This macro is apparently a forward facing API so we should be using efl_data_scope_safe_get in the event that the API receives an object of the wrong type (which would have caused a crash previously). Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11450
2020-03-06evas_object_intercept: Reduce calls to efl_data_scope_getChristopher Michael
Small patch to reduce the number of calls to efl_data_scope_get as per mailing list discussion. Since the EVAS_OBJECT_INTERCEPT_CALLBACK_DEFINE macro already retrieves the protected data via efl_data_scope_get, we can just pass that protected data directly to evas_object_intercept_init/deinit functions without the need to refetch it. Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de> Differential Revision: https://phab.enlightenment.org/D11449
2020-03-04evas: Fix dereferenceing null pointerChristopher Michael
Coverity reports a forward null here. If we do not get obj from efl_data_scope_get then we should return. Also fixes some formatting Fixes CID1420216
2020-03-04evas: Fix mouse event info for legacy events.Hosang Kim
Summary: Legacy event info have canvas and output coordinates. Output coordinates have information of original position. Canvas coordinates have information of transformed position. So keep backward compatibility, fix filling legacy information. This reverts commit 7f724f6c5db1127a6dd5786791f495b58910e9a9 Reviewers: Hermet, zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11445
2020-03-03evas: ++safety by prevent invalid accesses.Hermet Park
2020-03-02evas event: fix typo at map coord transform.Hermet Park
2020-02-20canvas proxy: fix broken proxy source clipping function.Hermet Park
The issue is proxy source clipping is not applied properly, Obviously that is a regression bug by the code refactoring. Found out this condition is insane, looks like a wrongly introduced. @fix
2020-02-18Revert "canvas mask: fix incorrect render surface size."Hermet Park
This reverts commit e3af5eb27f70edf531d5d8de3e3f2c940536d396. Seems previous is correct. My misunderstanding.
2020-02-18canvas mask: fix incorrect render surface size.Hermet Park
This render context works on a mask surface, Size should be mask's own, not canvas output size. @fix
2020-02-14evas: restore codepath for loading images from files with skip_head setMike Blumenkrantz
Summary: this was never handled during refactoring because it had already been removed from the tree by that point fix T8378 Depends on D11339 Reviewers: raster Reviewed By: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8378 Differential Revision: https://phab.enlightenment.org/D11340
2020-02-14canvas image: remove unnecessary condition check.Hermet Park
2020-02-14gfx mapping: + null check for safetyHermet Park
2020-02-14canvas vector: remove unreacheable code.Hermet Park
pd->buffer is always false.
2020-02-13evas_textblock : remove wrong condition check for size_t valueSangHyeon Jade Lee
Summary: pos in cursor handle is defined size_t type, (see efl_canvas_textblock_internal.h) which is unsigned int, and always bigger or equal to 0. Reviewers: bowonryu, ali.alzyod Reviewed By: ali.alzyod Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11333
2020-02-13canvas textblock: + null handlingHermet Park
2020-02-13canvas textblock: + null safetyHermet Park
2020-02-12evas: remove redundant conditions.Wonki Kim
Summary: conditions of the inner and outer statement are identical. this patch removes a condition of them. Reviewers: jsuya, Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11324
2020-02-11evas_render: initialize variableShinwoo Kim
Summary: evas_object_image_load_region_get could be called with following stack. (#0) evas_object_image_load_region_get (#1) evas_render_proxy_subrender (#2) evas_filter_context_proxy_render_all (#3) evas_filter_object_render (#4) evas_object_text_render This means that evas_object_image_load_region_get is called by text object. In this case, the load region value has garbabe, and it leads to invalid memory access which is detected by Assan(T8610). This patch initialize variable before using evas_object_image_load_region_set. Reviewers: Hermet, jsuya, bu5hm4n, zmike Reviewed By: zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11316
2020-02-11canvas proxy: fix broken proxy source clip set behavior.Hermet Park
Some internal logic has been wrongly changed while it's on refactoring. Fixed by reverting it.
2020-02-11efl.canvas.textblock: allow all white spaces in style string not just spaceAli Alzyod
Summary: style string can contain any kind of white spaces and it will be fine For example ``` "font=sans font_size=30 color=red " ``` Is the same as ``` "font=sans\tfont_size=30\n color=red " ``` Reviewers: woohyun, segfaultxavi, tasn, zmike Reviewed By: segfaultxavi Subscribers: bu5hm4n, cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8532 Differential Revision: https://phab.enlightenment.org/D11303