summaryrefslogtreecommitdiff
path: root/src/modules
Commit message (Collapse)AuthorAgeFilesLines
* evas_vg_load_svg: Fix colorstop offset parserJunsuChoi2022-01-121-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Values different from numbers and percentages should be ignored and the default values should be applied (zeros). And set the min and max of the offset value to be 0, 1. Also, this patch make that the offset is not input in the reverse order. Test Plan: Test SVG Image ``` <svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" > <linearGradient id="grad" x1="0" y1="0" x2="1" y2="1"> <stop offset="10%" stop-color="white"/> <stop offset="0.2" stop-color="red"/> <stop offset="30% k" stop-color="blue"/> <stop offset="40%" stop-color="yellow"/> <stop offset="0.5m" stop-color="red"/> <stop offset="0.6 " stop-color="green"/> <stop offset="70%m" stop-color="black"/> <stop offset="80%" stop-color="white"/> </linearGradient> <rect x="20" y="20" width="160" height="160" fill="url(#grad)"/> </svg> ``` Result {F4792365} Reviewers: Hermet, raster, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12318
* evas_vg_load_svg: Add check that stroke-dasharray is "none"JunsuChoi2022-01-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Summary: "none" is the default value of dasharray and can actually be used. Currently using "none" causes a segfault. This patch prevents it. Test Plan: SVG image ``` <svg viewBox="0 0 30 10" xmlns="http://www.w3.org/2000/svg"> <line x1="0" y1="3" x2="30" y2="3" stroke="black" stroke-dasharray="none" /> </svg> ``` Reviewers: Hermet, raster, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12317
* evas_vg_load_svg: Fix negative attrs lengthJunsuChoi2022-01-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Summary: After finding no attributes but spaces, attrsLength could be negative. This will cause a segfault in parser functions. So, change the position of attrs_length to prevent this. Test Plan: Example SVG ``` <?xml version="1.0" encoding="UTF-8"?> <svg><g ></g></svg> ``` Reviewers: Hermet, raster, kimcinoo Reviewed By: Hermet Subscribers: #reviewers, cedric, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12314
* evas_vg_load_svg: Prevent array overflowJunsuChoi2022-01-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | Summary: sz must be less than 20 to append 'carriage return' Test Plan: Example SVG ``` <?xml version="1.0" encoding="UTF-8"?> <svg><aaaaaaaaaaaaaaaaaaaa > </aaaaaaaaaaaaaaaaaaaa></svg> ``` @fix Reviewers: Hermet, raster, kimcinoo Reviewed By: raster Subscribers: cedric, #committers, #reviewers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12313
* avif saver: fix test on the returned type of fwrite()Vincent Torri2021-12-161-1/+1
| | | | | | | | | | | | | | Test Plan: save as avif file Reviewers: raster Reviewed By: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12310
* ecore evas - wl - detect timestamsp too far in the past and complainCarsten Haitzler (Rasterman)2021-12-101-0/+8
| | | | | | | | | | | | this has all sorts of nasty side effects by rewinding time far too much and thus causing timers to expire early and so on - these timestamps are MEANT to be like a frame vsync time... they thus should be like normally 0.02sec or so in the past or less... (0.008s on average) so at 0.1 sec complain and ignore the old timestamp. weston does this and sends us timestmaps 0.33sec in the past ... and its not nice. @fix
* evas - loaders - avif, heif - allow threaded loadingCarsten Haitzler (Rasterman)2021-12-042-2/+2
| | | | | | i see no good reason to not allow these loaders to run in threads. they are isolated and i don't see a reason for the libs called to not be threadsafe.
* Evas engines: remove last bits of evas_cserve2Vincent Torri2021-10-262-39/+0
| | | | | | | | | | | | Reviewers: raster Reviewed By: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12302
* evas - software x11 - remove unused xlib+egl code in sw x11Carsten Haitzler (Rasterman)2021-10-254-354/+1
| | | | this code is unused and just wastest space, compile time etc.
* Evas: remove old xcb code in software_x11 codeVincent Torri2021-10-253-34/+12
| | | | | | | | | | | | Summary: this backend code was for selecting XCB over Xlib. Now XCB is removed, this code is useless Reviewers: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12299
* emotion - properly track subtitle mute state and init emotion obj earlyCarsten Haitzler (Rasterman)2021-09-262-9/+10
| | | | | | | fix setting things on an emotion obj early bu initting engine early and also track spu mute flags to set on pipe later @fix
* evas - gl x11 - dont crearte eglimage multiple times in same frameCarsten Haitzler (Rasterman)2021-09-064-2/+8
| | | | | | if we're rendering in multiple scissor regions/updates - dont create the eglimage multiple times for each bind+pass - only once for that frame.
* evas - gl - ensure surfaces are 0 when destroyedCarsten Haitzler (Rasterman)2021-09-051-1/+3
| | | | easier on debugging when we know that we destroyed them already
* evas gl: bind texture with external target for mapShinwoo Kim2021-07-281-1/+8
| | | | | | | | | | | | | | | | | | | | | | Summary: egl images created using tbm surface for native surface set use GL_TEXTURE_EXTERNA_OES as texture target, so we should bind to this target when rendering. Or there is a GL_INVALID_OPERATION error on glBindTexture in function _orig_shader_array_flush. Thia patch follows logic of following commit; 7db0e20 evas/gl: Bind texture with external target for tbm surface Reviewers: Hermet, raster, jsuya, herb Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12286
* evas - tga - remove errant printfCarsten Haitzler (Rasterman)2021-07-051-1/+0
|
* ecore evas - fix leake and possile seg i added in cnp paste fixCarsten Haitzler (Rasterman)2021-06-261-1/+1
| | | | | previous commit fixed a bug but added this possible one. this fixes that.
* ecore evas - cnp - look for exact mime matches before conversionsCarsten Haitzler (Rasterman)2021-06-261-5/+23
| | | | | | fixes chrome -> efl copy and paste. @fix
* evas_vg_load_svg: Fix color parsingJunsuChoi2021-06-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Remove unnecessary point movement in rgb(255, 255, 255) case in svg parsing. In svg parsing, move the pointer by 'rgb(' before calling _color_parser() in the rgb(255, 255, 255) case. In function, string pointer moved unnecessary, so parsing is incorrect. Therefore, remove unnecessary point movement. Test Plan: svg sample code ``` <svg xmlns:svg="http://www.w3.org/2000/svg" viewBox="0 0 300 300"> <path d="M 0 0 h 200 v 200 z" style="fill:rgb(255, 155, 55);"/> </svg> ``` before {F4504779} after {F4504778} Reviewers: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12284
* gif loader: show the current frame image if getting row is failedTaehyub Kim2021-05-241-4/+6
| | | | | | | | | | | | | | | | | | Summary: Change-Id: I17c79f89550e9a758a532babd55826b3c7ad2810 To show gif animation smoothly, we keep the current frame even if getting line is failed. Currently, the frame image will be freed if getting gif line is failed and this makes the frame drop. Reviewers: Hermet, kimcinoo, raster Reviewed By: raster Subscribers: raster, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12277
* egl: silence warning of deprecated feature test.Alastair Poole2021-05-183-6/+6
|
* evas gl - dont swap with damages if we are debugging partialCarsten Haitzler (Rasterman)2021-05-031-1/+1
|
* evas - image loader - tiff - switch types to avoid deprecated warningsCarsten Haitzler (Rasterman)2021-05-031-10/+10
|
* evas - saver - tiff - change types to remove deprecated warningsCarsten Haitzler (Rasterman)2021-05-031-5/+5
|
* fix modules/ecore_evas/engines/wayland compilationJérémy Zurcher2021-04-183-36/+18
| | | | | broken after introduction of EMODAPI by a33138 Differential Revision: https://phab.enlightenment.org/D1222
* modules: Rename EAPI macro to MODAPI for modulesFelipe Magno de Almeida2021-04-1731-353/+279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Patch from a series of patches to rename EAPI symbols to specific library DSOs. = The Rationale = EAPI was designed to be able to pass `__attribute__ ((visibility ("default")))` for symbols with GCC, which would mean that even if -fvisibility=hidden was used when compiling the library, the needed symbols would get exported. MSVC __almost__ works like GCC (or mingw) in which you can declare everything as export and it will just work (slower, but it will work). But there's a caveat: global variables will not work the same way for MSVC, but works for mingw and GCC. For global variables (as opposed to functions), MSVC requires correct DSO visibility for MSVC: instead of declaring a symbol as export for everything, you need to declare it as import when importing from another DSO and export when defining it locally. With current EAPI definitions, we get the following example working in mingw and MSVC (observe it doesn't define any global variables as exported symbols). Example 1: dll1: ``` EAPI void foo(void); EAPI void bar() { foo(); } ``` dll2: ``` EAPI void foo() { printf ("foo\n"); } ``` This works fine with API defined as __declspec(dllexport) in both cases and for gcc defining as `__atttribute__((visibility("default")))`. However, the following: Example 2: dll1: ``` EAPI extern int foo; EAPI void foobar(void); EAPI void bar() { foo = 5; foobar(); } ``` dll2: ``` EAPI int foo = 0; EAPI void foobar() { printf ("foo %d\n", foo); } ``` This will work on mingw but will not work for MSVC. And that's why EAPI is the only solution that worked for MSVC. Co-authored-by: João Paulo Taylor Ienczak Zanette <jpaulotiz@gmail.com> Co-authored-by: Ricardo Campos <ricardo.campos@expertise.dev> Co-authored-by: Lucas Cavalcante de Sousa <lucks.sousa@gmail.com> Reviewers: vtorri, jptiz, woohyun, lucas, SPAM-smith78899 Reviewed By: vtorri, SPAM-smith78899 Subscribers: SPAM-smith78899, raster, SPAM-cabanacatalogs, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12228
* evas gl - drm - native bind - handle null eglimage create on bindCarsten Haitzler (Rasterman)2021-04-163-9/+37
| | | | | | | | this can happen if dmabuf is invalid (already destroyed) so handle this so evas knows and falls back to rendering a rect and complains to stderr so we know @fix
* improve heif loader: * efl coding style * faster head callback * faster ↵Vincent Torri2021-04-092-183/+255
| | | | | | | | | | | | | | | | copy of image data Summary: and minor fix of some values in avif loader Test Plan: entice still can read heif Reviewers: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12257
* evas - gl - optimize dither shader - use integer vecs and go to 2x2Carsten Haitzler (Rasterman)2021-04-042-22/+41
| | | | | | | | | | a 2x2 matrix visually here is about as good as 4x4. at least in what i see, but on low end gpu's it can halve the cost. in fact i was watching the gpu on my old i5-4200u drop down to 340-410mhz (no dithering is 320-360mhz). i got to 630-660mhz with the original 4x4 code. the 4x4 is still there ifdefed out. perhaps i can bring it back with a high-quality dither option, but 2x3 i think is good enough.
* evas gl - add env var to disable dither because some gl's are brokenCarsten Haitzler (Rasterman)2021-04-021-11/+24
| | | | | | | | | | | this adds a EVAS_GL_RENDER_DISABLE_DITHER=1 env var (set it to anything) to disable dithered rendering.p this is an added cost, but normally not much at all, but it seems some gl implementations are broken, and they can't generate correct code for the dither shader, so this disables this if this env var above is set
* Evas avif loader: fix segfault when the avif loader tries to load a non avif ↵Vincent Torri2021-03-311-1/+6
| | | | | | | | | | | | | | image Test Plan: entice is not crashing Reviewers: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12254
* Avif image loader: add another check to verify that libavif has been built ↵Vincent Torri2021-03-281-0/+24
| | | | | | | | | | | | | | | | with an AV1 decoder Summary: libavif can be built without a AV1 decoder. Check this in the image loader Test Plan: entice Reviewers: raster Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12252
* ecore evas ews - deprecate/removeCarsten Haitzler (Rasterman)2021-03-281-2/+0
| | | | | | | | | it's broken. it doesnt render anything. input is broken. it isn't in use so it doesnt justify fixing. no one has complained it's brokne thus proof of it not in use, so proof that it's not needed, so do the right thing and nuke it to save work @feat
* evas - gl add export for getting dmabuf formats and modifiersCarsten Haitzler (Rasterman)2021-03-262-0/+37
| | | | | | | | we need this to do formats and modifiers properly... and this is what broke on the rpi4 - it started using interesting formats etc. ... new feature to support a bug fix in e @feat
* evas - gl - respect yinvert now as it ... seems to work.Carsten Haitzler (Rasterman)2021-03-261-2/+2
|
* evas - gl - stop leaking images and never freeing them from cacheCarsten Haitzler (Rasterman)2021-03-201-4/+11
| | | | | | the subject says it all @fix
* evas gl - remove freed gl image from context image listCarsten Haitzler (Rasterman)2021-03-091-0/+4
| | | | | | fix asan memory mis-access @fix
* ecore-evas-wayland: Remove wayland wobbly windows junkChristopher Michael2021-03-011-48/+0
| | | | | Never worked properly, is unsupported by upstream wayland, and is just general clutter so let's remove it.
* gl: remove memory leak of orient_setShinwoo Kim2021-02-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The tex->pt->references is descreased by evas_gl_common_texture_free -> pt_unref if tex->references is 0 And tex->pt->texture is removed by evas_gl_common_texture_free -> pt_unref -> glDeleteTextures if tex->pt->references is 0 The evas_gl_common_texture_free decreases tex->references only if tex->references is bigger than 0. There is no chance to decrease tex->pt->references at this point. So if orient_set increases both references of tex and tex->pt, then the tex->pt->reference is not decreased till tex->references is 0. So do not increase tex->pt->references in eng_orient_set. Reviewers: raster, cedric, Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12243
* Added the heif loaderthierry19702021-02-061-0/+300
| | | | | | | | | | | | Summary: that supports images : *.heif, *hiec and *.avif I have disabled *.avif images, there is already a loader. Reviewers: stefan_schmidt, raster Subscribers: raster, vtorri, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12135
* evas - gl engine - look for extension in the right extension string setCarsten Haitzler (Rasterman)2021-02-062-2/+3
| | | | | | | this fixes slow operation on what seems to be a minority of instances that dont advertise the extension in both egl and gl strings @fix
* evas - tga loader - ignore origin as it leads to valid tga's not loadingCarsten Haitzler (Rasterman)2021-02-011-10/+10
| | | | @fix
* evas - let's not set dynamic img hints if extns not thereCarsten Haitzler (Rasterman)2021-01-141-0/+5
|
* gl: remove invalid read and writeShinwoo Kim2021-01-143-5/+14
| | | | | | | | | | | | | | | | | | | | | Summary: There could be 2 evas_gl_image referencing 1 evas_gl_texture. evas_object_image_orient_set could make this case. In this case, when one evas_gl_image is removed(free), the evas_gl_texture is not removed because its reference count. After this point, if the other evas_gl_image is removed without drawing (see function evas_gl_common_image_draw, line "im->tex->im = im") then evas_gl_texture is reading invalid adress when it is removed. Reviewers: Hermet, jsuya, herb, devilhorns Reviewed By: devilhorns Subscribers: devilhorns, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12229
* evas webp loader - stop complainig its an invalid fileCarsten Haitzler (Rasterman)2021-01-061-1/+0
| | | | | | | | when a file has no extension to guess by.. evas goes back to trying every loader until one works. this leads to noise. loaders should not printf/stder or eina log err anything if the file seems to not be valid. @fix
* evas - avif - fix for 0.8.2 libavif that broke apiCarsten Haitzler (Rasterman)2020-12-181-10/+4
| | | | | | | | also require 0.8.2 ... as well - no point trying to support older versions forever and this is still experimental. fixes T8844 @fix
* png: handle 9-patch ends with stretchShinwoo Kim2020-12-071-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The strech region has paired information; total and strechable. Refer to function _strech_region_load retrieving strech region info. But if 9-patch information line ends with strechable, png did not push the strechable information. And it leads to devide by zero. This patch is adding strechable info to the strech region, if 9-patch information ends with strechable. Test Plan: [Code] {F4219278} {F4219280} [Test] ECORE_EVAS_ENGINE=opengl_x11 ./evas-image-9patch ./end_with_strech.9.png Reviewers: Hermet, jsuya, herb, cedric Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12204
* evas - fix build on bigendianCarsten Haitzler (Rasterman)2020-11-301-2/+2
| | | | | | | macro forgot to () a param ... so it broke on bigendian as it has spaces and a | ... fixes T8860
* evas gl - experiment with dithered gl renderingCarsten Haitzler (Rasterman)2020-11-274-9/+113
| | | | | | | | | | | | | this adds a dither func (4x4 dither matrix) to experiment with higher quality rendering in gl - this assumes you have a normal 8bit per channel buffer for now (99% of people) and will approximate values in between the 256 steps 8 bits provides by using the dither matrix based on gl_FragCoord position. it's just a flag in the shader flags for now so can be turned on/off in code. this definitely makes blurs look much better... everything else seems basicall the same. let's see how this goes. @feat
* ui transit: improve zoom effect smoothness by subpixel rendering.Hermet Park2020-11-251-1/+2
| | | | | | | | | | | | | | | | | | | | Summary: evas image might have a better quaility if scaling/transform is not necessary, so we have a condition to check if image is axis-aligned transformed or not. On the other hand sub-pixel(floating point coordinates unit) rendering necessary if image has an effect such a zooming. This would result in a smoother effect than integer coodinate system. We need a more precise condition to confirm this, so we intrduce "anti-alias" option to decide the condition. now, anti-aliased objects will have a sub-pixel rendering always. Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12194
* evas gl: make 9 patch workShinwoo Kim2020-11-201-0/+24
| | | | | | | | | | | | | | | | | | | | | Summary: The 9 patch is using image_stretch_region_get, but GL did not override it. So the 9 patch did not work for GL engine at all. Test Plan: Evas_Object*img = evas_object_image_filled_add(evas); evas_object_image_file_set(img, "test.9.png", 0); evas_object_show(img); Reviewers: Hermet, jsuya, herb, cedric Reviewed By: Hermet Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12192