path: root/src/lib/evas/canvas (follow)
AgeCommit message (Collapse)Author
2016-08-04evas: Clip objects to framespace properlydevs/devilhorns/framespaceChris Michael
This patch removes the old method of forcing objects to be clipped to a master framespace clipping rectangle. Signed-off-by: Chris Michael <>
2016-07-31Canvas text: fix range geometry calculation for RTLDaniel Hirt
Fixes T3627. @fix
2016-07-29evas canvas destruction - detect zombie objs and hack at them with axesCarsten Haitzler (Rasterman)
ok. so here's the issue at least now. we have eo objects in the canvas and they have a refcount of 2 user_refcount is 0. the calls stack does NOT show we are calling callbacks at that time on these objects. they are not in the backtrace (the canvas is, the objects themselves are not). SOMETHING is keeping 2 eo "internal" refs on these objects and i have no idea what/how/who. it's a royal pain in the butt to find out as the only way is lots and lots of logging and you get drowned in the logging... so what I have now done is a super ugly workaround that detects these zombie objects that refuse to die and just FORCES them to die when the evas canvas frees and clears out layers. ac10a00acc6bacf01bfd208cc78b4eb2a6a925d8 doesn't really cause the issue, it just brings it out in the open for all to see far more easily. but something is deeply wrong SOMEWHERE with SOME objects and our refcounts. this fixes T4187
2016-07-24evas image updates - optimize by over-rendering less with hidden contentCarsten Haitzler (Rasterman)
so if an img obj had some update regions and was opaque, it didnt del an update region first before adding the updates, thus possibly letting update regions pass through the opaque image area @fix
2016-07-20evas image updates - reduce overhead with bordered images not scaledCarsten Haitzler (Rasterman)
this fixes over-rendering (where we render the whole image) if it has a border set. do proper region updates if the image has a border but is not scaled and the fill is at 0 0 and sams size as the object etc. etc. so this is simple and doable. this fixes T4123
2016-07-20evas objkect image - make opaque rect getting code more readableCarsten Haitzler (Rasterman)
this just makes it more obvious where its handling the opaque middle fill case. see T4123 - i was just reding the code and this seemingly does the right thing.
2016-07-19textblock: Prevent crash in evas_object_textblock_cursor_new(NULL)Jean-Philippe Andre
This happened in expedite
2016-07-19efl: Add support for efl_event_flags() to hold eventsJean-Philippe Andre
This fixes the following ERR message: ERR<30400>:eo /home/jpeg/e/core/efl/src/lib/eo/eo.c:462 _eo_call_resolve() in ../src/lib/evas/canvas/efl_event_input.eo.c:3: func 'efl_event_flags_get' (1483) could not be resolved for class 'Efl_Event_Hold'. This is an EO-API only fix.
2016-07-19efl: Hold event (EO API) should implement instance_getJean-Philippe Andre
This fixes the following ERR: ERR<23969>:eo /home/jpeg/e/core/efl/src/lib/eo/eo.c:462 _eo_call_resolve() in ../src/lib/efl/interfaces/efl_event.eo.c:5: func 'efl_event_instance_get' (1479) could not be resolved for class 'Efl_Event_Hold'.
2016-07-19evas - on shutdown avoid potential invalid memory accessCarsten Haitzler (Rasterman)
i don't know for sure if this fixes T4103 but in theory i think it might given a reading of the backtrace and a guess at what might happen, so try this fix. it doesn't hurt and can only help. @fix
2016-07-19evas: Avoid proxy subrender if size is 0Jean-Philippe Andre
See also D4159. This is an alternative to the proposed patch. Fixes T3949 (I hope!)
2016-07-18evas: Also fix was_opaque for rect & imageJean-Philippe Andre
I believe the function is not used, so it doesn't really matter.
2016-07-18evas: Some more opacity check fixesJean-Philippe Andre
This should fix T3309 Snapshot objects are image objects, so the function is_opaque exists. No need to bypass it. Also, alpha rectangles are not opaque. Assume that anything with a filter is not opaque. All of this fixes T3309 but the main point was on snapshot objects (probably because the only point of a snapshot is to apply a filter on it).
2016-07-18evas: Fix cutout regions with transparent imagesJean-Philippe Andre
This should fix rendering issues with E theme and transparent borders. Fixes T3309
2016-07-12Canvas text: add "changed" eventDaniel Hirt
We need to keep track on changes of content.
2016-07-12Canvas text: fix annotation setDaniel Hirt
The cursor position was not set correctly to the respective fnode, causing annotation to not be applied correctly with text that has more than one paragraph.
2016-07-12Ui text: don't null-check for free()Daniel Hirt
2016-07-11Canvas text: fix corner case in range geometry calcDaniel Hirt
The trivial case of [pos,pos] (i.e. range of length 0) didn't work if there is a format item in 'pos'. The condition was fixed to not include such items. The reason it was not apparent for text items is that these have further handling in the rest of the code and would've been disposed of. @fix
2016-07-11evas render2 region - handle if src region is empty correctly on addCarsten Haitzler (Rasterman)
fix coverity CID 1313542
2016-07-11evas object freeing - fix missing null check for layerCarsten Haitzler (Rasterman)
fix CID 1039409
2016-07-11Evas textblock: Apply scale factor to <linesize>, <linegap> formatsYoungbok Shin
Summary: Font size is scaled according to scale factor. The linesize, linegap formats also have to be scaled properly. @fix Test Plan: Test cases are included. Run "make check" Reviewers: woohyun, Jieun, tasn, herdsman Reviewed By: tasn Subscribers: raster, cedric, jpeg Differential Revision:
2016-07-11Evas Text: Fix width of BiDi textMinwoo, Lee
Summary: BiDi text is truncated because the way we find the last visual item in text object is wrong. This patch is similar with _line_native_last_visual_get function in textblock. Reviewers: cedric, tasn, herdsman Subscribers: id213sin, cedric, jpeg Differential Revision:
2016-07-09evas textblock - fix deref before null check shown by coverityCarsten Haitzler (Rasterman)
fixes CID 1356927
2016-07-08evas: Fix warning about unused functionJean-Philippe Andre
I kept it here for the record. It was useful, could be useful again.
2016-07-08evas regions in render2 - work around coverity complaintsCarsten Haitzler (Rasterman)
CID 1352392 is a false positive as the ptr is not dereferenced, but not making coverity confused it good.
2016-07-08evas event handling4- fix more corner cases where bounding is badCarsten Haitzler (Rasterman)
so smart object bounding box wasnt updated properly in several other cases. fix those other cases too by dirtying bounding box region. this continues on from: f6b3c31561276a6c7afc8fb56ae2e5363772782c 25d77bc1d24d9fd539c681fa58db976c1ca65051 9f0fd66ab818d212fa88faef316ac17625f1a2f5 this fixes T4017 @fix
2016-07-07evas event handling3 - fix yet more corner cases for clipped objectsCarsten Haitzler (Rasterman)
this is a continuation fix from 25d77bc1d24d9fd539c681fa58db976c1ca65051 and 9f0fd66ab818d212fa88faef316ac17625f1a2f5 this fixes yet more corner cases after the above 2 fixes. our clip cache tracking code seems to be broken somewhere and not updating - at least when events are processed so i did ti the slightly slower way and recursed through clippers to figure it out in this path. it all works now it seems but it's got a small speed hit. better be right than a little faster. @fix
2016-07-06evas: fix initialisation and shutdown of eet and eina by mesh loader and saver.Cedric BAIL
2016-07-05evas event handling2 - fix incorrect object reportingCarsten Haitzler (Rasterman)
this fixes a new bug brought up by 9f0fd66ab818d212fa88faef316ac17625f1a2f5 which fixes event reporting etc. etc. .. this fixes T4017 @fix
2016-07-05evas: Fix crash (?) in evas eventsJean-Philippe Andre
Reported by Shuhrat Dehkanov on the ML. See f0fd66ab818d212fa88faef316ac17625f1a2f5. Note: I didn't have a crash myself.
2016-07-05efl: Remove del_intercept before calling eo_delJean-Philippe Andre
In class destructor. Still not sure if we should do this or just set the pointer to NULL. Ping @TAsn
2016-07-05evas event handling - fix incorrect object reportingCarsten Haitzler (Rasterman)
this fixes event reporting for mouse in/out/move/down/up due to evas just totally getting tese objects wrong. this fixes T3718 @fix
2016-07-04efl - fix lots of little init/shutdown pairs that are wrongCarsten Haitzler (Rasterman)
i've fixed almost all the eina init/shutdown pairs to do the right thing now... except one (ecore_shutdown) with comment inline where eo_shutdown is not called. if this is called we are in crash land. this needs further inspection.
2016-07-04evas: Fix rare issue with recursive proxy src invisibleJean-Philippe Andre
Scenario: smart { text proxy -> text, src_invisible } proxy -> smart What we should see: smart { (blank) proxy -> text } proxy -> { (blank) proxy -> text } What we saw: smart { (blank) proxy -> text } proxy -> { text proxy -> text } Solution: Check in evas render, when we're inside a proxy render, and the proxy src_invisible flag is on (evas_object_source_visible_set(0), that we're rendering the object itself to its proxy surface. If not, it means we're rendering another proxy surface, ie. a parent smart object's proxy surface. Still loving evas render. Fixes T4006. @fix
2016-07-04evas/textblock: Mark unused variable.Daniel Juyung Seo
2016-07-03Canvas text: simplify efl_text_getDaniel Hirt
2016-07-03Canvas text: fix leak in annotation_insertDaniel Hirt
2016-07-03Canvas text: fix leak in efl_text_setDaniel Hirt
2016-07-03Canvas text cursor: fix bug after code portDaniel Hirt
Fixes T4005. Also, unified repeated code and added a test for multiple cursors.
2016-07-03evas update buf - dont ref and unref outbug as an evas image - it's notCarsten Haitzler (Rasterman)
we need calls to ref/unref them from engines, but atm it's ok because they dont get deleted until the flush is done and not used after that... @fix
2016-06-30evas object: Move display_mode to Efl.Gfx.Size.HintJean-Philippe Andre
2016-06-29evas: Add & fix legacy APIs for text filtersJean-Philippe Andre
Those are marked as EINA_DEPRECATED since they are for legacy only, and EDC is the preferred method. Note: these are new in EFL 1.18. I would rather have not added them as legacy APIs. This patch is here to align to Tizen which added them by mistake. Also, remove the "name" argument from filter_program_set as it's not required, and also not there in Tizen's code base. Sorry for the mess.
2016-06-29evas: Implement evas map support in eo as a mixinJean-Philippe Andre
It relies a bit on evas legacy APIs and will only work on evas objects (Efl.Canvas.Object) for now. The main difference with Evas_Map is that there is no separate map object, as the functions apply directly to any canvas object. For convenience, most functions will automatically populate the map if there was no previous map info. While this may be convenient, the object's size changes still need to be tracked to update the map info.
2016-06-29evas: Move evas_map APIs from common to legacy headerJean-Philippe Andre
+ define Evas_Map struct in Evas_Legacy.h (not eo) Otherwise, just a simple cut & paste
2016-06-29evas: Move map to a separate mixinJean-Philippe Andre
Evas map is not translated to proper eo apis yet. Efl.Canvas.Map will be a mixin implementing the evas map API in a bindable API.
2016-06-28evas: Fix double stringshare_delJean-Philippe Andre
A stringshare for font "style" was not properly duplicated, resulting in lots of invalid stringshare pointers. Ping @id213sin (commit 2ce33e73a7d48d4b54a075c07f12c0162).
2016-06-28evas: add pattern "style" when evas query fonts via fontconfigYoungbok Shin
Summary: Some fonts can have weird style and weight value. If a font has a style name as "medium" and a weight value as "semi-bold", Evas can't load the font using "font=Somefont:style=Medium". It only can be load with "font=Somefont:style=SemiBold" or "font=Somefont:weight=SemiBold". On the other hand, it could be loaded when I tested the following commands. fc-match -s ":family=Somefont:style=Medium" or fc-match -s ":family=Somefont:weight=SemiBold" Evas also should load font based on font's style name. @fix Test Plan: N/A Reviewers: tasn, herdsman, cedric, woohyun, raster Reviewed By: raster Subscribers: Blackmole, z-wony, jpeg Differential Revision:
2016-06-27Canvas text: fix format annotations deletionDaniel Hirt
2016-06-27evas: Fix bad clipping with proxyJean-Philippe Andre
evas-images2 example was broken due to excessive clipping. This is one more issue with the cached clip geometry. By default proxy_src_clip is true. The doc (that I wrote) mentions that it means both objects (image proxy & source) share the same clipper. So, this does not mean that the proxy is clipped to the geometry of the source (this can be useful in some cases, when replacing an object with a proxy to apply some kind of effect on it... but this could be rare). Thanks Amitesh for the report. @fix
2016-06-27Evas events: Implement support for hold eventJean-Philippe Andre