Commit Graph

228 Commits

Author SHA1 Message Date
Cedric BAIL e33474c92f Move to eina_hash. Nothing should break, but if you experience any unexpected behaviour
please ping me on #edevelop.



SVN revision: 38183
2008-12-17 14:26:47 +00:00
Iván Briano 0ee4d07727 Edje Box in. Have fun with it.
SVN revision: 37783
2008-11-24 05:15:15 +00:00
Carsten Haitzler d5bc0e8546 add calls to select all/none
SVN revision: 37700
2008-11-18 08:45:27 +00:00
Carsten Haitzler 38f06f34e8 track subobjs (used by entry only for now) and emit signals to them too
SVN revision: 37688
2008-11-17 05:54:01 +00:00
Gustavo Sverzut Barbieri f53febde32 Edje postponed calculations.
This makes use of new Evas_Smart_Class calculate() callback to
postpone calculations until render time, possible saving lots of
calculations to happen.

It is another try, with Cedric's changes to force recalculations when
requried (ie: just before doing some edje_object_*_get()), let's see
if this one solve found issues.



SVN revision: 37620
2008-11-14 11:06:15 +00:00
Cedric BAIL 25f4acee01 This is a quick fix for edje match memory consuption. It is not the best
solution, but the fastest to implement without breaking edje file format.

So now, when a callback or a program don't use globbing charactere (*, ?,
[] and \), the match are put in a little rbtree instead of the big automate
matrix.

This patch could potentially break edje user, if you experience anything
strange with your edje file, please report.



SVN revision: 37577
2008-11-10 16:37:52 +00:00
Vincent Torri 0d8b00fdeb * move standard header files to source files
* remove gendoc


SVN revision: 37158
2008-10-26 17:18:19 +00:00
Vincent Torri 9d71cc15c7 autotools cleanups
* configure.ac re-organisation
 * don't compile edje binaries on windows ce
 * add doc rule to build documentation (hence gendo is removed,
   Doxyfile is moved to doc/ and edje.c.in is renamed doc/edje.dox.in)
   Next commit will fix completely the documentation
 * fix edje.pc.in


SVN revision: 37137
2008-10-26 11:55:57 +00:00
Carsten Haitzler 1d8a7e4dd3 allow you to get geom of anchors.
SVN revision: 37039
2008-10-24 00:44:26 +00:00
Carsten Haitzler 48f89d316a support repch - replacement char for passowrd mode. theme defines it now.
SVN revision: 37013
2008-10-23 05:38:06 +00:00
Cedric BAIL fa66dbf40a Remove Evas list from Edje and use Eina instead.
SVN revision: 36961
2008-10-22 11:34:42 +00:00
Carsten Haitzler c74f8c820b add prototype.
SVN revision: 36743
2008-10-17 06:42:33 +00:00
Carsten Haitzler 7428272b25 and support anchors now. fix up other nigglies. very solid now.
SVN revision: 36741
2008-10-17 06:40:46 +00:00
Carsten Haitzler ab9c9c71d3 edje entry growing.
SVN revision: 36709
2008-10-16 09:17:44 +00:00
Cedric BAIL b489e1936b Switch evas_stringshare to eina_stringshare.
SVN revision: 36672
2008-10-15 14:11:11 +00:00
Carsten Haitzler af9a085880 and more entry support.
SVN revision: 36665
2008-10-15 09:58:25 +00:00
Carsten Haitzler ce0d40cae7 editable textblocks... a start (definitely not there yet)
SVN revision: 36611
2008-10-13 09:19:04 +00:00
Gustavo Sverzut Barbieri fb44db2211 Revert edje_smart_calculate_v4_r2, it breaks e17 shelf resize.
Not ready yet, reverting...



SVN revision: 36031
2008-09-17 01:50:16 +00:00
Gustavo Sverzut Barbieri d044a0245a More svn:ignore
SVN revision: 36026
2008-09-16 19:44:20 +00:00
Cedric BAIL 060f30aa6e Make EDJE_PROGRAM_CACHE configurable with autotools (with small fix for make it run again).
SVN revision: 35942
2008-09-11 11:14:39 +00:00
Carsten Haitzler 673efdedd5 fix scaling on edje_scale - works with smnall sizes now too. problem is
really i was chasing a freeze/thaw problem. something is up.



SVN revision: 35922
2008-09-10 06:39:57 +00:00
Gustavo Sverzut Barbieri 0a75de51f0 Revert edje calculate optimizations.
Edje is tricky, it's event processing is too weird and Cedric's
changes to make it work are not working as expected. Edje freezes
itself while processing signals, but in mouse down cb it forces
recalculate, which seems was previously ignored, but now they are not.

We should look at how to fix this and then re-apply this patch.



SVN revision: 35908
2008-09-09 23:41:42 +00:00
Carsten Haitzler 23e2c9e035 support an edje scaling factor. parts can selectively say "yes.. scale me!"
:)... this allows e etc. to adapt to massivelyt different dpi screens with
slickness that even svg can't get to... why? you scale just what NEEDS
scaling (text, button sizes, and other limiting elements). other bits like
borders, padding etc. can remain pixel-perfect and thus the look is amazing.
pixel-perfect drawing with scalable adapting.



SVN revision: 35895
2008-09-09 14:13:34 +00:00
Gustavo Sverzut Barbieri 58a49c2f69 Add calculate callback to Evas_Smart_Class.
Some people is using it for some time now without problems, so I'm
adding it to SVN to get some broader use. Remember to recompile ALL
libraries that depend on Evas as it will change the
EVAS_SMART_CLASS_VERSION and old classes will fail to load.

This will also change Edje so it will postpone _edje_recalc() to
render time, calculate() callback, however some methods will force
early recalculation.



SVN revision: 35860
2008-09-07 01:25:49 +00:00
Gustavo Sverzut Barbieri d428d6ec1d Add some consts to Edje's API.
Some methods do no change object internal state and can be marked as
read only. In parallel have infamous edje_object_part_object_get() to
return a read-only object, so it's even more clear that one should not
touch this object state (either a cast or a compiler warning if you do
that!)


SVN revision: 35485
2008-08-14 18:21:27 +00:00
Gustavo Sverzut Barbieri a85c8a5f2b Fix name incoherency: rename Edje->part to group.
It is very confusing to have "part" there and in the methods call,
because we want the group name, not part.


SVN revision: 35483
2008-08-14 18:04:43 +00:00
Gustavo Sverzut Barbieri 0db98a4d3f We need to force signed chars when we need the signal.
The type "char" is not defined to have a sign or not, for performance
issue some platforms (ie: ARM) define it as unsigned. If we need to
rely on the sign, must say so.


SVN revision: 34924
2008-06-27 03:14:57 +00:00
doursse c5623c01b3 reorganize header files inclusion. Fix some problems when compiling on Windows
SVN revision: 34768
2008-06-07 10:06:14 +00:00
doursse 653692fa28 fix autotools stuff for Windows
SVN revision: 34712
2008-05-31 06:15:41 +00:00
Carsten Haitzler 15cd1238db start some serious work on script_only edje objects - for efficiency sake i'm
having an almost parallel codepath for script_only objects - they dont get to
use the older edje api calls for part defined objects. they will have a new
set of calls specifically for them. it's partly done - very little available
now, but will expand. lots of fixme's.


SVN revision: 34699
2008-05-30 11:20:49 +00:00
Carsten Haitzler 43821d36e4 * add efreet garbage data check
* remove printfs that clutter output
* add efreet file type check - only parse regular files
* chekc mmap returns correctly for MAP_FAILED results
* edje has some stubs for adding script-only objecvts - but nothing useful
right now


SVN revision: 34689
2008-05-29 02:00:04 +00:00
Caio Marcelo de Oliveira Filho ea56c61eba Edje: adding support for ignore_flags.
Parts can choose to ignore Events with certain flags in event_flags. The default value is
to accept all events. The syntax for this is specifying in the part:

    ignore_flags: ON_HOLD;

I've tried to update Edje_Edit bits also.


SVN revision: 34170
2008-04-01 21:33:17 +00:00
doursse 8e386e3f73 remove trailing spaces
SVN revision: 34101
2008-03-24 08:22:01 +00:00
Sebastian Dransfeld 1ca9a3d4a5 Fix compiler warnings
SVN revision: 34013
2008-03-13 16:01:35 +00:00
Carsten Haitzler b65d63440f add cedrics dict check patch
SVN revision: 33946
2008-03-06 17:52:59 +00:00
Carsten Haitzler e076a78519 cedric's eet and edje patches to use eet dictionaries for strings.
SVN revision: 33873
2008-03-01 06:38:09 +00:00
Gustavo Sverzut Barbieri 08bfdacdee Bugfix and refactor get of font based on text_class.
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
2008-02-29 21:43:55 +00:00
Gustavo Sverzut Barbieri b5d880093f Avoid using anonymous for often used structs.
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
2008-02-27 16:03:23 +00:00
Gustavo Sverzut Barbieri 9abfa8f70a Cleanup of last patches and revert my patching mistakes.
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
2008-02-26 20:12:00 +00:00
Gustavo Sverzut Barbieri 30b26c0937 Cleanup for possible memory leak.
Patch by Cedric BAIL.


SVN revision: 33853
2008-02-26 18:41:44 +00:00
Gustavo Sverzut Barbieri 435dfe2a2a Reduce memory allocation for edje match.
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
2008-02-21 18:48:36 +00:00
Carsten Haitzler 540db93949 textblock max size option in
SVN revision: 33528
2008-01-19 01:00:14 +00:00
Carsten Haitzler fff9c738a2 did some tests - this seems to be faster and seems to match correctly in some
test cases i brewed up. doesnt seem to break e so far and thats a fairly
comprehensive test.


SVN revision: 33515
2008-01-18 06:34:04 +00:00
Gustavo Sverzut Barbieri 3500a5c059 Fix calculation of maximum values for swallow parts.
Due my last change, the code was broken by edjes without a group
min/max, this happens because edje_object_size_max_get() returns
100000 for these objects, and this was being used as object maximum
size.

Current fix is a hack: just check for this value, now known as
EDJE_INF_MAX_*, but the real solution would be to return 0 (or -1) and
check for it in other parts of the code, but it's harder to get right.


SVN revision: 32123
2007-10-19 19:31:42 +00:00
doursse 5f24fc14bf remove trailingspaces, include correctly alloca.h
SVN revision: 31655
2007-09-08 18:21:57 +00:00
doursse 97645159f8 Ecore_X and Ecore_Fb are not used
SVN revision: 31554
2007-08-27 11:52:04 +00:00
doursse 2e7692e45e make edje binaries compile and allow the creation of the edje shared lib on windows. Remove some trailing spaces
SVN revision: 31517
2007-08-26 12:54:51 +00:00
Carsten Haitzler 25acab7a37 data struct should match eet description - an enum may not be a char - it may
be an int or short or something else.


SVN revision: 31118
2007-08-02 22:48:14 +00:00
Gustavo Sverzut Barbieri eda1f13b33 Support for selectable pointer_mode.
Evas now support objects that do not grab mouse down event (NOGRAB) aside
with the default (AUTOGRAB). API is meant to be extensible.


SVN revision: 30950
2007-07-24 14:20:07 +00:00
Carsten Haitzler d6f9cc797e adrunko's precise event patch
SVN revision: 30939
2007-07-23 14:22:57 +00:00
Peter Wehrfritz 256b9de930 add support for glow, far shadow and far soft shadow for text parts
SVN revision: 30629
2007-07-06 23:33:42 +00:00
rephorm 982ad090be add cedric bail's fill.type patch.
you can now include "type: TILE;" in the fill block to tile an image part at the size of its image data


SVN revision: 30624
2007-07-06 22:36:40 +00:00
Carsten Haitzler 0c4af24a33 save a few bytes by packing structures better... simple savings :)
SVN revision: 30486
2007-06-28 23:22:20 +00:00
rephorm d4a055585b Add GROUP Parts to edje.
These can be used to automatically swallow in another group from the same file.

Parts within child groups can be referred to by a ':' separated 'full path' of
part names. Any API functions that take a part name will now accept a full path
also.

Signals emitted by child objects will be repeated up to the parents with the
source changed to be the path relative to the receiving object.  E.g in the
example below, a mouse moving over the lower light green rectangle would result
in the parent object recieving a "mouse,move" signal with source "bot:inner".

**** NEW RESTRICTION ****  part names should no longer include a ':' character.
This is not yet enforced by edje_cc, but will cause the part to be inaccessible
from the API.

Example EDC:

collections {
  group {
    name: "parent";
    parts {
      part {
        name: "top";
        type: GROUP;
        source: "child";
        description {
          state: "default" 0.0;
          rel2.relative: 1 0.5;
        }
      }
      part {
        name: "bot";
        type: GROUP;
        source: "child";
        description {
          state: "default" 0.0;
          rel1.relative: 0 0.5;
        }
      }
    }
  }
  group {
    name: "child";
    parts {
      part {
        name: "base";
        type: RECT;
        description {
          state: "default" 0.0;
          color: 160 208 8 255;
        }
      }
      part {
        name: "inner";
        type: RECT;
        description {
          state: "default" 0.0;
          rel1.offset: 10 10;
          rel2.offset: -11 -11;
          color: 210 228 76 255;
        }
      }
    }
  }
}


SVN revision: 30087
2007-05-27 05:28:07 +00:00
rephorm e954849ee1 Remove part list, using table everywhere instead
SVN revision: 30085
2007-05-26 23:57:21 +00:00
rephorm 8a17d1986e only clear and re-apply gradients when the spectrum actually changes
SVN revision: 30065
2007-05-24 04:34:41 +00:00
Stafford Mitchell Horne 61bda22a70 Add negative font size handling in text_classes
* negative size is a multiplier for the origianl size
 i.e. : -100 = 1.0x;  -120 = 1.2x


SVN revision: 29835
2007-05-03 23:15:09 +00:00
Sebastian Dransfeld 2bc0592a68 - Formatting.
- Remove old code.


SVN revision: 29380
2007-04-05 15:54:16 +00:00
Carsten Haitzler a9daf7dd89 cedric's patches.
SVN revision: 29353
2007-04-04 13:25:55 +00:00
Carsten Haitzler e0b17ee4ee 1. removed mosue_events 0 on swallows - as this now changes behavior. normalise
2. gustavo's patch.


SVN revision: 29352
2007-04-04 12:51:51 +00:00
Carsten Haitzler 6d5551939d tilman's edje font metrics patch
SVN revision: 29266
2007-03-30 23:39:41 +00:00
ningerso 40f2626800 Use a hash for faster file global data lookup. If we hit a case where
per-object data lookup is slow, then this should be extended to include that.


SVN revision: 28591
2007-03-06 12:03:34 +00:00
Carsten Haitzler 5a2351be42 indenting
SVN revision: 26451
2006-10-09 15:19:18 +00:00
Carsten Haitzler 54184c2c37 add max text size for text objects - object wont get bigger than its text
contents. useful for some things.


SVN revision: 26439
2006-10-09 06:01:13 +00:00
rephorm 46b3c5f1a0 add linear gradient specific fill options
used (inside a part description) as follows:

Horizontal from left to right filling entire part:

  gradient {
    spectrum: "black_to_white";
    rel1 {
      relative: 0 0.5;
      offset: 0 0;
    }
    rel2 {
      relative: 1 0.5;
      offset: -1 0;
    }
  }

Diagonal from top left to bottom right:


  gradient {
    spectrum: "black_to_white";
    rel1 {
      relative: 0 0;
      offset: 0 0;
    }
    rel2 {
      relative: 1 1;
      offset: -1 -1;
    }
  }

If either rel1 or rel2 is present in the gradient block of a linear gradient, these will override any angle/origin/size specified in the fill block ('spread' is still honored).


SVN revision: 24975
2006-08-21 03:00:01 +00:00
rephorm 8cda88c2e6 Add initial support for edje gradients. See data/src/gradient.edc for an example.
SVN revision: 24361
2006-08-02 10:52:44 +00:00
Carsten Haitzler 3ea84d923f more external aspect support - all working nicely now
SVN revision: 24148
2006-07-23 19:33:27 +00:00
Carsten Haitzler 5de5999b5a allow code to specify an aspect for swallowed objects
SVN revision: 24145
2006-07-23 13:50:02 +00:00
Carsten Haitzler 2f82204b7b revert cedrics patch for font stuff - it breaks textblocks
SVN revision: 23681
2006-07-03 06:15:05 +00:00
Carsten Haitzler 334eb3a389 cedrics font hash lookup speedup :)
SVN revision: 23644
2006-07-02 06:18:18 +00:00
Carsten Haitzler 5a3be0fd8c zigs patch for edje adding more embryo script power to set state vals
SVN revision: 23616
2006-06-28 18:31:56 +00:00
Stafford Mitchell Horne 39c1195176 Add ability for text blocks to use text classes
* Classes are defined at the tag level
 * Tags whithout classes inherit the parent class
 * text class defined by putting text_class=<class name> in tag style


SVN revision: 21518
2006-03-28 07:45:54 +00:00
stffrdhrn 46a61a67b7 Edje bug fixes:
* Add some comments
 * Fixup some const char */stringshare related compile warnings
 * Fix text classes


SVN revision: 21392
2006-03-19 04:22:35 +00:00
rephorm 24b55bb6c2 Add edje_color_class_del(), edje_object_color_class_del() and edje_color_class_list().
Use stringshare for cc names.


SVN revision: 19862
2006-01-17 02:41:26 +00:00
rephorm 0b56671b3e color class blocks in edje.
this allows you to specify the default color for any parts using color_classes in a given file.

this color will be overridden by edje_color_class_set()
which will in turn be overridden by edje_object_color_class_set()

note. if you specify a color (color: ...) in a part description that also has a color_class, the cc will be multiplied against the color -- generally not what you want.

also, as a tip, the gimp's 'multiply' blend mode is almost exactly the same as evas/edje's coloring.


example:

...
part {
  name: "colored";
  type: RECT;
  description {
    state: "default" 0.0;
    color_class: "bg_color";
    /* note: no color: set here */
  }
}
...
color_classes {
  color_class {
    name: "bg_color";
    color: 229 239 255 255;
  }
}


SVN revision: 19707
2006-01-11 03:19:45 +00:00
Carsten Haitzler 53b57f67a6 visibility -> off
SVN revision: 19682
2006-01-10 07:34:48 +00:00
Carsten Haitzler 7554f8ee36 actually make symbol hiding work!
SVN revision: 19314
2005-12-27 17:17:31 +00:00
Carsten Haitzler 430b2a1901 use stringshare! :)
SVN revision: 18728
2005-11-30 09:56:15 +00:00
Carsten Haitzler e5856869df no need to alloc path and part strings if its cached and thus shared
anyway... so detect and re-cycle :)


SVN revision: 18677
2005-11-28 09:54:06 +00:00
rbdpngn ba901efc05 Use the style features available in evas text objects to avoid creating more
evas objects. This saves up to 25 text objects per text part for soft shadows.


SVN revision: 18645
2005-11-26 08:14:34 +00:00
Carsten Haitzler 25ee716746 push/pop vm on the fly - saves a chunk of ram.
SVN revision: 18625
2005-11-24 03:23:01 +00:00
Carsten Haitzler 36db7b296f add elipsis direct control
SVN revision: 18326
2005-11-06 03:32:01 +00:00
Carsten Haitzler bcab625b79 fix det leeek
SVN revision: 18209
2005-11-02 08:13:56 +00:00
Carsten Haitzler 3b20105112 minor leak--
SVN revision: 18142
2005-10-30 09:06:45 +00:00
Carsten Haitzler 208de4897a the first wave of evas smart object modes. commit hell #1. :) other things
still need updating in cvs - but i am sure others can do that :)


SVN revision: 18001
2005-10-27 02:44:36 +00:00
Carsten Haitzler 503de08b68 code3 clean - move code to special files and maybe fix a bug?
SVN revision: 17187
2005-10-05 08:38:04 +00:00
Carsten Haitzler a4fc9aa9ba fix typos in edje docs patch from martin :)
SVN revision: 16821
2005-09-21 03:11:31 +00:00
Carsten Haitzler 2c69e593a8 hmm - make min size calculation mroe accurate and handle corner cases...
SVN revision: 16760
2005-09-19 06:51:49 +00:00
Carsten Haitzler ab19b67038 blame: TILMAN:
1.73         (tsauerbe 29-Oct-04): #ifndef ABS
1.74         (tsauerbe 29-Oct-04): #define ABS(x) (x < 0 ? -x : x)

no ()'x around x - thus the part finder couldnt calculate distance of valued
parts properly! :) now it finds the right numbered part :)


SVN revision: 16758
2005-09-19 03:13:23 +00:00
Carsten Haitzler 3ac48d63ae and edje started supporting.... TEXTBLOCK2!!!!!
see e_logo.edc for an example. :)


SVN revision: 16698
2005-09-12 09:43:49 +00:00
sebastid e3ad2acd61 Add missing headers, and define MIN
SVN revision: 16552
2005-09-05 10:46:04 +00:00
Carsten Haitzler 3c16cf0327 ug callback that deletes the object that is bing walked for callbacks...
ouch.. fix.


SVN revision: 15932
2005-07-28 13:39:23 +00:00
Carsten Haitzler 24e1406536 pavel's patch. :)
SVN revision: 15905
2005-07-26 13:59:03 +00:00
Carsten Haitzler c3d08acb8b file and collection cache - this should remove a lot of file io... :)
SVN revision: 14081
2005-04-03 11:43:00 +00:00
tsauerbeck f06dec0f74 sanitize border scaling middle something logic. if the property needs to set to 'true' to be disabled, we better name it that way. this breaks eet compatibility, but since the previous commit is still young, i don't increment the version ids
SVN revision: 14048
2005-03-31 17:26:31 +00:00
Carsten Haitzler 62b9246441 support unfilled centers...
SVN revision: 14038
2005-03-31 11:40:05 +00:00
Carsten Haitzler 6938a5eb5f suport fontset appends
SVN revision: 13808
2005-03-20 16:49:10 +00:00
tsauerbeck 057ae3dfa5 Decompiler improvements: Edjes now contain a 'compiler' entry, which is set to the executable that's used to compile an Edje. edje_decc does some sanity checking on this string, to prevent exploitation.
SVN revision: 13754
2005-03-16 18:39:39 +00:00
Dan Sinclair 64fd36e92f - clean up the _edje_color_class_hash and _edje_text_class_hash on
edje_shutdown


SVN revision: 12943
2005-01-13 06:29:52 +00:00
Carsten Haitzler 96c09fd010 handle double/triple click again
SVN revision: 12397
2004-12-07 13:31:15 +00:00