Commit Graph

75 Commits

Author SHA1 Message Date
Bruno Dilly 5cca2ff0b1 edje: support adding physics worlds and bodies
Just an initial support, it's not possible to configure worlds
or bodies. Just adding it. Only possible customization is the
type of body.

It defines what's the collision shape and type (rigid / soft).
It can't be changed over time, so it's not on part's description.

It's expected that many cases won't be covered yet.

If you have ephysics installed and don't want it, just use
--disable-ephysics. It shouldn't affect anything for cases
where ephysics is not installed.



SVN revision: 79793
2012-11-28 22:38:47 +00:00
Cedric BAIL b786fe1ced edje: automatically emit ['edje,change,file', 'edje'] when the file change on disk.
For the moment only edje_player use it. This means that when used with
edje_watch, you don't need any more to type any kind of command line
when you are testing value in your theme. As a side effect, this means
that their is a real use case to make edje_cc faster !



SVN revision: 70890
2012-05-09 09:16:52 +00:00
Cedric BAIL cc02e46a18 edje: fix amalgamation support.
SVN revision: 65439
2011-11-20 14:11:50 +00:00
Prince Kumar Dubey 3cc8139906 From: Prince Kumar Dubey <prince.dubey@samsung.com>
From: Govindaraju S M <govi.sm@samsung.com>
Subject: edje multisense patch for sound sample, tone and haptic play

... This is the beginning of sound (and haptic) support in Edje - it
works, but only at certain basic sample playback levels. more will come.



SVN revision: 64731
2011-11-04 12:18:13 +00:00
Vincent Torri 662871b057 add tests and coverage support
SVN revision: 63394
2011-09-14 19:02:07 +00:00
Gustavo Sverzut Barbieri abc87fd449 Adding a transition layout animation for edje box.
Perform an animation when changing the layout from an edje box.

By: Otavio Pontes <otavio@profusion.mobi>

-------

Sample EDC:

{{{

collections {
   group {
      name: "main";
      min: 500 500;
      max: 500 500;
      parts {
         part {
            name: "bg";
            type: RECT;
            description {
               color: 255 255 255 255;
               rel1 { relative: 0.0 0.0; }
               rel2 { relative: 1.0 1.0; }
            }
         }
         part {
            name: "box1";
            type: BOX;
            description {
               state: "default" 0.0;
               box {
                  layout: vertical;
                  padding: 0 0;
               }
               rel1 {
                  relative: 0.0 0.0;
               }
               rel2 {
                  relative: 1.0 1.0;
               }
            }
            description {
               state: "default" 0.1;
               inherit: "default" 0.0;
               box {
                  padding: 10 10;
                  layout: horizontal;
               }
            }
            description {
               state: "default" 0.2;
               inherit: "default" 0.0;
               box {
                  layout: vertical;
               }
               rel1 {
                  relative: 0.0 0.0;
                  offset: 100 100;
               }
               rel2 {
                  relative: 1.0 1.0;
               }
            }
            box {
               items {
                  item {
                     name: "rect1";
                     type: GROUP;
                     source: "grp_rect1";
                     weight: 1.0 1.0;
                     align: -1 -1;
                  }
                  item {
                     name: "rect2";
                     type: GROUP;
                     source: "grp_rect2";
                     weight: 1.0 1.0;
                     align: -1 -1;
                  }
               }
            }
         }
      }
      programs {
         program {
            name: "change_layout";
            signal: "mouse,clicked,1";
            source: "box1";
            action: STATE_SET "default" 0.1;
            target: "box1";
            transition: LINEAR 5.0;
            after: "change_back";
         }
         program {
            name: "change_back";
            action: STATE_SET "default" 0.2;
            target: "box1";
            transition: LINEAR 5.0;
         }
     }
   }
   group {
      name: "grp_rect1";
      parts {
         part {
            name: "r1";
            type: RECT;
            description {
               state: "default" 0.0;
               color: 255 0 0 255;
               rel1 { relative: 0.0 0.0; }
               rel2 { relative: 1.0 1.0; }
            }
            description {
               state: "default" 0.1;
               inherit: "default" 0.0;
               color: 255 0 0 255;
            }
         }
      }
   }
   group {
      name: "grp_rect2";
      parts {
         part {
            name: "r2";
            type: RECT;
            description {
               state: "default" 0.0;
               color: 0 255 0 255;
               rel1 { relative: 0.0 0.0; }
               rel2 { relative: 1.0 1.0; }
            }
            description {
               state: "default" 0.1;
               color: 0 0 255 255;
            }
         }
      }
   }
}

}}}



SVN revision: 52871
2010-09-29 00:28:54 +00:00
Vincent Torri 53081384df cosmetic only: put files in alphabetic order.
SVN revision: 52737
2010-09-25 17:19:46 +00:00
Christopher Michael a74ed9abd8 Fix fat-finger copy-paste error. (Edje amalgamation would generate an
eina_amalgamation file).



SVN revision: 51399
2010-08-19 15:03:28 +00:00
Cedric BAIL 9ecc1354c6 * edje: new file format.
WARNING ! WARNING ! WARNING ! WARNING !
	Old file format is not readable by edje directly. If you have old edje
	file that you want to convert, use edje_convert. Their is no way back.

	Recompile your file as soon as possible. Please report any issue you
	spot as this is a huge and needed change.



SVN revision: 50936
2010-08-09 17:34:03 +00:00
Vincent Torri 82fa7e0fa0 don't install private headers
SVN revision: 50166
2010-07-09 20:24:49 +00:00
Christopher Michael 5cf875426f Move Edje (and associated headers) to own dir.
SVN revision: 50146
2010-07-09 06:35:02 +00:00
Rui Seabra b4fe249fce edje_convert.h wasn't included in make dist
SVN revision: 50010
2010-07-03 11:26:00 +00:00
Cedric BAIL e17a4089df * edje: This is the first commit of a rewrite of edje file
internal representation.

	The objectiv is to simplify code, consume less CPU and memory
	without loosing feature. Please report any breakage when you
	see them. It will take a few weeks before we change the file
	layout, during that time the load time may increase.


SVN revision: 49922
2010-06-28 13:56:30 +00:00
Carsten Haitzler 0dd3139705 apparently fbsd is unaware of expr substr...
SVN revision: 48276
2010-04-24 14:31:36 +00:00
Carsten Haitzler 8babebf48e an ongoing lua cleanup. existing lua is there and works for the most part.
but it could be much much much cleaner/better so i started a minimalist redo.
it's temporarily enabled right now. will disable soon to do in the background.



SVN revision: 47782
2010-04-06 11:26:32 +00:00
Sebastian Dransfeld 79b1c3728a Ecore_Str.h -> Eina
SVN revision: 45748
2010-01-30 22:29:31 +00:00
Cedric BAIL c92d5e37f9 * edje: Fix amalgamation without Ecore_Job.
SVN revision: 45597
2010-01-26 18:25:00 +00:00
Gustavo Sverzut Barbieri d40d8d123d edje external support, part 1.
Patch by Fabiano Fidêncio <fidencio@profusion.mobi>



SVN revision: 43927
2009-11-23 15:03:19 +00:00
Lars Munch a431b7c99d Fix linking issue when cross building from linux to windows
SVN revision: 43604
2009-11-10 16:58:36 +00:00
Vincent Torri ee3dfadb3b fix dist/distcheck rule
SVN revision: 43479
2009-11-06 06:40:38 +00:00
Vincent Torri a6210fef9a allow the amalgation stuff in edje
SVN revision: 43429
2009-11-03 09:27:59 +00:00
Iván Briano 22952844c4 and bring external back now that the file was added
SVN revision: 43306
2009-10-27 01:08:19 +00:00
Carsten Haitzler d3fd0c30cb REVERT! broke edje.
try again and dont forget to add edje_external.c! (and any others needing
adding)



SVN revision: 43304
2009-10-27 00:27:50 +00:00
Iván Briano 68756f92b2 External objects support by Brian 'rephorm' Mattern
Since we are on a freeze, the patch goes on updated to current svn, but without changing its API. After the freeze some things will be added, and some will change :)


SVN revision: 43302
2009-10-26 21:33:56 +00:00
Hanspeter Portner da75132793 From: "Hanspeter Portner" <ventosus@airpost.net>
This concerns Ticket #109: Add Lua support for Edje

It adds Lua as scripting facility to Edje, letting Embryo untouched.
It should be easier to use and be more flexible than Embryo, imho ;-)

---
The patch
---

Lua 5.1 is used in sandboxed mode. Lua byte code is not
platform/architecture independent, Lua code is saved as text in the Edje
container and parsed at load time, therefore.

The patch goes in two directions

1) Analogous to Embryo for scripting logic, messaging and custom states.
The same things are implemented as in Embryo:

    - messaging from and to C
        - manual creation of timers, animators, pollers for custom events /
            animations
                - manual manipulation of Edje parts by means of the public
                    edje_object_part_* and internal functions and custom states
                    
                        -> those routines are actually implemented as Lua
bindings to
    functions in Edje.h and Ecore.h
        -> the implementation is done in an object oriented way, so that the
            interface gives the feel of an object description language, pretty
                similar to EDC itself
                    -> combining custom states and custom animators allows
for fancy
    animations and transitions, e.g circular/spline translations or
        complex/conditional transitions, etc.
            -> this is just the same as Embryo does, but implemented in Lua, so
                nothing new here, actually
                
                2) Dynamic object creation and manipulation
                
                    - this interface stems from the 'script_only' objects in
Edje. Those
    objects are a kind of scriptable Edje counterparts to Evas_Smart
        objects. The infrastructure for Embryo is already there, but has
            never been used
                - I added this in Lua and added some first bindings to
experiment
    with
        - I thought it would be useful to allow for a limited dynamic
            creation of ui parts
                - We can create instances of groups from within the same Edje
                    container and use them just like the main Edje object as
stated in
    1)
        - And there are some stand-alone bindings to dynamically create
            Evas_Image, Evas_Table, Evas_Line, Evas_Polygon as examples
            
                -> this may be useful to decouple the program from the ui
even more,
    to be able to do things that have to be done in the program itself
        atm, but actually belong to the user interface, but need dynamic
            creation of objects or complex interactions
                -> those objects are manipulated manually with Lua bindings
to the
    corresponding edje_object_* and evas_object_* functions
    
    ---
    Discussion points
    ---
    
    Both stuff in 1) & 2) is functioning, but needs testing, feedback,
    improvements, ...
    
    Stuff in 1) can already fully replace Embryo scripting with Lua
    scripting. There still is space for improvements/additions, though.
    
    Of the stuff in 2), I think it may only make sense to add the dynamic
    creation of groups defined in the same Edje container.  Dynamic creation
    of other Evas_Objects makes not much sense, as most of them can already
    be used as Edje parts and be manipulated with custom states (apart from
    polygons and lines) and it would make the whole theming potentially more
    programing-like and much more susceptible for errors, etc.
    
    Would this be useful, or drop it all?
    
    The scripting should be there just for logic, conditionals, custom
    states and animations, not for a whole dynamic canvas, imho.
    
    There is a patch around with EXTERNAL Edje parts. Seems to be a better,
    faster, more secure way to extend Edje with custom objects.
    
    There would be the possibility of precompiling Lua code at compile time
    (edje_cc) for faster loading, but we would have to patch and run our own
    Lua version.
    The Lua parser is pretty fast, though, and using
    byte-converted/endianness-swapped byte-code does only pay off for Lua
    chunks of some kilo lines.
    Byte code also occupies much more space than text in the final Edje
    container, as it includes debug symbols.
    
    ---
    
    Cedric and Vincent told me, that the plan was to replace Embryo totally
    by Lua before the official release of Edje at the end of the year? So it
    would make sense to bring Lua to svn soon and look how it fits in, test,
    debug, adapt it further to the themers needs, decide on its final shape,
    GATHER SOME PEOPLE TO HELP ;-)
    
    ---
    
    The Lua enhanced Edje is in sync with svn and can be get directly here
       git clone git://repo.or.cz/edje_lua.git
          cd edje_lua
             git checkout -b lua_patch origin/lua_patch
             
             or apply the attached patch
             
             There are also some examples to show the usage of the things
mentioned
above
    - showcase.edj: shows usage of custom animators, custom states,
        messaging and the script_only object
            - test.edj: test cases of script usage and bindings (custom states,
                custom transitions, tween_states, animators, timers,
object_parts),
    but most of it are experimental script_only objects
    
    http://didgmo.sourceforge.net/showcase.edj
    http://didgmo.sourceforge.net/test.edj
    
    The source of showcase.edc is attached, too, to just have a glimpse at
    Lua inside of EDC
    
    ---
    
    So, what do you guys think?
    
    Thanks and sry for the looong mail, hehe ;-)



SVN revision: 41802
2009-08-16 02:34:02 +00:00
Carsten Haitzler a68c953591 fix input method composition plus fuxes to match textblock
SVN revision: 40641
2009-05-14 12:53:56 +00:00
Carsten Haitzler ce5a59b7e5 lutin... release soname patch. verbose svn soname used right now
SVN revision: 40131
2009-04-17 10:01:45 +00:00
Vincent Torri 6c764421aa typo
SVN revision: 37746
2008-11-22 10:47:17 +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
Cedric BAIL ab60bdaf87 Make edje depend on eina. No change in the code yet, so just fix your build system and no bug must show up.
SVN revision: 36623
2008-10-13 15:59:37 +00:00
Carsten Haitzler ce0d40cae7 editable textblocks... a start (definitely not there yet)
SVN revision: 36611
2008-10-13 09:19:04 +00:00
doursse 82fee3d58c evilize edje. Link against ecore_file only when needed. PATH_MAX and not MAX_PATH. Minor other fixes.
SVN revision: 34761
2008-06-06 18:31:49 +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 f08234a968 improve build includes.
SVN revision: 33997
2008-03-12 16:32:35 +00:00
Carsten Haitzler b65d63440f add cedrics dict check patch
SVN revision: 33946
2008-03-06 17:52:59 +00:00
Carsten Haitzler 4fce4a3981 remvoe fnmatch checks
SVN revision: 33516
2008-01-18 06:38:46 +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
doursse f936cbea25 * add mail in AC_INIT
* remove Makefile.in when cleaning
 * INCLUDES -> AM_CPPFLAGS
 * minor cleaning


SVN revision: 32342
2007-11-04 09:53:29 +00:00
doursse d6dd187899 configure improvements:
* add libtool versioning from the package version (from raster's
   management of package version)
 * replace AM_PROG_LIBTOOL(deprecated) by AC_PROG_LIBTOOL
 * remove AM_ENABLE_SHARED as shared lib is built by default
 * add AC_LIBTOOL_WIN32_DLL for libraries ported to Windows (tm)
 * remove the libtool checks of c++ and fortran compilers
 * remove PACKAGE_*_DIR from configure.in and define them in
   Makefile.am as bindir and al. are expanded in them.

please report any problem that these changes can add


SVN revision: 31999
2007-10-07 08:02:53 +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
tilman e0ed9aef1a use pkg-config to detect ecore
SVN revision: 28854
2007-03-21 15:36:26 +00:00
tilman d39dbeefa2 switched edje over to pkg-config. almost. ecore is still detected by ecore-config, cause that one's gonna be pain.
SVN revision: 28842
2007-03-21 02:52:41 +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
sebastid d17fd0bed3 Use AC_PATH_GENERIC, it's a nice macro!
SVN revision: 16491
2005-09-03 18:52:10 +00:00
sebastid 8e0218f914 Don't include $(includedir) in searchpath, find headers in this source
and in the provided package CFLAGS.


SVN revision: 16470
2005-09-02 20:15:28 +00:00
Carsten Haitzler 7a097c0ab9 fixie fixie long time.
SVN revision: 12153
2004-11-09 09:31:08 +00:00
Carsten Haitzler 9e0ab5e683 no ldflags
SVN revision: 12125
2004-11-02 03:42:40 +00:00
tsauerbeck 42a26cb3db cleaned up autotools setup some more
SVN revision: 12080
2004-10-30 11:47:23 +00:00
rephorm 135d3ca91d Merge contents of Edje_Edit.h back into edje_private.h
Remove all traces of edje_edit (hopefully i didn't miss any).


SVN revision: 12071
2004-10-30 02:47:33 +00:00