Edje tries to copy original style to font provided by text_class if
this have no style.
However code was supposing that text_class font always had more than
one occurrence, these separated with ',' and did not check if this is
not the case, so "e = strchr(',', tok);" was returning NULL and all
the math were using negative values.
The fix now does the proper checking, avoid one useless alloca() and
the respective copy, also doing the copies with memcpy() since sizes
are already known.
Refactory was done to make code simpler and also avoid having it
copied 3 times.
SVN revision: 33869
Check if values actually differ before interpolating them, this will
avoid useless math for (x1 - (x1 - x2) * p) when x1 and x2 are equal.
Also don't interpolate values that doesn't make sense to the part,
like color2 and color3 for non-text.
TODO: Refactor edje part description into more object-oriented
fashion, with a struct with just the common parts followed by an union
of structs for special objects, these would contain specific bits for
each part type. This would save us a bit of memory and then we can
more easily refactor code isolating common and specific parts, making
code smaller and easier to handle.
SVN revision: 33861
My last patch fixed the compile problem, but really, we should use the
same struct for things that look/work the same, like rectangle,
position, etc.
This new patch brings that change back and add some named structs
(also typedef'ed so it conforms to E naming schema).
This commit just changes the header and adds an example of
benefit. Later I'll provide a more intrusive patch that reorganize
structures to make even better use of this.
SVN revision: 33860
The "simple" block:
p3 = p1;
was doing an implicity memcpy() responsible for about 1% of processing
time when no animation happens.
Patch by Cedric BAIL.
SVN revision: 33858
Last 2 patches were swapped, I applied them in the wrong order and
missed the rejections, my bad.
I fixed it and also did some cleanup, looks better now.
SVN revision: 33855
This is an initial cleanup, basically I removed all the DirectFB
accelerated calls and moved it to software common. I do plan to
gradually bring these back later, probably blit, rectangle and line
will come first.
SVN revision: 33835
Just allocate and build the match automate for callbacks and programs
only when required. On load for programs and when callbacks list has
been updated.
Patch by Cedric BAIL. (with minor fixes to use TABS where context was using)
SVN revision: 33804
As aclocal may be called via autogen.sh during the Debian build process
add an explicit build dependancy on pkg-config which includes
/usr/share/aclocal/pkg.m4 which provides the PKG_CHECK_MODULES macro.
SVN revision: 33781
libgl-dev is now a virtual package provided by libgl1-mesa-swx11-dev and
libgl1-mesa-dev, so one of these packages needs to be the build dependancy
instead of libgl-dev.
libgl1-mesa-dev seems to be the most logical choice as it can
be installed with minimal disruption on a vanilla install.
SVN revision: 33773
There seems to be a typo, likely introduced by me,
such that the libtool dependancy was an alternate to automake.
If you don't have automake instlled at configure time, then
the following error pops up on Debian unstable.
configure.in:19: error: possibly undefined macro: AC_LIBTOOL_WIN32_DLL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
SVN revision: 33772
every thing is not really cleaned on shutdown (It make it crash, if
you shutdown completely the font system and then restart it again).
Author: Cedric BAIL
SVN revision: 33746
This fixes the prototype, however it still issues a warning about a
real bug: calling evas_hash_modify() during evas_hash_foreach()
SVN revision: 33710
The previous commit just removed the warning, but it was not the ideal
solution. The class is really a constant, nobody should change it
after it's assigned.
SVN revision: 33709
As agreed on IRC, evas_hash_foreach() now takes const, to make clear
that hash shouldn't be changed. If one wants to change he must do a
cast and return 0. However this will require users to be updated in
applications.
SVN revision: 33708
(like put an event on hold) while it still passes through. object under it
need to be awar of evewnts being on hold as you may want hypbrid behaviors.
SVN revision: 33560
Font names can contain spaces, either in the file name and the
fontconfig, so do the escape and keep words linked.
Now it's possible to have things like:
font=Vera\\ Sans:style=Bold
and it will work. (note double \\ is required)
SVN revision: 33526
1. configure/build changes to allow cross-compiling painlessly
2. pager module namespace changes - this was still dirty afdter the namespace
cleanup, so clean it up
3. add a powersave subsystem - doesnt have an "automatic" way to turn on and
off right now, this i think is best provided by modules (that do things like
monitor acpi status's (eg close lid of laptop), AC power status etc. etc.
this allows e to nicely defer "power" expensive actions to avoid disk
spinups etc.
4. move to use the new ecore poller system - discussed long ago as part of
power management/saving issues. now it exists
5. add a canvas idle flush call that helsp cope with the new shm greedy
software x11 engine stuff
6. use the new powersave subsystem where appropriate
7. fix non-zeroed/initted memory access in e_fm_main
8. fix mem leak for e menus
9. remove ipc handlers for changed/removed config values
10. use animaotr not timer for menu scrolls - then menu scrolls obey the fps
config
11. fix up timer/poll happienss of cursor idle stuff
12. remove avoid damage from popups for now - causing problems
13. change battery and temp readouts to b e shorter so they fit
14. pager can emit signals on focus change for mini-windows now
15. temperature module now uses a slave process and uses stdin/out to talk to
it and get output - this makes e smoother as in my expereicne i found getting
the temp on my laptop actually took like 200ms so e "hang" for 200ms while
reading the acpi files - so now the subprocess does it and just writesa back
to e when it gets it.
ecore:
1. add ecore_pollers. see the documentation on them in doxygen comments :)
2. fix timers to only go off when they have to - bug there that made e's
select time out a LOT more than it needed to. defensive coding hid the
problem. now fixed. e should be much more power friendly now.
3. formatting/niceness in ecore_exe stuff
4. some comments on comments with SIGIO ideas vs. select
5. add call to be able to add an idle enterer at the start of the list of
them, not just the end (as has been the default)
6. fix ecore_evas to support auto evas idler calls after 0.5 secs of idle in
all canvases - and to do it right
7. if argb destination - set the shape EVENT shape (to mask out events in
transparent regions much like shape does withotu translucency)
8. in ecore_x add support for the event shape
evas:
1. fix cache to work properly and not just always fill up (as it seemed to
like to think cahce useage dropped below 0 when it didnt and thus just
over-fill)
2. software x11 engine now ONLY uses shm segments - no ximages over the
socket. this ximage hack was there to avoid the 2 round trips involved in
setting up an shm image - now i mitigated that wih an shm image cache pool.
it keeps shm images around and repurposes them for new update regions if
appropriate. this means many fewer shm creates (about 1/100th the number) and
since we recycle the memory less 0 memory page filling by the kernel - in the
end, i recorded about a 10-20% speedup over the old software x11 engine.
simple tests i have seen up to 120% speedups. idle flush now does something -
it frees all the cached shm segments. it has a hard-coded limit of 4mb worth
of shm segments (or 32 segments - whichever comes first) to keep around. once
can never complain much about speedups methinks :). also evas will defer sync
until the NEXT frame is written - this means evas can calculate the next
frame of data while x dma's/copies the images to the screen at the same time
(if you hve a dual core or multi-cpu machnike or your xserver is able to use
DMA to copy image data to the screen/video ram then this should see a decent
speedup).
SVN revision: 33448
can't test it on a GLSL card, so I hope it didn't break anything. If
something is broken, feel free to revert! (but it would probably just be
related to the way it detects GLSL support at l.78 of evas_gl_context.c)
SVN revision: 33242
* when it is used and when another --enable-foo is passed, if foo is
not found, configure fails and displays an error message.
* when it is not used, the old behavior (auto-detect) is not changed: if
--enable-foo is passed and foo is not found, configure does not fail.
SVN revision: 33014
Removed Evas dependency from Ecore_IMF, that was requested by Ewl developers
in order to be able to integrate Ecore_IMF on it.
Added Ecore_IMF_Evas, a library with helper functions to use Ecore_IMF together
with Evas.
Now everybody should be happy.
SVN revision: 32812
Added Ecore_IMF module. This module enables different input methods to be
used with Ecore. Input methods modules can be created using the Ecore_IMF
interface.
Added ecore_evas_window_get method to allow input methods to request
the window related to a given Ecore_Evas when available.
SVN revision: 32775
* use non deprecated version of AC_INIT and AM_INIT_AUTOMAKE
and check the required minimal versions.
* add bzipped distribution archive
* add AC_LIBTOOL_WIN32_DLL
* forbid libtool to check fortran and c++ compilers
* compute libtool versioning from the version of the package
* pass the directories based on ${prefix} to the preoprocessor
with the -D option
* replace INCLUDES, wich is deprecated since 2001 by AM_CPPFLAGS
* remove useless -L flags in *_la_LDFLAGS
* remove Makefile.in on maintainer-clean rule
SVN revision: 32564
* Now can be compiled with "compile" function.
* Fixed insertion of part description internals alone.
* Add program and its internals, with key bindings.
SVN revision: 32540