Commit Graph

213 Commits

Author SHA1 Message Date
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
Davide Andreoli 464c92eece * fix compiler warnings
SVN revision: 35095
2008-07-13 13:55:43 +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
Carsten Haitzler dde62f1882 add another constraint-aware min calc
SVN revision: 34297
2008-04-17 10:22:57 +00:00
Carsten Haitzler 368f148fef use hold event and emit hold,on and hold,off
SVN revision: 34161
2008-03-31 21:38:51 +00:00
doursse 8e386e3f73 remove trailing spaces
SVN revision: 34101
2008-03-24 08:22:01 +00:00
Christopher Michael 6fd085f0aa Fix formatting ugliness.
Add 'const' to evas_hash_foreach functions as per recent Evas changes.


SVN revision: 33748
2008-02-15 19:30:12 +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
Gustavo Sverzut Barbieri 8f12e90da0 Set pass_events to 0 if "mouse_events: 1".
I'm not sure this is the right thing to do, but since we're setting it
to 1 when "mouse_events: 0", it fix some problems.

Maye we shouldn't set this flag at all and let users have these
options set on clippers?


SVN revision: 32120
2007-10-19 16:07:43 +00:00
doursse 974152be16 remove trailingspaces
SVN revision: 31657
2007-09-08 18:31:56 +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
Carsten Haitzler 24b62d0683 constness patches from cedric
SVN revision: 30848
2007-07-16 07:31:06 +00:00
Sebastian Dransfeld 50c700d439 Remove unused variable.
SVN revision: 30365
2007-06-17 07:09:02 +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
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
rephorm 766c1990c4 docs
SVN revision: 29523
2007-04-15 04:24:07 +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 7512a58ace swallow parent recalc etc. in.
SVN revision: 29351
2007-04-04 12:46:44 +00:00
Christopher Michael 7bab06fcb4 Use memset on fdata for edje_color_class_list and edje_text_class_list based on
help from RbdPngn, Seb & Rephorm...thanks guys :)


SVN revision: 28518
2007-03-01 22:39:01 +00:00
Christopher Michael dee90b02dd Properly fix edje_color_class_list.
thanks Sebastion :)


SVN revision: 28517
2007-03-01 21:53:33 +00:00
Christopher Michael fa64d7bb00 Fix edje_color_class_list so that it's usable with enlightenment_remote again.
SVN revision: 28513
2007-03-01 20:06:38 +00:00
Sebastian Dransfeld 43dd5f8882 No need to alloc Edje_List_Foreach_Data
SVN revision: 27583
2006-12-28 11:35:40 +00:00
Viktor Kojouharov 06ea50650b text_class_del/list functions
SVN revision: 27558
2006-12-24 10:29:16 +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
Carsten Haitzler 2a8ce1da55 less noisy debug
SVN revision: 25209
2006-08-30 13:23:57 +00:00
moom 5014c11f2e * Add edje_object_part_object_get() to get the 'Evas_Object *'
corresponding to a given part.


SVN revision: 24912
2006-08-19 18:22:01 +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 155dbbbae8 dont set drag val if user already dragging
SVN revision: 22395
2006-04-29 14:15:16 +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 89d591573a one more place that NULLS out the shared color class on delete.
SVN revision: 20099
2006-01-29 17:04:41 +00:00
rephorm af09f73295 damn wacked out indent style :)
SVN revision: 19884
2006-01-18 01:01:05 +00:00
rephorm dc2a82223e mark edjes as dirty when their color class is deleted
SVN revision: 19882
2006-01-18 00:43:55 +00:00
rephorm a58af07dd7 Add edje_color_class_del(), edje_object_color_class_del() and edje_color_class_list().
Use stringshare for cc names.


SVN revision: 19861
2006-01-17 02:41:25 +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
sebastid 002bc72042 Fix EAPI warnings.
SVN revision: 19595
2006-01-07 08:54:30 +00:00
Carsten Haitzler 929cc2d47d null ptr checks
SVN revision: 18846
2005-12-05 10:08:30 +00:00
Carsten Haitzler bd0c83af10 make more use of stringshare and eet alloc methods
SVN revision: 18732
2005-11-30 15:36:34 +00:00
Carsten Haitzler 430b2a1901 use stringshare! :)
SVN revision: 18728
2005-11-30 09:56:15 +00:00
Carsten Haitzler 1c2dc52ae0 something is broken with text classes - disable for now.
SVN revision: 18723
2005-11-30 08:37:37 +00:00
Carsten Haitzler 725d212f48 handle NULL strings better - need to handle mroe NULLS though
SVN revision: 18617
2005-11-23 12:56:06 +00:00
Carsten Haitzler 41f9c95d96 no point disallowing sets.
SVN revision: 18515
2005-11-17 08:14:05 +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 0fc27f512b i dunno - be more paranoid and shit!
SVN revision: 17026
2005-09-28 07:13:16 +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 d9933843b6 handle textblock fixed with and variable height as a result formatting with
min size calcs


SVN revision: 16780
2005-09-20 05:49:22 +00:00
Carsten Haitzler 8de24f02e4 comment--
SVN revision: 16761
2005-09-19 06:53:37 +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 3ac48d63ae and edje started supporting.... TEXTBLOCK2!!!!!
see e_logo.edc for an example. :)


SVN revision: 16698
2005-09-12 09:43:49 +00:00
Carsten Haitzler 9398e011ff fix up fnmatch weirdness
SVN revision: 15043
2005-05-31 23:02:29 +00:00
tsauerbeck 9f1af178f3 tweak. if edje_fontset_append_set() is passed NULL, free the global variable and set it to NULL instead of not doing anything
SVN revision: 13964
2005-03-28 14:26:29 +00:00
tsauerbeck c095b1e9fd fixed a potential segfault
SVN revision: 13963
2005-03-28 14:14:15 +00:00
Carsten Haitzler 6938a5eb5f suport fontset appends
SVN revision: 13808
2005-03-20 16:49:10 +00:00
sebastid 072f4fe057 viminfo
SVN revision: 13492
2005-02-24 10:25:40 +00:00
Carsten Haitzler e7ff787ea6 a workaround for myseterious job loss...
SVN revision: 12954
2005-01-13 15:42:56 +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
Dan Sinclair 166867f286 - this needs to be initialized
SVN revision: 12941
2005-01-13 06:00:37 +00:00
Carsten Haitzler bbca4d6f18 and handle NULL text params
SVN revision: 12914
2005-01-12 02:58:17 +00:00
tsauerbeck 5c6f1e4594 some janitor work. no new bugs this time ;)
SVN revision: 12449
2004-12-11 19:08:55 +00:00
Carsten Haitzler 64f8d970a8 able to force a calc if we want to...
SVN revision: 12288
2004-11-28 14:52:01 +00:00
Carsten Haitzler 9b2339df48 fix initial dragable values
SVN revision: 12229
2004-11-20 04:43:37 +00:00
tsauerbeck c931ff883f warning fix
SVN revision: 12078
2004-10-30 11:08:17 +00:00
rephorm 634caa3c9e ref and unref the edje when blocking/unblocking and creating/deleting messages to avoid accessing free'd memory if an edje is deleted from an edje signal callback.
SVN revision: 12070
2004-10-30 02:30:55 +00:00
tsauerbeck ade8c6b269 doxygen fixes
SVN revision: 12042
2004-10-27 19:24:42 +00:00
tsauerbeck 6c0e20d5e0 warning fixes
SVN revision: 11339
2004-08-24 10:06:33 +00:00
Carsten Haitzler f4208aa56c aaaaaaaaaaaah message queue related fix.
SVN revision: 11207
2004-08-12 18:55:45 +00:00
Carsten Haitzler 001bc61602 more comments
SVN revision: 10821
2004-07-14 09:59:29 +00:00
Carsten Haitzler 5b506efe2c 1. fix a leak. i was naughty. spank spank
2. message queue is in - i am currently not surer if i shoudl go with this
varags api internally ot move to a more manual "build a list" thing... but the
message queue does work - i've moved signals to use it.


SVN revision: 10653
2004-07-01 03:46:05 +00:00
Carsten Haitzler 9fb09cae7a edje arlo patches
SVN revision: 10443
2004-06-06 04:42:17 +00:00
Carsten Haitzler 8c5069a658 add stuff for evoak... and edje list vars... :)
SVN revision: 10424
2004-06-03 09:14:55 +00:00
Carsten Haitzler 523ae99dc2 clean up more...
SVN revision: 10267
2004-05-18 06:05:49 +00:00
Carsten Haitzler 7bd60e9cb0 busy adding some MEAT to edje's embryo script support. just added
"persistent" variables - ie tied to each instance of an edje object and you
can save/load via get_int() set_int() get_float() set_float(), get_str(),
get_strlen() and set_str(). the values are fetched/stored wherever you do
these calls. you need a public variable declaration to indicate you want to
use a global var, and use this variable handle as the variable index - edje
will init it for you.

e_logo.edc has some examples...
:)

this solves being able to keep state like if a check button is enabled or
disabled etc. etc. etc.
then i guess its onto the rest of the calls...


SVN revision: 9526
2004-03-30 10:30:35 +00:00
Carsten Haitzler d4b9d513fb "*" matches ANYTHING including ""
SVN revision: 8450
2004-01-16 01:42:57 +00:00
tsauerbeck 3b8d9f384b edje is valgrind-clean now! :)
SVN revision: 8374
2004-01-13 17:14:31 +00:00
tsauerbeck 7ebc004b74 more memory management cleanups. fixed some warnings.
SVN revision: 8357
2004-01-12 19:21:25 +00:00
Carsten Haitzler 9cc07f3b20 oops... fix!
SVN revision: 8214
2003-12-27 10:51:02 +00:00
rbdpngn 6bee6d788d Avoid memory corruption by cleaning up parts at the correct time.
SVN revision: 7942
2003-11-25 07:22:19 +00:00
Carsten Haitzler 2bcf6301f8 atmos' patch! :)
SVN revision: 7798
2003-11-05 00:08:57 +00:00
rbdpngn 17678212d6 Global text and color class manipulation. Settings on individual edje's will
override the global values.


SVN revision: 7795
2003-11-04 06:15:19 +00:00
rbdpngn 2042be6db7 Spelling cleanup, though it feels kinda dirty "correcting spelling" on a word
that doesn't exist.


SVN revision: 7767
2003-10-30 04:45:18 +00:00
Carsten Haitzler 1bb9260fea remove lots of warnings
SVN revision: 7662
2003-10-19 02:11:06 +00:00
Carsten Haitzler 00d83df7eb match changes made to evas.
SVN revision: 7645
2003-10-18 03:34:54 +00:00
Carsten Haitzler c396a44fd5 oops - swallow went bad.
fix edje drag


SVN revision: 7444
2003-09-12 08:09:47 +00:00
Carsten Haitzler 62eb5b0b19 setting extern min/max size overrides min/max sizes implied by objects
SVN revision: 7427
2003-09-07 05:16:08 +00:00
Carsten Haitzler df683295dd dragables are about complete now.. with new actions, page and step values....
all happy & smelly.


SVN revision: 7395
2003-09-01 02:53:08 +00:00
Carsten Haitzler a9ec725b89 and remove printf's
SVN revision: 7376
2003-08-26 00:18:53 +00:00
Carsten Haitzler 4c51ac32d8 IMMENSELY evil!
akuma no code desu!

there are a LOT of paths that lead to calling external callbacks froma
pgoram thaty will invalidate the loop or code just after that call-
causing... segv's and all sort sof fun goodies. i've blocks/locks off a lot
of them... i hope i haven't missed any - but it's likely. tread carefully
within callbacks!


SVN revision: 7375
2003-08-26 00:16:49 +00:00
Carsten Haitzler d3ad6fedd9 the basics of dragables work. signals are generated properly. there's calls
to set/get dragable size relative to its confie and is value relative to its
cofine, query what directiosn a dragable can be dragged. you shoudl be able
to do scrollbars - except scroll arrows internally in edje making the
scrollbar move.


SVN revision: 7324
2003-08-15 13:35:25 +00:00
Carsten Haitzler 0e51283491 clip to swallower's clipper
mih not 2 minw's


SVN revision: 7318
2003-08-14 08:19:42 +00:00
Carsten Haitzler 516e43fc09 you can add arbitary key/value pair strings to either 1 the edje file .eet as
a whole and/or to each collection in the edje .eet file (different
namespoaces with each collection having its own namespace) :) this shoudl
make Rbdpngn happy :)


SVN revision: 7288
2003-08-05 14:33:35 +00:00
Carsten Haitzler 107230b052 fix 1 memleak...
SVN revision: 7264
2003-07-30 02:58:22 +00:00
Carsten Haitzler a8ed74dc0b more features... working on fixme list.
SVN revision: 7249
2003-07-27 13:16:51 +00:00
Carsten Haitzler 9a9a28fa14 some notes for me about edje program expansions..
SVN revision: 7219
2003-07-23 05:19:50 +00:00
Carsten Haitzler 3d128a9cdc min.max size properties now per edje collection can be specified in the edje
.edc file and can be accessed. the min_size_get has become a min_size_calc
since it does actually calculate it.

also swallowed edjes will be queried for their own min/max size and that will
be used to further limit the part that swallows. also you can attach
properties to any old evas object so it will have min/max size properties
(maybe one day this can go into evas itself?). also swallowed objects if
deleted before the parent edje will "unswallow" themselves properly :)


SVN revision: 7195
2003-07-20 12:37:49 +00:00
Carsten Haitzler a7282b534b you can query the state of a part now
SVN revision: 7180
2003-07-16 13:50:28 +00:00
Carsten Haitzler fa42fa6de5 global freeze/thaw. much more optimial for COMPLEX edjed that take a fair bit
of grunt to re-calculate. avoid caclulations until idle time by freezing and
thawing appropriately pre/post render


SVN revision: 7178
2003-07-16 05:15:15 +00:00
Carsten Haitzler 565c76645a 1. types declared as int, not uchar. thansk rbdpgn! :)
2. you can query the REAL minimum size of an edje too.


SVN revision: 7168
2003-07-15 08:26:06 +00:00
Carsten Haitzler 395743c598 edje can now swallow other evas objects... including... other EDJES! :)
SVN revision: 7166
2003-07-13 06:19:09 +00:00
Carsten Haitzler a23287c9fe tect & colorclasses - in theory, work. must test!
SVN revision: 7164
2003-07-13 02:06:46 +00:00
Carsten Haitzler ec7d220af2 oops bug... :)
SVN revision: 7130
2003-07-11 01:13:56 +00:00
Carsten Haitzler 073e9b47c6 api change... yes i know. sorry! but it's early days. this is much cleaner
using better namespacing.


SVN revision: 7119
2003-07-08 10:08:15 +00:00
Carsten Haitzler 1b587fd598 work has been done while i've been away. i just need to put this in cvs. many
fixem's have been fixed. text parts work fully now, ALONG with all their
respective effect modes, fits, alignments and "chopping". a few more api
calls have been added and cleaned up. you'll need to update eet too for this
to work.


SVN revision: 7113
2003-07-07 07:55:18 +00:00
Carsten Haitzler 626d2b9981 lets keep geometry of objects in the canvas in canvas units (double's) :)
(and handle incorrect inputs too) :)


SVN revision: 7101
2003-06-26 23:58:58 +00:00
rephorm d614ac56e1 stop after the first part with that name. (no need to go through the rest of list).
SVN revision: 7100
2003-06-26 21:17:57 +00:00
rephorm c22eea281c Edje part geometry querying added.
Only does something if part geom has been calculated.

Maybe this should return an int as to whether or not its actually giving the geometry values?


SVN revision: 7099
2003-06-26 21:14:48 +00:00
Carsten Haitzler 969629dfb2 1 mega-file (edje_main.c) split up into saner-to-manage files.
SVN revision: 7070
2003-06-24 02:33:04 +00:00