More work, proudly supported by Samsung. Filters!
So now you can apply a whole host of cheesy visual effects to objects at
runtime. This is the first commit, there are a couple of more to come as I
tweak the filters, and fix blur with GL[1].
Please direct bugs to me nash@nash.id.au.
[1] You'd think shaders would be good at this.. but no, generic blur and GL
are like trying to get an apple product to work with Linux.
SVN revision: 58726
Now when setting :style=Oblique/Italic/Cursiva/Bold and etc and there's
no matching font found in the system, adjustments will be done on
runtime to support that feature.
Patch by Myoungwoon Roy Kim (roy_kim).
SVN revision: 58584
We have string objects, we don't really need them. Draw still uses strings
for metric cache, but that will be removed soon as well.
SVN revision: 58460
This seems to have got lost in my big messup before. This pushes enough of
mask/arbitrary clip to be somewhat useful. I need to push a little more soon
for it to be 100% happy, but this is useful level.
SVN revision: 58373
This lets us get the difference between the width and the advance
of a string pretty fast, which means we only need to calculate either
advance or width, because we can now calculate one from the other.
SVN revision: 58181
screens with the same gl context is more pain than imagined. revert
attempt to handle it. just use xinerama/twinview if u want the
compositor to not suck.
SVN revision: 58050
I don't know if this is useful to backport to stable branch, if you
think so please do it as I don't even have that checkout... svn is
annoying :-P
SVN revision: 58012
Add missing evas_object_image_source functions.
(was giving nasty 'implicit declarations' prior to this change)
Add UNUSED to evas_common_map_rgba for npoints variable
(wasn't used in that function)
Fixed a little formatting in evas_object_main.c
Add UNUSED to the eng_image_map_draw function of the gl_x11 engine.
(npoints variable not used there)
Fixed a little formatting in gl_x11 engine.
SVN revision: 56869
Proxy objects allow you to use another image as the source of an image.
Essentially allowing the same object to be rendered multiple times. One
object (the source) is the original, each additional 'copy' is an image with
evas_object_image_source_set.
This is complete.
Also add partially working arbitrary maps, and arbitrary clipping.
Unfortunately both have some issues yet to be resolved (waiting on the next
feature to get merged together).
SVN revision: 56777
strings in most of the font engine (everywhere except draw).
Haven't removed the paramteres yet, but did mark them as UNUSED.
Removing them will be part of a future change.
Removed run-time OT toggling support, OT is now fast, no need for that.
Renamed all of the intl_props->text_props (because it really changed purpose now)
Fixed spliting/merging of text_props to be fast and good, not hacky and
complex like before.
Note to reviewers: Most of the changes are indentation related, sorry
for the mess, but I had to do it all in one commit, splitting was not
trivial (at least not in retrospect). The important parts are
evas_font_default_walk.x and text_utils.c. query and draw were just
adjusted a bit and the rest were only adjusted to conform to renaming or
were renaming on their own.
SVN revision: 56629
1. Started feeding Evas_Text_Props to the font engine instead of Evas_BiDi_Props because no we have more general text properties as well - i.e, OpenType stuff.
2. Full Harfbuzz integration which gets compiled in by default (if harfbuzz is present) but only works if the environment variable EVAS_USE_OT is set to 1 (because OT is way slower than regular text rendering).
3. Cleaned the font querying/drawing functions.
4. Added font_shaped function to all of the engines, which by default calls teh harfbuzz stuff (default on linux that is).
5. Moved some source files around a bit to make more sense.
SVN revision: 56455
engine on shutdown. was freeing the wring kind of thing in the first
place.. and even then it should be more robust, so fix gl texture
robustness and this bug. can cause on-exit crashes if not fixed.
SVN revision: 56068
crashes for me in expedite with 4 cores on x86 at random points. looks
like it's bitrotting. though it was relatively tentative to begin with.
SVN revision: 53856
* log domains in lower-case only please. let's make it a standard so
we don't have to look at the code everytime to figure out the name...
* logs do NOT require trailing newline (\n), it's automatic!
* do NOT add newline inside log messages!
* add gl_common logging.
NOTE: I tried to compile all modules, but there are clear broken
modules such as cairo and qtopia. Other modules like gl_sdl are
broken as they were not updated to new gl_common api (resize
method AFAIR).
SVN revision: 53174
Subject: Evas evas_gl_shader.c patch
Patch for evas_gl_shader.c, need to check shader compile
errors too, not only program linking errors.
Not that it's very useful now since all Evas' shaders are in
good shape already, but it was useful when we're mucking around with
things.
And also to make Robi happy that there are some FST
contributions to E ;) And probably more to come...
SVN revision: 52941
gl state bug/assumption. reset state when moving from 1 surface target
to another and then we are all happy. also fix lip geometry issue in
gl when rendering to non-default surf - related.
SVN revision: 52933
There is no meaning in negative values for image loading, marking as
dirty or size, so image internals (cache, entry) were changed to
unsigned, reducing possible errors, particularly with overflow.
engines were converted to the new way, but any 3rd party modules will
still work as they should be using values >= 0 only anyway.
please review.
new cases introduced by "comparison between signed and unsigned" were
fixed in the modules that used cache_entry or Image_Entry dimensions.
SVN revision: 52428
As we're heading for a release we better remove as much errors as
possible and as the first step I'm removing warnings due unused
parameters, variables and functions. These tend to pollute real errors
spotted by -Wall and clang/llvm.
This does not fixes all, just the clear that could be set to
__UNUSED__, particularly to do (and I'd like some help from the
authors):
* src/lib/engines/common/evas_font_{draw,query}.c (tasn):
intl_props is just used while doing BIDI, but also used in other
#ifdef blocks :-/
* evas_map_* (raster):
huge amount of warnings, code is quite confusing and thus I'm not
touching it. I have no idea whenever the commented blocks or extra
parameters are intended to be used or no.
* src/modules/engines/fbevas_fb_main.c (raster?):
is fb_setvt() to be used? If not do you mind removing it?
* src/modules/engines/gl_{common,x11} (raster):
huge amount of warnings, code is quite nested and full of #ifdefs
that does not help to give a clear picture of what's going on.
* src/bin/evas_cserve_main.c (raster):
I could have ignored most of the errors, but is the code correct? I
mean, there is no unload of images being applied. If you confirm
none of those warnings are harmful I can flag them as unused.
* src/lib/engines/common_8 (dottedmag):
lots of unused functions that were acquired from common_16, they
are unused and if they will not, then they should be removed.
SVN revision: 52421
soft16 was written as a single engine, thus it was all static/global
and had no EAPI in its functions, but then it was moved into
"src/lib/common_16" and got that, but got no prefix! That could cause
clash with other libraries, so adding such prefix.
soft8 was a copy of 16, thus had the same problems.
the engines were all based on software_x11, thus they defined the same
methods to deal with Xlib, however if you link them all in the same
binary (--enable-MODULE=static), the symbol would be redefined. Rename
symbols according to their module.
SVN revision: 52420
Advantages:
* it is the simplest method to implement
Disadvantages:
* it's slow
* it does not take into account transparency
* it does not work with the composite manager (Windows >= Vista)
Layered windows should be used (all the disadvantaged above are
fixed), but i've never succeeded in making them work.
SVN revision: 52416
The current way of including directfb.h makes it hard for people with multiple
versions of DirectFB installed.
This is the correct way to include that header, and it's the way
ecore_directfb does it.
Patch by: Eduardo Felipe <eduardofelipe87@gmail.com>
SVN revision: 51610
Apply badzero.cocci, badnull.coci and badnull2.cocci
This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:
code before patch ||code after patch
===============================================================
return a == NULL; return !a;
return a != NULL; return !!a;
func(a == NULL); func(!a);
func(a != NULL); func(!!a);
b = a == NULL; b = !a;
b = a != NULL; b = !!a;
b = a == NULL ? c : d; b = !a ? c : d;
b = a != NULL ? c : d; b = a ? c : d;
other cases:
a == NULL !a
a != NULL a
SVN revision: 51487
* Remove vim modelines:
find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;
* Remove leading blank lines:
find . -name '*.[cxh]' -exec sed -i '/./,$!d'
If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0
SVN revision: 50816
Added missing unicode & bidi opts to necessary places.
Fixes lots of compiler warnings.
NB - Not all engines tested. If you spot a problem wrt any specific
engine, please report it.
SVN revision: 50601
Changing textblock and text objects to work with Eina_Unicode instead of utf8 (internally, API remains intact).
Started relying on new fribidi 0.19.2 instead of the old fribidi.
A lot of fixes to the font engine.
Renaming of evas_common_font_utf8_* to evas_common_encoding_utf8_*
This relies on new Eina changes and types: Eina_Unicode, Eina_UStrbuf and Eina_UStringshare.
SVN revision: 50595
Subject: [E-devel] 8bpp xcb evas engine
Hi all,
I've implemented the 8bpp grayscale evas engine. It is based on the 16bpp
engine. It would be nice if someone could review the code and maybe commit
into svn. The patches against evas and ecore are attached.
SVN revision: 50560
Bug found by the "andand" semantic patch:
// The right argument of || or && is dereferencing something known to be NULL
//
// Confidence: High
// Copyright: (C) Gilles Muller, Julia Lawall, EMN, INRIA, DIKU. GPLv2.
// URL: http://coccinelle.lip6.fr/rules/andand.html
// Options:
@ expression@
expression E;
identifier fld;
@@
- !E &&
+ !E ||
<+...E->fld...+>
@ expression@
expression E;
identifier fld;
@@
- E ||
+ E &&
<+...E->fld...+>
SVN revision: 50118
rendering. to turn on:
1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)
the kind of results you get on a desktop:
http://www.rasterman.com/files/evas-async-vs-none.html
SVN revision: 49087
Do this for consistency with other applications, some people just set
.Xdefaults but do not have xrdb to load it to screen. This works with
most of the systems, like Gtk and Qt, but not in Evas, so we get
different font sizes as they calculate based on DPI.
HOWEVER, and this may be a big thing, so RASTERMAN take a look, this
might impose a performance hit on window creation... remember that
every E17 popup/tooltip will hit this process of reading the file (if
exists) and then query X server (round trip).
I'd rather make this a global resource, loaded just once for all
created windows, we can store the mtime to know when it changed and
invalidate the pointer... but as Raster did not keep the
XrmGetDatabase() result as global, I'm not doing it here either.
SVN revision: 48403
* OpenGL ES : 2.0
* OpenGL desktop : >= 1.4
If OpenGL ES 3.* is out, this code must be fixed
If there are problems with the minimal version on desktop,
we will have to increase the minimal version.
Question: should we check GLSL version on desktop ?
SVN revision: 46309