will be necessary once ecore_input will be abstracted)
* allow the built of ecore_input DLL on Windows OS (XP and CE)
* remove useless dependency, as libecore_.la is in the _LIBADD
variable)
* files in EXTRA_DIST are already installed, no need for them
to be in EXTRA_DIST
patch by Lars Munch
SVN revision: 39573
* ecore-input.pc is installed only if ecore_input is built
(detection in configure), not if ecore_x or ecore_sdl are
built
patch by Lars Munch
SVN revision: 39572
Ok, raster said it would not happen but just crashed my machine and
e.cfg was lost due ext4 being in writeback by default. Accordingly to
Theodore Ts'o
(http://thunk.org/tytso/blog/2009/03/15/dont-fear-the-fsync/) we
should fsync even on open-write-close+rename case.
SVN revision: 39536
**** WARNING ****
E is bugged in some place, it does swallow object from another Evas in some place.
With this patch, it will abort sooner. If you find situation where it abort, please
report. This are nasty bug hidden in our code base. And yes, you will the white box
of death, this is expected.
SVN revision: 39528
* docs: be clear if it's a copy or in-place.
* clone: add some apis to create a copy while operates, sort should
do the same.
* reversed iterator: new call to walk the list reversed, will make
life easier in some cases.
SVN revision: 39515
between all ecore graphic engine to ease porting of application and reduce the amount of
specific code per engine. This patch does just that.
All your application should continu to work has previously, if it's not the case
please report any new behaviour regarding mouse and keyboard.
SVN revision: 39505
The behavior of AC_CHECK_HEADERS is a bit strange: If one has
2 header files foo.h and bar.h and foo.h exists while bar.h
does not, then:
1) with
have headers="no"
AC_CHECK_HEADERS([foo.h bar.h], [have_headers="yes"])
the value of have_headers is "yes"
2) with
AC_CHECK_HEADERS([foo.h bar.h], [have_headers="yes"], [have_headers="no"])
the value of have_headers is "no"
SVN revision: 39479
* fix requirements
* fix configuration on mac os x (problem with automake 1.9) and
add missing values/macro for quartz support
* small typo in ecore_evas_win32 api
* use m4 api in m4 files
SVN revision: 39471
uses the same mutex macros used by the mutex on font objects, so it makes it
a bit simpler. old code is commented out for reference.
SVN revision: 39458
This should really remove unused items that would age forever in the
last, forcing old but not so to be evicted before them.
Fortunately it was not so complex to add, and should wait just 3
pointers more of space per node.
SVN revision: 39350
This cache is very simple and should work fine when system does not
change, it keeps a direct association of mime-types and found icons,
remembering theme and icon size. Search is very fast since it uses
stringshared strings and thus direct pointer comparison in hash
search. We could optimize it even more if we assumed stringshared
strings to come in, so no need to eina_stringshare_add() (which is a
hash per se), using just eina_stringshare_ref().
Cache population is limited to compile-time value and just values
older than a given threshold are deleted. I do not keep a LRU explicit
list, so you might have some old but unused items always alive. I
don't find this too bad, sure it will consume more memory, but will
not hurt performance. We can change this to purge all expired items by
not checking for number of items to remove, removing all that match.
Next I plan to find out a good way to cache and speed up file->mime
discovery. I plan to do auto-generated state-machine to match
extensions, so you don't need to check the same extension character
more than once. Example:
Input: bla.edc
Extensions: edc edj eps png bmp
It would first try to match against 'e', 'p' and 'b'. It will match
'e' and then check for 'd' (edc or edj) or 'p' (eps). It will match
'd' and then check for 'c' or 'j'. This will reduce number of
comparisons considerably.
As I'm running out of time (4am, not much time left on this month), I
could use some help here.
SVN revision: 39343
EINA_ITERATOR_FOREACH() and EINA_ACCESSOR_FOREACH() are new macros to
help us forget about nasty C details (like cast to (void **)).
Document most iterators and accessors.
All iterators now set EINA_ERROR_OUT_OF_MEMORY if it's the case.
SVN revision: 39267
Left warnings regarding signed and unsigned comparison since
eina_list_count() returns unsigned, can use a cast in this return, but
not big deal for now.
By: Luis Felipe Strano Moraes & myself.
SVN revision: 39260
* efreet_desktop_command_build(): should consider the first
run. Before had a "first" toggle variable, which vanished with eina
port. I changed it to do {} while (), making it work again.
* exec string is already freed by callback (in e_exec.c), to keep old
behavior, just free the list with eina_list_free(). Just pay
attention to ecore_list and double check if they had a free
function set or not. If it didn't, then we should not free nodes!
SVN revision: 39228
now EINA_INLIST_GET(bla)->next will work, before it was like
&bla->__in_list->next
which is wrong, since __in_list is not a pointer, rather the memory itself.
SVN revision: 39210
* etk,
* PROTO/exalt,
* E-MODULES-EXTRA/diskio,
* E-MODULES-EXTRA/drawer,
* E-MODULES-EXTRA/penguins,
* E-MODULES-EXTRA/slideshow,
* E-MODULES-EXTRA/mail,
* E-MODULES-EXTRA/forecasts,
* E-MODULES-EXTRA/iiirk,
* E-MODULES-EXTRA/places,
* e,
* ewl,
* ecore,
* elitaire,
* entrance,
* e_dbus,
* efreet: Here we go, move from Ecore_List to Eina_List.
NOTE: This patch is huge, I did test it a lot, and I hope nothing is
broken. But if you think something change after this commit, please
contact me ASAP.
SVN revision: 39200
this fix a problem on Windows: the ecore main loop
hanged because of GetMessage() if next_time had a
random value.
patch by Lars Munch
SVN revision: 39178
* mainly unused parameters
* in src/lib/imaging/evas_imaging.c, set font to NULL
* in src/lib/canvas/evas_object_gradient.c, add unititialized member
there are a *lot* of reported warnings by llvm, i'll fix them later
there are also *lots* of unused parameters (compile evas with -W). I'll
fix them later too
SVN revision: 39172
* src/lib/evil_unistd.c:
* src/lib/evil_unistd.h:
Use high resolution timer for gettimeofday() and
export a convenient function for ecore_time_get(),
to save some computations.
* src/lib/evil_pwd.c:
Use the correct name for GetUserNameEx() according
to the platform.
SVN revision: 39148
This patch adds gstreamer v4l support to emotion. If you got a webcam it can
be tested by doing:
emotion_test -gstreamer v4l://
This will use the first video device /dev/video0.
If you do not have a webcam, you can also try it using the Virtual Video driver
By: Lars Munch <lars@segv.dk>
SVN revision: 39147
Do not spam the user if no length available from gstreamer. This is the case
for webcams, streaming audio and video etc.
By: Lars Munch <lars@segv.dk>
SVN revision: 39146
Use calloc instead of malloc. This will ensure that length in set to zero if no
length is provided from gstreamer.
By: Lars Munch <lars@segv.dk>
SVN revision: 39145
2. make gl engine able to use cutouts - in some cases its faster, some
slower. it's a mixed bag. not sure what to make of it. it's #defined to be
disabled atm.
SVN revision: 39114
* evas/src/lib/engines/common/evas_font.h,
* evas/src/lib/engines/common/evas_font_draw.c,
* evas/src/lib/engines/common/evas_font_load.c,
* evas/src/lib/engines/common/evas_font_query.c: Add cache for font kerning.
This patch give something around 2% for all tests around text in expedite,
except for Textblock Intl where it give a 3 times boost.
Regarding text rendering speed, something is strange when used by evas_pipe.
All tests using Styles are around 40% faster without evas_pipe. 30% faster
for Text Change. But Text Basic 7% slower. So it should be possible to have
faster rendering when using evas_pipe for font rendering.
SVN revision: 38993
* eet/src/lib/eet_lib.c,
* eet/src/lib/eet_cipher.c,
* eet/src/lib/Eet_private.h: Add a function to retrieve SHA1 of an associated Eet_File.
Note: Sadly GnuTLS doesn't seem to provide a gnutls_x509_crt_verify_hash function.
SVN revision: 38982
Often requested for animations that want to grow or shrink text
quickly. This is a faster alternative to using geometry with rel1/rel2
and "text.fit: 1 1;" since it does not need to figure out which size
fits better into that object.
I tested and it does not seem to introduce any regression. Also
checked with scale and text_class variations.
SVN revision: 38958
For some unknown reason evas was informing EVAS_CALLBACK_* even if the
original call did not changed the internal object state, that is, new
value is already equal to current value.
This is specially costly since Edje, Box, Table and possible other
layout engines will call evas_object_resize(), move(), show(), hide()
even if the state has not changed, assuming evas will ignore the call
(as it does). The real overhead might come if there are listeners
attached to these events, that in turn might do lots of other stuff,
leading to a torrent of useless calls.
I marked it for removal, please test it and uncomment '#define
CALLBACK_NOOPS' to get the old behavior back. It does seems to work
with e17 and edje_editor. If problems appear, let's try to fix the
real problem instead of getting this code back, it's a performance
penalty.
SVN revision: 38955