Commit Graph

157 Commits

Author SHA1 Message Date
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