Commit Graph

42 Commits

Author SHA1 Message Date
Carsten Haitzler 62efa76e50 add grid layout obj to evas (along with table and box)
SVN revision: 59481
2011-05-18 07:04:32 +00:00
Tom Hacohen c28c5625c5 Evas canvas: use liblinebreak when available.
SVN revision: 59205
2011-05-05 11:05:54 +00:00
Carsten Haitzler c885080057 an initial test at trying pixman instead of evas software rendering.
results... in comments. disabled atm unless u --enable it. only
replaces 1 operation in 2 cases.



SVN revision: 58824
2011-04-22 11:47:14 +00:00
Brett Nash 9eaea94252 Evas: Filters:
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
2011-04-19 05:47:56 +00:00
Carsten Haitzler 09069b6172 doxy move to header.
SVN revision: 58477
2011-04-08 07:26:20 +00:00
Carsten Haitzler 8859f850fb API add: From <dunamis.park@samsung.com> - sungwoo
start of evas gl api (with compile warning fixes).



SVN revision: 58318
2011-04-04 10:23:12 +00:00
Brett Nash 84fdff5919 Fixes to make proxy work
SVN revision: 56779
2011-02-07 01:38:00 +00:00
Brett Nash 04f6e8f789 Proxy Object framework.
Doesn't do anything useful yet.  But it's a start.

SVN revision: 56760
2011-02-06 23:49:44 +00:00
Cedric BAIL 05e8154f8b * evas: remove gradient and gradient2.
SVN revision: 51219
2010-08-16 15:14:49 +00:00
Carsten Haitzler 7fce71c5d9 add some beginnigns of utility funcs to evas map. move it to its own file.
SVN revision: 43201
2009-10-22 15:47:30 +00:00
Carsten Haitzler f79b4a4a2f 1. scalecache config env vars an use them
2. more api's related to cserve



SVN revision: 40548
2009-05-08 11:26:25 +00:00
Carsten Haitzler 46e8aa1b0d shared cache server++
is it ok?

1. it can be --disabled in evas's configure, but i think it works WITHOUT
disabling it (runtime) as it falls back to the old way of loading
2. it may cause build problems on some platforms - without it being enabled
we won't find out, so enable.
3. it needs enabling runtime to make use of it so it should be safe for now
until you enable it.

what is it?

it is a SHARED cache server - that means images loaded are loaded BY the
cache server (not by the actual process using evas). images are shared via
shared memory segments (shm_open + mmap). this means only 1 copy is in all
ram at any time - no matter how many processes need it , and its only loaded
once. also if another app has already loaded the same data - and its in the
cache or active hash, then another process needing the same stuff will avoid
the loads as it will just get instant replies from the cache of "image already
there". as it runs in its own process it can also time-out images from the
cache too.

right now you enable it by doing 2 things

1. run evas_cserve (it has cmd-line options to configure cache etc.
2. export EVAS_CSERVE=1 (im the environment of apps that should use the cache
server).

it works (for me) without crashes or problems. except for the following:

1. preloading doesnt work so its disabled if cserve is enabled. thisis
because the load threads interfere withthe unix comms socket causing
problems. this need to really change and have the cserve know about/do
preload and let the select() on the evas async events fd listen for the
unsolicited reply "load done". but it's not broken - simple preloads are
syncronous and forced if cserve is enabled (at build time).
2. if cserve is killed/crashes every app using it will have a bad day. baaad
day. so dont do it. also cserve may be vulnerable to apps crashing on it - it
may also exit with sigpipe. this needs fixing.
3. if the apps load using relative paths - this will break as it doesnt
account for the CWD of the client currently. will be fixed.
4. no way to change cache config runtime (yet)
5. no way to get internal cache state (yet).
6. if cache server exist - it wont clean up the shmem file nodes in /dev/shm
- it will clean on restart (remove the old junk). this needs fixing.

if you fine other issues - let me know.

things for the future:

1. now its a separate server.. the server could do async http etc. loads too
2. as a server it could monitor history of usage of files and images and
auto-pre-load files it knows historically are loaded then whose data is 
immediately accessed.
3. the same infra could be used to share font loads (freetype and/or 
fontconfig data).
4. ultimately being able to share rendered font glyphs will help a lot too.
5. it could, on its own, monitor "free memory" and when free memory runs
load, reduce cache size dynamically. (improving low memory situations).
6. it should get a gui to query cache state/contents and display visually.
this would be awesome to have a list of thumbnails that show whats in the
cache, how many referencesa they have, last active timestamps etc.

blah blah.

please let me know if the build is broken asap though as i will vanish
offline for a bit in about 24hrs...



SVN revision: 40478
2009-05-01 07:11:07 +00:00
Vincent Torri d250e5501b Big patch to make Evas work (more or less) with Windows CE:
* when fopen used, open in binary mode
 * use Evil when fopen is used
 * clean a bit some Makefile.am and add Evil dependency where needed
 * in evas_path.c, remove useless old Windows CE code. It's managed by Evil, now
 * in Evas_Data.h, move Eina.h before EAPI is defined for Evas.
 * define _WIN32_WCE when the host is windows cee


SVN revision: 37476
2008-11-05 17:21:04 +00:00
Carsten Haitzler 9705e3c741 hmmm after some talking - for now put the transform patch on hold - we need
tyo fix up some of these breaks first and there isn't a lot of time devoted
to this. so revert this. it's in svn history so we can dig it out any time we
like.



SVN revision: 37453
2008-11-04 09:19:35 +00:00
Carsten Haitzler 3e984fee34 jose's transform patches. some things to note:
1. nearest scaling is now broken - it's always linear interpolation. this
will lead to slowdowns. i need to fix this - a must.
2. i think it's time i put in a transformed image cache that can cache an
image object at a transform (and share it) automatically.
3. transforms in non-software-engines will not work - broken. need to at
least do xrender and gl engines.

any volunteers to help?



SVN revision: 37447
2008-11-03 22:50:54 +00:00
Gustavo Sverzut Barbieri f2791cdc56 Add evas_object_table, make evas_object_box more consistent.
Table code is still *incomplete*, it just do homogeneous layouts as
I'm still trying to figure out how to make it great.

I'm not expecting to make layout configurable, as we did for box, but
if you think it's required we can do that later.

Now that the public API of both BOX and TABLE are in, we can add these
as parts of Edje.



SVN revision: 37359
2008-10-31 17:42:47 +00:00
Gustavo Sverzut Barbieri 5026fa724a add evas_object_box.
Box is a smart object to help with the common task of laying out lots
of objects. It's very flexibile and one can customize the layout
function on a per-object basis dynamically, just set a new layout
function (the most common are provided). By default layouts use size
hints from children to do their work, but one can also add new
properties, just subclass with evas_object_smart_smart_set() and then
define your own option_* callbacks.

This code was ported from Guarana (widgets/sequence_box.c) with
permission of ProFUSION embedded systems so it can be relicensed from
LGPL to Evas license.

Original author: Gustavo Lima Chaves <glima@profusion.mobi>
Port: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>



SVN revision: 37188
2008-10-27 02:22:41 +00:00
Cedric BAIL ad1525e5f9 Make evas depend on eina. No change in the code yet, so just fix your build system and no bug must show up.
SVN revision: 36621
2008-10-13 15:58:56 +00:00
Gustavo Sverzut Barbieri 3f90a63416 Add Evas Clipped Smart Object.
This class covers the most common cases, usually its sub-classes will
have to implement resize and override one or two methods at most,
making the smart object usage less error prone and easier.

Default behavior is:
 - add: creates a hidden clipper with "infinite" size;
 - del: delete all children objects;
 - move: move all objects relative relatively;
 - resize: not defined;
 - show: if there are children objects, show clipper;
 - hide: hides clipper;
 - color_set: set the color of clipper;
 - clip_set: set clipper of clipper;
 - clip_unset: unset the clipper of clipper;

Documentation explains an easy way to inherit from this class and
still be able to use overridden methods.



SVN revision: 35861
2008-09-07 02:10:17 +00:00
Carsten Haitzler d73b8c5d7b updated patches from jose!
SVN revision: 35756
2008-08-31 02:04:31 +00:00
Carsten Haitzler c1fe72d7e4 jose has some new gradient work - these are his patches. nice work joseg! yes
- some enignes break as they dont have the stubbed out functions, and
xrender/gl engines dont even implement the drawing and need to (but are
stubbed out).



SVN revision: 35677
2008-08-26 05:45:04 +00:00
Cedric BAIL 2a123c0d6a Add support for evas asynchronous events.
SVN revision: 34410
2008-04-30 12:21:31 +00:00
doursse e21fb0f122 autostuff improvements:
* 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
 * 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


SVN revision: 32337
2007-11-04 09:21:50 +00:00
tilman 99060c539f evas now uses pkg-config to detect EET. i also reworked the autoconf code for that, IMO it now is MUCH cleaner and easier to read than before. if this causes any trouble, please contact me rather than putting weird code in again. thanks :)
SVN revision: 28838
2007-03-21 02:15:30 +00:00
Carsten Haitzler 55fdc7ac5f add fc flags
SVN revision: 21805
2006-04-04 13:14:01 +00:00
Carsten Haitzler f435375b19 initial import fo loadable engine modules for evas - from jorge zappie :)
SVN revision: 19775
2006-01-14 12:13:38 +00:00
Carsten Haitzler 83f010591d no more old textblock - gone. completely. tb2 renamed (as threatened) to
textblock. updated edje and e17.


SVN revision: 18054
2005-10-28 02:56:27 +00:00
doursse 4a27836ffd missing xcb cflags
SVN revision: 17531
2005-10-14 06:11:03 +00:00
sebastid fd37cb5ac3 Use AC_PATH_GENERIC
SVN revision: 16495
2005-09-03 19:42:28 +00:00
Carsten Haitzler 19ee9c1e0d i have started work on new textblock api/code - it is (for now) known as
textblock2 (the old textblock code is still there in textblock_old and the
api is still there until we swtich over).

...

important right nwo is COMMENTs on the api. do u like it. i am tryng to
keepit simple. right nwo i am writing JUSt enought to implement the markup
set api and styles - not a lot for editing and detailed queries yet. i will
work on that once the basic markup parse, style stuff and layout is done.


SVN revision: 16017
2005-08-03 13:07:00 +00:00
Carsten Haitzler b1c95faae0 eet/edb cflags
SVN revision: 13598
2005-03-04 00:39:41 +00:00
Carsten Haitzler ee2346b2c8 1. move font dir to its own
2. textblokc object stub. this is for an etxo-style text object. nothing much
there yet.


SVN revision: 12825
2005-01-08 10:02:18 +00:00
Carsten Haitzler 05c6c9d41d change order...
SVN revision: 12500
2004-12-18 11:08:56 +00:00
Carsten Haitzler 0e38160623 buildie cleanies
SVN revision: 11955
2004-10-22 02:40:32 +00:00
Carsten Haitzler 49d92b0277 distcheck
SVN revision: 11947
2004-10-21 08:06:13 +00:00
Carsten Haitzler bfbf65e04d dont need to set LDFLAGS
SVN revision: 11934
2004-10-21 03:02:01 +00:00
Carsten Haitzler f11447ab8a cross-compile cleanly damnit!
SVN revision: 9002
2004-02-17 07:12:38 +00:00
Carsten Haitzler 8451b5cc08 key grabs are done... ok not as efficiently as i'd liek so having more than
a dozen key grabs at any time may impact key event handling a little...

oh yeah.. added to the api .. now theres a modifier mask and a not_mask. the
not mas means "grab the key only if NONE of these modifiers are active and
only if one or more of the mask modifiers are active). using this you can
easily select allmodifiers, none, or a certain set of modifiers. if you need
more than that put in multiple grabs then :) to just have that exact set of
modifiers grabbed have not_mask be the inverse of mask. :)


SVN revision: 6546
2003-01-05 12:55:37 +00:00
Carsten Haitzler b77e71b077 maybe debians include system might be happier now...
SVN revision: 6532
2002-12-30 00:48:39 +00:00
Carsten Haitzler beb924c23e keyboard support... key grabs dont work.. and i'm not happy with it as an
api causeti doesnt support modifiers when grabbing in the api.


SVN revision: 6493
2002-12-17 00:00:38 +00:00
Carsten Haitzler 72b9af03de informers & interceptors... meant to "inform" callbacks of when an object
has been show, hidden, moved, resized or restacked :) handy for making
widgets (ie child widget got resized.. parent can adjust to fit child widget).

also interceptors.. designed to allow callbacks to intercept move, resize,
show, hide and restacking calls and modiy behavior (handy for widget sets
too!)


SVN revision: 6488
2002-12-10 06:45:18 +00:00
Carsten Haitzler 56b5e15f26 code move
SVN revision: 6445
2002-11-08 08:02:15 +00:00