path: root/src/lib/evas/common (follow)
AgeCommit message (Collapse)Author
2017-11-07evas: rely on ecore to reset evas rendering thread on fork.Cedric BAIL
2017-11-07evas: rely on ecore to reset upscaler thread on fork.Cedric BAIL
2017-11-07evas: Yet another OSX build fix...Jean-Philippe Andre
Please tell me this is the last one
2017-11-07evas: Another attempt at fixing OSX buildJean-Philippe Andre
Build failed with LKI not found, as a symbol, but it's a macro. Copy & pasted from evas_common_private.h How can this work on one platform and not another? I don't get it...
2017-11-07evas: Fix make checkJean-Philippe Andre
Because of this I couldn't test my previous patches properly and now realized that I also broke make check... >_< See D5419
2017-11-07evas: Fix invalid header protectorJean-Philippe Andre
clang is smart enough to warn about this. I've mentioned it multiple times...
2017-11-07Remove evas internal dependency from the evas_font modulesubhransu mohanty
Summary: dev branch : devs/subhransu/font The Final goal is to move the evas_font module to ector so that both ector and evas can reuse the code. make the api simple so that sam eapi can be used by evas_textblock and ector text. This is the 1st stage to achive that gola, first remove the evas internal dependancy as much as possible before moving to ector library. Reviewers: jpeg, raster, herdsman, cedric, id213sin Subscribers: cedric, jpeg Differential Revision:
2017-10-27evas: add a missing description for a newly added parameterYoungbok Shin
Summary: A new parameter "width_offset" was added to evas_common_font_query_last_up_to_pos() internal function. But, internal documentation was not updated. So, it adds a simple description for the new parameter. Test Plan: N/A Reviewers: jpeg, cedric, herdsman, shilpasingh Differential Revision:
2017-10-13evas: buffer is not used in the case where destination and source dimension ↵Godly T.Alias
is different Summary: Signed-off-by: Godly T.Alias <> Reviewers: cedric, raster, rajeshps, prince.dubey Subscribers: jpeg Differential Revision: Signed-off-by: Cedric Bail <>
2017-10-12evas: Implement support for different H/V font DPIJean-Philippe Andre
This is modifying how a rarely used environment variable that sets the DPI used for font sizing is parsed. The previous form remains valid, of course. Note that EFL tends to use "scaling" instead of this DPI. The font DPI is useful for me to open up a terminology window with almost the same size as my IDE's code viewer. Use case: export EVAS_FONT_DPI=95x94 terminology Note: I still don't get a 1:1 match with Qt's rendering, and in fact 94x95 works better than what 95x94 (which is reported by xdpyinfo). Interesting though :) @feature
2017-10-09evas: there is no effect of variable assignment while clean up.Subodh Kumar
Summary: There is no effect of assingning a variable while clean up. @fix Reviewers: raster, cedric Subscribers: cedric, jpeg Differential Revision: Signed-off-by: Cedric Bail <>
2017-10-06evas: there is no effect of variable assignment outside the function.Subodh Kumar
Summary: Variable assigned is not used anywhere else, making it unused. @fix Test Plan: Na Reviewers: raster, cedric Reviewed By: cedric Subscribers: cedric, jpeg Differential Revision: Signed-off-by: Cedric BAIL <>
2017-10-05evas: make sure we always open the file and look at its header before trying ↵Cedric BAIL
to load data.
2017-10-05evas: remove unused function evas_common_load_image_from_file.Cedric BAIL
2017-09-28evas font loading - fix possible divide by 0 when font size is 0Carsten Haitzler (Rasterman)
fix coverity CID 1381446
2017-09-26evas: Fix shutdown of async cmd cacheJean-Philippe Andre
The incomplete reset (array to NULL but max not reset) triggers errors in evas_thread_queue_append() where eina_inarray_grow() returns NULL. This shows up in: CK_FORK=no elm_suite @fix
2017-09-26evas: Add scale feature for embedded bitmap fonts.Youngbok Shin
Summary: When evas selects a strike of embedded bitmap font, calculate ratio and use it for scaling embedded bitmap. @feature Reviewers: jpeg, tasn, woohyun, raster, herdsman Reviewed By: raster Subscribers: charlesmilette, Francesco149, cedric Differential Revision:
2017-09-22EFL For WIN32: Replace HAVE_EVIL define with _WIN32Vincent 'vtorri' Torri
2017-09-11evas: don't search other fonts only for INHERITED script unicodesYoungbok Shin
Summary: INHERITED script unicodes are only meaningful when it comes after the previous unicode from same font. Even if there is no glyph for the INHERTED script unicode from current font, don't search other font for loading the unicdoe as first unicode of next item. It will be meaningless. @fix Test Plan: Check the following Emoji sequence with an emoji font which does not have variation selector glyphs. { 0x1F3F3, 0xFE0F, 0x200D, 0x1F308 } Reviewers: raster, cedric, herdsman, jpeg, woohyun Reviewed By: herdsman Differential Revision:
2017-09-06evas_language_utils: Fix build error without NLSJaehyun Cho
2017-09-05Revert "evas_thread: only join the thread if the thread is still alive"Marcel Hollerbach
This reverts commit e41d46c635bdf769d4b93da609883347168c719a. This seems to be wrong
2017-09-05evas_thread: only join the thread if the thread is still aliveMarcel Hollerbach
otherwise we might join a invalid thread id, that could lead to a deadlock. Lets not do that. ref T5245 @fix
2017-09-04evas: proceed glyph iterator to handle next index properlyYoungbok Shin
Summary: When harfbuzz is enabled, _content_create_ot() function will be used for shaping. If evas_common_font_int_cache_glyph_get() failed in some reason, it never proceed gl_itr until the end. It can cause weird rendering result. Because, all of gl_itr after the failure can't have proper x_bear, y_bear and width. @fix Test Plan: N/A Reviewers: raster, cedric, herdsman, jpeg Differential Revision:
2017-08-30evas font: do floating point division for calculating more accuratelyYoungbok Shin
Summary: Assigning a result of integral division to a double type variable is not useful for next division calculation. For more accurate calculation, it needs to be casted to double before doing division. It does not fix some bugs. It was reported by a code quality advisor. Test Plan: N/A Reviewers: raster, cedric, jpeg, herdsman, eunue Reviewed By: cedric Differential Revision: Signed-off-by: Cedric Bail <>
2017-08-17evas_rectangle_main: Whitespace cleanupBryce Harrington
Summary: Signed-off-by: Bryce Harrington <> Reviewers: cedric Subscribers: jpeg Differential Revision:
2017-08-07Revert "efl: terrible kludge so avoid termination crash on osx"Stefan Schmidt
This reverts commit 9368eedd353a88dd31ba50c71433f81a2978adb5. The release is out so we can revert this bandaid again. In the hope to find the real culprit and solution before the next release.
2017-08-03efl: terrible kludge so avoid termination crash on osxJean Guyomarc'h
Currently, elementary programs crash on termination on macOS (seems Sierra-specific). This is very nasty, looks like deep memory corruption... Without valgrind (or like) support on Sierra, it is difficult to pinpoint the origin of the problem. Due to the imminient release, and after discussion with @stefan, this kludge will allow the release to happen. This commit MUST be reverted just after the release, so we don't blindfold ourselves! Ref T5245
2017-06-15evas textblock: add align=locale option to respect locale's directionYoungbok Shin
Summary: There are many requests to add a new feature for handling horizontal align according to current locale. For example, in RTL locale setting, users want to see right aligned text for every list's item. Even if some of list's items only contain LTR characters! It is useful for the needs. @feature Test Plan: N/A Reviewers: herdsman, tasn, woohyun, raster, cedric Reviewed By: herdsman, raster Subscribers: z-wony, jpeg Differential Revision:
2017-04-28evas font code - build on older freetypes without new definitionsCarsten Haitzler (Rasterman)
use the actual #35 as: in freetype and it cant change without breaking abi... @fix
2017-04-28thread fence code - move elsewhere in file to avoid conflictsCarsten Haitzler (Rasterman)
2017-04-26evas: Add a function to block for render thread completionDerek Foreman
This is needed by dmabuf engine fallback when it realizes it locally allocated a buffer, has been rendering to it, but the compositor can't use it. So the engine copies its buffer contents into a new wl_shm buffer and continues from there - however we need to make sure the async renderer has finished first, so we don't copy a partial buffer. This allows us to block for all previously submit actions in the render queue to complete.
2017-04-24evas: round glyph's advance before adding it to pen_xYoungbok Shin
Summary: Rounding the sum of glyph's advance could cause inconsistency of each glyph's positions. When Evas enables Harfbuzz library, Each glyph's position has to be handled by only nearby glyphs. But, currently, totally unrelated glyph's advacne could change other glyphs positions. ex) 1. "connect." 2. "Tap here to connect." You can see different gap between "c" and "o" of word "connect". It should be same even if there was a different text before the word "connect". @fix Test Plan: N/A Reviewers: raster, herdsman, jpeg Reviewed By: raster Subscribers: cedric Differential Revision:
2017-04-14evas filters: Move curve to software generic (3/8)Jean-Philippe Andre
This moves the RGBA premul/unpremul functions to static_libs/draw.
2017-04-14evas filters: Move blend to software_generic (1/8)Jean-Philippe Andre
This is an attempt at refactoring the filters code so I can later implement GL support. This patch adds a few extra changes to remove avoid calling functions of libevas from the software engine: use the draw functions from static_libs/draw rather than evas_common APIs.
2017-04-13Revert "efl: terrible kludge so avoid termination crash on osx"Stefan Schmidt
The only purpose of this commit was to allow efl 1.19 to be released on macOS wothout crashing on termination. Time to revert it and see that we can find a real fix for the next release. This reverts commit cd5e755951c0126f136b6e7cfded14056d8336fa. ref T5245
2017-04-10evas filters: Fix a rare crash in text render (SW)Jean-Philippe Andre
There are reports of crashes when y < 0. This case seems abnormal in case of filters, as I don't know how to reproduce it, but it's happened. Thanks Youngbok Shin for the report. @fix
2017-04-10evas: give width offset when Evas tries to find ellipsis positionYoungbok Shin
Summary: If the last item before ellipsis item has bigger width than its advance, evas_common_font_query_last_up_to_pos() function can find wrong ellipsis position. When Evas finds a position for non last item, Evas must care about additionally available space for glyph's width of the given x position. ex) the last item's glyph before ellipsis item has a tail to draw above the ellipsis item. @fix Test Plan: Test case will added as comment. (Becasue of font license problem.) Reviewers: herdsman, raster, jpeg, woohyun Subscribers: cedric, Blackmole Differential Revision:
2017-03-31efl: terrible kludge so avoid termination crash on osxJean Guyomarc'h
Currently, elementary programs crash on termination on macOS (seems Sierra-specific). This is very nasty, looks like deep memory corruption... Without valgrind (or like) support on Sierra, it is difficult to pinpoint the origin of the problem. Due to the imminient release, and after discussion with @stefan, this kludge will allow the release to happen. This commit MUST be reverted just after the release, so we don't blindfold ourselves! Ref T5245
2017-03-08evas: clean up GL images for emojis when GL context is free'dYoungbok Shin
If GL context is free'd before processing font shutdown, textures for emoji glyph's GL images will be free'd without clean up its GL images. It causes eina mempool infinite loop issue when emoji's GL images are free'd in shutdown process. So, the patch will make a list for emoji's GL images in context and clean up them when the context is free'd. Just like font textures in context. @fix Differential Revision: Signed-off-by: Jean-Philippe Andre <>
2017-02-28evas: Drop duplicate macro definitions SETUP_LINE_*Bryce Harrington
Summary: SETUP_LINE_SHALLOW and SETUP_LINE_STEEP are each identically defined (except whitespace) in evas_line_main.c Reviewers: cedric, jpeg Subscribers: jpeg, cedric Differential Revision:
2017-02-12evas color copy neon asm - declare tmp as output not input for warning--Carsten Haitzler (Rasterman)
less warnings - use output not input for tmp var. much better.
2017-02-12evas smooth scaler - fix warning where indenting is misleadingCarsten Haitzler (Rasterman)
indeed the indenting is misleading. fix.
2017-02-12evas blit main - put mmx funcs in ifdefs as they are not used on armCarsten Haitzler (Rasterman)
fixes warning
2017-02-12evas draw func get - make pixels as unused as it is in neon asm casesCarsten Haitzler (Rasterman)
also a little shitespace cleanup and correct ()ing of ops to clean this function up a bit.
2017-02-11evas convert color - neon asm - fix warning by casting - no side effectsCarsten Haitzler (Rasterman)
it's a warning one way or another so reduce noise with a harmless case as passing in a pit ro a 32bit type is more restrictive than the ptr it accepts (an 8bit type)
2017-02-10evas: use the right structure to not over allocate memory.Cedric BAIL
Eina_Trash is designed for storing cached pointer without any memory consumption. Please be careful with EFL memory consumption.
2017-02-08evas yuv convert - fix unused incrementsCarsten Haitzler (Rasterman)
this removes useless yp1 += and yop2 += as they are SET int he loop. this fixes 1367510 and 1367511
2017-02-08evas image load - remove unreachable codeCarsten Haitzler (Rasterman)
it's just printing a warning anyway and coverity CID 1368210 is right as it says it's unreachable. fix.
2017-02-08evas image load - handle null module handle in caseCarsten Haitzler (Rasterman)
this fixes CID 1368338
2017-01-31evas draw context - reduce size and allocations and freesCarsten Haitzler (Rasterman)
so a little perf fun shows malloc/free/realloc/etc. are, combined a reasonable overhead. this reduced malloc overhead for draw contexts so whne we duplicate them or create new ones, we re-use a small cache of 8 of them to avoid re-allocation. just take the first one from the list as it really is that simple. mempool would not have helped more here and cost more overhead. @optimize