Commit Graph

1197 Commits

Author SHA1 Message Date
Cedric BAIL 7117431ed6 * edje-edit: Don't forget to initialize list to NULL.
SVN revision: 44188
2009-12-04 16:34:35 +00:00
Cedric BAIL c76b578b37 * edje: Add edje_object_preload, it will force the preload of all
image embeded inside an edje and send a signal ("preload,done", "")
	at the end.


SVN revision: 44186
2009-12-04 16:20:40 +00:00
Gustavo Sverzut Barbieri f0e42c478d Edje_External_Type: rename functions that add new objects.
SVN revision: 44137
2009-12-02 21:54:28 +00:00
Gustavo Sverzut Barbieri 778cc70719 Edje_External_Type: break abi, add abi checker.
- add preview_get() and description_get(), breaking ABI badly.
 - add abi_version field to be fileld with EDJE_EXTERNAL_TYPE_ABI_VERSION
   and checked with edje_external_type_abi_version_get()




SVN revision: 44135
2009-12-02 21:41:28 +00:00
Gustavo Sverzut Barbieri aedc584923 warn usage of part swallow without swallow
SVN revision: 44134
2009-12-02 21:16:42 +00:00
Gustavo Sverzut Barbieri 6ab03e1d93 edje_decc: option to output to current directory.
SVN revision: 44133
2009-12-02 21:06:11 +00:00
Gustavo Sverzut Barbieri 6396f3fb00 edje_decc: -no-build-sh
Don't output build.sh



SVN revision: 44132
2009-12-02 21:00:57 +00:00
Gustavo Sverzut Barbieri 607de4c300 batch register/unregister of external types, faster and lighter on memory.
This is the recommended way to register a batch of types, it will not
do check (hash lookup) before adding and keys are added as "direct"
(not copied), thus lighter on memory.



SVN revision: 44102
2009-12-01 17:58:17 +00:00
Carsten Haitzler 6f1873f87d add lots of cursor con trol api's
SVN revision: 44087
2009-12-01 11:02:46 +00:00
Iván Briano c0a9b68eeb actually add stuff to the list
SVN revision: 44067
2009-11-30 20:06:26 +00:00
Iván Briano da589aaae7 restack swallowed objects too
SVN revision: 44030
2009-11-27 20:34:43 +00:00
Iván Briano 407c62cb7f Update object when external parameters are set
SVN revision: 44021
2009-11-27 17:57:35 +00:00
Iván Briano 45a07d458e Delete internal object when external part is removed
SVN revision: 44007
2009-11-26 18:03:40 +00:00
Iván Briano 2ea026ea3a create external in the right place
SVN revision: 44006
2009-11-26 17:38:43 +00:00
Iván Briano 828b281904 externals {} in edje_edit, source generation and add module to the external_Type api to keep track of who registers what
SVN revision: 44003
2009-11-26 17:01:31 +00:00
Iván Briano 612f005cef More macros and default values por external parameters.
Add external parts in edje_edit


SVN revision: 43977
2009-11-25 17:00:53 +00:00
Iván Briano 521c89df41 dont segv if theres no file
SVN revision: 43958
2009-11-24 21:08:52 +00:00
Iván Briano 9892926bdf Autoload modules for external widgets
Patch by Fabiano Fidencio


SVN revision: 43951
2009-11-24 17:55:11 +00:00
Iván Briano 2001a9e246 Easier to use macros
SVN revision: 43937
2009-11-23 22:18:01 +00:00
Iván Briano 10434c1fc4 Parameter information for external widgets
This are used for things like editors to know what parameters
to manage for external stuff.


SVN revision: 43935
2009-11-23 20:21:22 +00:00
Iván Briano 7ea88efdd8 Better path for modules and move variables to beginning of block
SVN revision: 43934
2009-11-23 19:50:54 +00:00
Gustavo Sverzut Barbieri 14860ca5ce edje external module loader: just load modules once.
not tested, but should work.


SVN revision: 43933
2009-11-23 18:47:31 +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
Carsten Haitzler 84077e2f18 patch from tasn: rtl fit.
SVN revision: 43886
2009-11-22 01:49:44 +00:00
Iván Briano 44a8c218f0 Edje_Edit
- Watch for non-shared strings when copying states
 - Get/Set external parameters


SVN revision: 43757
2009-11-18 00:27:49 +00:00
Iván Briano d32a84d8a4 Constness and pass object around
SVN revision: 43671
2009-11-13 18:35:19 +00:00
Iván Briano bc674aaaeb consistent return
SVN revision: 43630
2009-11-12 15:41:45 +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
Carsten Haitzler 3b07a3d255 fix segv on obj del - didnt remove callbacks!
SVN revision: 43596
2009-11-09 23:47:42 +00:00
Sebastian Dransfeld 04326d9da1 Remove unused variables
SVN revision: 43538
2009-11-08 20:26:51 +00:00
Sebastian Dransfeld 06cd51c917 Uncomment label along with goto
SVN revision: 43537
2009-11-08 20:26: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
Vincent Torri fd17f32a19 * rename _edje_strbuf_append to _edje_strbuf_append1 and
_edje_strbuf_append2 in edje_util.c and edje_textblock_styles.c
   respectiveley (for amalgamation. See next commit)
 * fixes for vc++


SVN revision: 43428
2009-11-03 09:26:15 +00:00
Cedric BAIL 94d9897398 * edje: On size hints don't forget to invalidate real part cache.
SVN revision: 43416
2009-11-02 10:18:14 +00:00
Iván Briano 2ba79e04af Some more stuff in externals, little api change there, may change some more later.
SVN revision: 43379
2009-10-31 18:07:08 +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
Iván Briano b5cc9c66b0 They say missing files need to be added, they don't respawn like things in Quake
SVN revision: 43305
2009-10-27 00:55:51 +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
Iván Briano 002ed701f5 Edje_Edit is too noisy.
Comment out some printf's. Needs moving to eina_log, but no time for
that now.


SVN revision: 43301
2009-10-26 21:28:39 +00:00
Jonathan Atton cc6a5c7181 fix evas_object_event_callback_del_full()
SVN revision: 43295
2009-10-26 09:29:55 +00:00
Carsten Haitzler 6e4f0dad8e provide fast-path for re-swallow
SVN revision: 43292
2009-10-26 08:26:10 +00:00
Carsten Haitzler 65bb03f891 change to del fulls just to be consistent
SVN revision: 43291
2009-10-26 07:28:51 +00:00
Vincent Torri cbcf159c27 warning--
SVN revision: 43266
2009-10-25 12:17:05 +00:00
Vincent Torri 10b4ebc4d4 * fix some warnings
* move variable declarations at the top of the bloc

SVN revision: 43265
2009-10-25 11:40:06 +00:00
Vincent Torri d3f076e73a unused parameters --
SVN revision: 43264
2009-10-25 11:24:55 +00:00
Vincent Torri 3c48d7e6d0 * include config.h in all source files
* declare alloca before the standard headers
 * include Evil.h for the declaration of realpath in edje_cc_prefix.c

SVN revision: 43263
2009-10-25 11:19:12 +00:00
Iván Briano 8c30661e7e Add function to copy a part description. Helps to get templates going
SVN revision: 43176
2009-10-21 06:19:02 +00:00
Vincent Torri 24211c8331 add declaration of alloca
SVN revision: 43050
2009-10-13 16:54:30 +00:00
Cedric BAIL fd65247e8e * edje: Support back empty file.
SVN revision: 42981
2009-10-09 08:51:03 +00:00
Vincent Torri 0ad8c4a466 add logging in edje_main.c only for now. Could be extended
to other files later.


SVN revision: 42980
2009-10-09 05:41:05 +00:00
Vincent Torri 1c7fa1c81b rename _edje_edd_setup() and _edje_edd_free() to respectively
_edje_edd_init() and _edje_edd_shutdown() to follow standard
naming convention


SVN revision: 42978
2009-10-09 05:17:19 +00:00
Vincent Torri 4c3b28a804 Check if one of the dependencies fails in edje_init()
SVN revision: 42975
2009-10-08 21:58:32 +00:00
Vincent Torri c6a563fd7a fix tmp dir on Windows
SVN revision: 42974
2009-10-08 21:45:55 +00:00
Vincent Torri 25bec0854c * simplify a bit edje_init() and edje_shutdown() a bit
* change behavior of edje_shutdown() to make it more standard
 * move eet_shutdown()

the order still seems strange. I don't know if i can freely move
the init/shutdown functions


SVN revision: 42958
2009-10-08 07:05:19 +00:00
Carsten Haitzler facd02ffdc and delete size change hints cb if unswallowed
SVN revision: 42951
2009-10-08 03:49:51 +00:00
Carsten Haitzler 495e804832 if a swallowed object shanges size hints.. re-fetch and calc!
SVN revision: 42949
2009-10-08 03:44:53 +00:00
Cedric BAIL c6267c9fb9 * edje: Oops. Correct fix.
SVN revision: 42937
2009-10-07 12:40:28 +00:00
Cedric BAIL 45b12f7ad5 * edje: Help windows users to be happy.
SVN revision: 42933
2009-10-07 11:50:58 +00:00
Cedric BAIL b9f0728738 * edje: Another round of llvm warning removal.
SVN revision: 42932
2009-10-07 11:36:23 +00:00
Cedric BAIL 8ea901a753 * edje: Remove some potential bug detected by llvm and gcc.
See: http://local.profusion.mobi:8081/~lfelipe/output-efl/


SVN revision: 42930
2009-10-07 10:55:48 +00:00
Vincent Torri e4bea597c7 Fix documentation
* update Doxyfile file
 * fix end of groups
 * fix some warnings
 * fix link in head.html for Edje API ref


SVN revision: 42794
2009-09-29 06:13:33 +00:00
Gustavo Sverzut Barbieri d7c76122b0 edje_{,object}_color_class_get() and signals when color_classes are changed.
Enable applications to retrieve current color class values as well as
emit edje signals when they are deleted or changed.



SVN revision: 42773
2009-09-28 17:23:02 +00:00
Iván Briano 4e33c6fd65 Improve documentation for Evas, Ecore, Edje and Elementary.
Work by:
 - Thiago R. Masaki (mostly)
 - Fabiano Fidencio
 - Gustavo Lima


SVN revision: 42552
2009-09-17 22:38:35 +00:00
Iván Briano ed7064edcc Move some defines to enum and expose them.
Move to Eina_Bool.
Return success for rename of group and part to the same name.

Patch by Tiago Rezende Campos Falcão


SVN revision: 42506
2009-09-16 03:37:28 +00:00
Hannes Janetzek e7d76f6392 also remove text class members on object deletion
SVN revision: 42397
2009-09-11 00:48:57 +00:00
Christopher Michael d00a91f70d Formatting.
SVN revision: 42185
2009-09-02 15:48:34 +00:00
Carsten Haitzler 8a202ffe04 remove excessive backspace
SVN revision: 42183
2009-09-02 12:49:09 +00:00
Iván Briano d0e971620e fix docs
SVN revision: 42159
2009-09-01 16:16:23 +00:00
Cedric BAIL a77cd76e1d * edje: Fix static build of edje.
SVN revision: 42146
2009-09-01 10:02:40 +00:00
Vincent Torri d3d9560eb1 remove debug
SVN revision: 42086
2009-08-29 08:42:44 +00:00
Vincent Torri 1029babb26 remove debug
SVN revision: 42057
2009-08-28 05:49:40 +00:00
Vincent Torri 2a8d44f5a0 allow the user to chose in which directory the temporary file
will be created. The logic is the following:

 * if the environment variable TMPDIR is set, use its value
 * if it is not set, take the directory passed with the
   -td option (see edje_cc help)
 * otherwise on Windows use a temporary dir and on other
   platform, use /tmp


SVN revision: 41978
2009-08-25 17:25:23 +00:00
Vincent Torri 5fd9a46869 small cleanup
SVN revision: 41958
2009-08-24 17:20:33 +00:00
Vincent Torri 8b2bd0c079 * remove unused parameters (except in edje_lua.c, as i don't know the current status)
* remove unused variables


SVN revision: 41957
2009-08-24 16:40:42 +00:00
Vincent Torri b4ddae48b8 typo
SVN revision: 41942
2009-08-23 15:37:20 +00:00
Davide Andreoli dfac5a2a59 * Remove _strdup(). Useless unless we don't check the return value
SVN revision: 41850
2009-08-17 21:28:40 +00:00
Cedric BAIL 9abdbe30af * edje: Fix tween when comming from same state.
SVN revision: 41844
2009-08-17 15:16:23 +00:00
Davide Andreoli cb29b20245 * Do not include edje_cc.h anymore :)
SVN revision: 41843
2009-08-17 14:49:26 +00:00
Davide Andreoli 74565cec99 * Do not use the 'Font' struct from edje_cc.h
SVN revision: 41842
2009-08-17 14:26:31 +00:00
Davide Andreoli 8fa5f302d3 * Do not use SZ() macro from edje_cc.h
SVN revision: 41841
2009-08-17 14:13:26 +00:00
Cedric BAIL 06f76b1e87 * edje: Fix calc.
SVN revision: 41840
2009-08-17 14:00:44 +00:00
Davide Andreoli 061798f628 * rename mem_strdup() to not clash (in the case of a static build) with the one defined in bin/
SVN revision: 41839
2009-08-17 13:54:17 +00:00
Cedric BAIL 6c7f8ce84c * edje: Remove warning, mainly due to lua merge.
SVN revision: 41838
2009-08-17 11:32:56 +00:00
Carsten Haitzler 2a06a861d5 do not exit on lua errors! this would be righteously bad for apps using
themes that happened to use lua...



SVN revision: 41804
2009-08-16 03:00:14 +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
Cedric BAIL 7df190d264 * edje_calc: Major cleanup.
- Edje_Real_Part use less memory.
		- Edje_Real_Part and Edje_Real_Part_State now use a mempool.
		- When both param1 and param2 are the same, only recalc param1.
		- Don't compute Edje_Real_Part more than one time per edje_recalc_do.



SVN revision: 41771
2009-08-14 17:19:42 +00:00
Cedric BAIL d894444135 * edje_calc: Use 20 bytes less per Edje_Calc_Params.
SVN revision: 41745
2009-08-13 16:28:17 +00:00
Cedric BAIL eff22017dc * edje_calc: Cleanup calc structure.
SVN revision: 41744
2009-08-13 16:13:49 +00:00
Cedric BAIL 2cf15dc335 * eet: Fix prefix.
SVN revision: 41735
2009-08-13 13:26:43 +00:00
Cedric BAIL bc5dda9c0c * edje: Use new clean API from Eet.
SVN revision: 41733
2009-08-13 12:53:12 +00:00
Gustavo Sverzut Barbieri 4a514076ad NULL sfont as it might be used earlier.
if sfont=something was given to _edje_text_class_font_get(), sfont
might be untouched there and old pointer was being freed, resulting in
double free. So make sure we're using the correct pointer there.



SVN revision: 41714
2009-08-12 17:57:34 +00:00
Cedric BAIL 3fe43bff2c * edje: Starting refactor of edje_recalc_single.
SVN revision: 41706
2009-08-12 14:13:17 +00:00
Cedric BAIL 3d5a09f6e8 * edje: Reverting to recalc_do in edje smart resize.
Note: A bug spotted in layout of box is the reason of this revert. From
	my understanding, layout require some property on the object to be
	correctly set. This is done during edje_recalc_single on the part. The
	layout fonction of evas would be called just after the resize. If we
	didn't do an edje_recalc_do, but an edje_recalc, the call to
	edje_recalc_single will be delayed and the layout property will not be
	set correctly.


SVN revision: 41698
2009-08-12 09:27:09 +00:00
Cedric BAIL 8170df024a * edje: Oops, fix drag.
SVN revision: 41691
2009-08-11 14:55:26 +00:00
Cedric BAIL b69abd204f * edje: Free the Edje_Real_Part_Drag.
SVN revision: 41686
2009-08-11 13:07:46 +00:00
Cedric BAIL d16bbd3953 * edje: Make Edje_Real_Part_Drag a pointer. Win 100 bytes per states.
SVN revision: 41685
2009-08-11 12:47:00 +00:00
Cedric BAIL 9807d2e4c8 * edje: More cleanup of Edje_Real_Part.
SVN revision: 41683
2009-08-11 10:32:21 +00:00
Cedric BAIL 7047c5f561 * edje: Cleanup drag part of Edje_Real_Part.
SVN revision: 41682
2009-08-11 10:17:14 +00:00
Cedric BAIL 16111c4867 * edje: Starting cleanup of Edje_Real_Part.
SVN revision: 41681
2009-08-11 10:08:03 +00:00
Cedric BAIL b6a228e3eb * edje_load: More cleanup.
SVN revision: 41680
2009-08-11 10:06:37 +00:00
Cedric BAIL 922939d832 * edje: Some cleanup, mainly removing dead code.
SVN revision: 41679
2009-08-11 09:45:06 +00:00
Cedric BAIL 280010f404 * edje: Fix memory count.
SVN revision: 41664
2009-08-10 15:18:07 +00:00
Cedric BAIL 7f9a41a824 * edje: Add a cache for _edje_part_recalc_single.
WARNING: THIS CAN CAUSE RENDERING GLITCH AND OTHER WEIRD BEHAVIOUR WITH
	YOUR EDJE FILE. PLEASE REPORT ANY ALIEN STUFF.

	Note: This patch cache the result of _edje_part_recalc_single, until
	any relative part are moved, the object is resized or some property
	are changed (like during text set or color class set).

	Note: Be carefull when you call edje_object_size_min_restricted_calc,
	it's really an inderect heavy user of _edje_part_recalc_single and
	I wasn't able to bring it down.

	Note: This patch use more RAM, around 480 bytes per Edje state, so I
	don't recommand using it on a Desktop with a lot of CPU power.


SVN revision: 41663
2009-08-10 15:16:51 +00:00
Cedric BAIL ee729dd97f * edje: Oops, not the right one.
SVN revision: 41658
2009-08-10 12:38:39 +00:00
Cedric BAIL db0247c644 * edje_recalc: Reduce use of stack.
SVN revision: 41656
2009-08-10 11:52:46 +00:00
Cedric BAIL b1de7da564 * edje: Delay edje_recalc on edje object resize.
WARNING: THIS MAY CAUSE RENDER GLITCH, IF YOU SEE ANYTHING STRANGE
	PLEASE REPORT TO ME.


SVN revision: 41654
2009-08-10 11:33:36 +00:00
Cedric BAIL 854f360739 * edje: Reduce sizeof (Edje_Calc_Params).
Note: It doesn't really impact edje memory foot print yet. But in
	the plan to do a computation cache inside edje, this structure
	will be used a lot (I am planning to do this feature at some point,
	but no ETA yet, and be reassured it will be optionnal so we can
	choose between CPU load or memory load).

	Note: As I was looking for similar area of improvements,
	Edje_Part_Description could really use an union to reduce it's size,
	but as we load this structure directly from an Eet file, we need
	union in Eet first. And this should be part of a comming Edje file
	format break.



SVN revision: 41652
2009-08-10 09:56:19 +00:00
Christopher Michael 0c64692d4e Patch from Victor <victor.scorpion@gmail.com> to fix typo in
edje_real_part_swallow.

Thanks :)



SVN revision: 41630
2009-08-07 09:06:04 +00:00
Michael Lauer e1bb8c38ad edje: add first bunch of typedefs for previously anonymous callbacks
SVN revision: 41424
2009-07-18 22:43:50 +00:00
Rafael Antognolli d147af24e3 Created new function edje_edit_image_data_add().
Now it's possible to add an image that is already inside the eet (with a
default key name) to the edje image collection.



SVN revision: 41320
2009-07-13 19:17:35 +00:00
Vincent Torri 84be18a101 typo
SVN revision: 41299
2009-07-11 06:07:11 +00:00
Gustavo Sverzut Barbieri 5959578954 fix minor glitches with edje box.
still missing:
  * box.max
  * proper handling of min/max, need to behave like text.



SVN revision: 41297
2009-07-10 23:13:09 +00:00
Carsten Haitzler 02fef22de9 move adding of events if entry only if entry part exists.
SVN revision: 41103
2009-06-18 14:01:26 +00:00
Cedric BAIL b405fecf1e * edje: Remove last set of Evas_Hash, and move to Eina_Bool.
SVN revision: 41068
2009-06-17 11:10:32 +00:00
Gustavo Sverzut Barbieri 1d9af7284e typo--
SVN revision: 40999
2009-06-10 17:54:40 +00:00
Carsten Haitzler 85cef43263 mirko - thanks. spotted a crahs when magic debug is disabled
SVN revision: 40875
2009-06-03 13:17:06 +00:00
Andreas Volz a5af5b19d7 updated docu
SVN revision: 40808
2009-05-24 08:24:32 +00:00
Carsten Haitzler c3b8b4ee14 revertg big R to L patches because they break cursors and selection.... BACK
boy BACK!



SVN revision: 40783
2009-05-22 21:12:32 +00:00
Carsten Haitzler e999c88e80 tasn's rtl pathes and improvements... continued!
SVN revision: 40715
2009-05-18 06:08:15 +00:00
Vincent Torri 84218e58da * include Ecore_IMF.h before Edje.h so that EAPI
is correctly defined on Windows. Paatch by Klaus Rechert
 * useless include of eina_stringshare.h as it is included by Eina.h


SVN revision: 40646
2009-05-14 18:36:01 +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
Vincent Torri b56951c385 * fix build when ecore_imf is not available. Patch by Lars Munch
* formatting


SVN revision: 40632
2009-05-13 22:11:06 +00:00
Carsten Haitzler 8758acd64d ecore_imf input method support for edjeentry - on-screen kbds only at the
moment. will fix for kbd input. no ecore_imf module tho... yet



SVN revision: 40619
2009-05-13 13:29:30 +00:00
Carsten Haitzler fef7f0e7e4 comments - man is that struct big!
SVN revision: 40589
2009-05-11 13:10:38 +00:00
Carsten Haitzler e6de097425 allow scale_hint to be added to items in edje
SVN revision: 40537
2009-05-07 13:30:18 +00:00
Carsten Haitzler 0d02c7a79a use more rediculously big double
SVN revision: 40525
2009-05-06 12:41:23 +00:00
Gustavo Sverzut Barbieri e09dc2a71c use alloca+memcpy instead of strdupa.
for these guys that insist in using doomed systems like solaris or
bsd, god save them ;-)

Patch by vtorri.


SVN revision: 40491
2009-05-02 23:22:07 +00:00
Gustavo Sverzut Barbieri 022204e09c Allow sending signals to GROUP sub-parts.
Today signals emitted inside GROUP sub-parts are delivered to parent
group as "part-name:original-source". This is good and allow edje
groups to be reused. But no counter part to send events to inside
sub-groups existed.

This patch allows one to send a signal "signal" to inside a part
"part" that is of type GROUP by prepending signal emission with part name:

    emission: "part:signal"
    source: "source"

this is the same as:

   o = edje_object_part_swallow_get(ed);
   edje_object_signal_emit(o, "signal", "source");

but can be done all in themes, no need to go to application c/c++/python.

Based on patch by Pieter, see mail list.


SVN revision: 40489
2009-05-02 20:05:53 +00:00
Carsten Haitzler 95ea5ee0e1 fix corner case with edje - where u check for existens of parts in a edje but
never use a single object from it.



SVN revision: 40410
2009-04-27 02:41:33 +00:00
Gustavo Sverzut Barbieri e2d7c998da mark edje as dirty if box/table children changed.
This should help to fix bugs with systray.



SVN revision: 40408
2009-04-27 02:38:14 +00:00
Gustavo Sverzut Barbieri d2a587c21f recalculate table if it is dirty.
SVN revision: 40407
2009-04-27 02:36:56 +00:00
Carsten Haitzler 75e9c7fa98 fix calc - do not reset calc_only flag! it wanst set by the calc_do!
SVN revision: 40326
2009-04-23 12:42:53 +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
Gustavo Sverzut Barbieri ec987bd579 edje now handles escape/unescape automatically for textblock.
these two new calls will escape the unescaped text if required, will
unescape when get is called.

Also I fixed edje_object_part_text_get() on non-editable TEXTBLOCK,
now it will return the text with markup.



SVN revision: 40066
2009-04-14 23:53:25 +00:00
Carsten Haitzler b3e8f31362 tentative change... it seems in rare conditions some programs end up doubled
and the stop prog doesnt clean out all instances - leaving 1 or more excess
instances to run. this should fix that.



SVN revision: 39827
2009-04-01 09:11:48 +00:00
Carsten Haitzler 338881b454 edje explicit selection mode is saner now. done - for now. workable.
SVN revision: 39628
2009-03-22 13:50:53 +00:00
Carsten Haitzler 4218f905f5 add more util calls for enty manipulation
SVN revision: 39600
2009-03-20 15:07:39 +00:00
Carsten Haitzler 2afadb527b working on edje entry to allow more selection controls. not 100% done yet.
SVN revision: 39578
2009-03-19 13:36:10 +00:00
Gustavo Sverzut Barbieri bddbbbb8a5 Fix null dereference.
By Luis Felipe Strano, spotted by clang.



SVN revision: 39560
2009-03-18 21:27:38 +00:00
Gustavo Sverzut Barbieri 071ad5b4aa minor optimizations to box recalculation.
just recalculate when required, and just mark as required when layout
really changes.



SVN revision: 39299
2009-02-28 20:04:55 +00:00
Viktor Kojouharov 0a544a09d3 'box.min' for the edje box
SVN revision: 39298
2009-02-28 19:38:35 +00:00
Cedric BAIL 6ab6dbca0d * edje: Remove snprintf("%i") for an eina itoa.
NOTE: When you just want to convert from an int to a string,
	better use eina for that.



SVN revision: 39213
2009-02-25 17:08:17 +00:00
Vincent Torri 052e867c7b missing header + move fcntl.h after sys/stat.h
SVN revision: 39093
2009-02-19 10:29:03 +00:00
Vincent Torri 1cd236068b * force open to allow read and write permission of the user
when creating or reading edj files


SVN revision: 39092
2009-02-19 10:13:28 +00:00
Carsten Haitzler c2f8ca5ccd fix copy & paste bug!
SVN revision: 39022
2009-02-15 02:55:56 +00:00
Carsten Haitzler c1af94ee4c in theory.. support middle solid/default/none changes in evas
SVN revision: 39001
2009-02-12 13:39:15 +00:00
Carsten Haitzler 6f2cb19f03 fix some min size calc and aspect calc issues.
SVN revision: 38994
2009-02-11 11:48:15 +00:00
Vincent Torri 812f1e185f add alloca declaration
SVN revision: 38977
2009-02-09 06:33:26 +00:00
Chidambar Zinnoury 6b162f8fe0 Useless check as it has already been dome some lines above.
SVN revision: 38967
2009-02-07 15:45:50 +00:00
Gustavo Sverzut Barbieri 2e809f845f Interpolate text font size.
Often requested for animations that want to grow or shrink text
quickly. This is a faster alternative to using geometry with rel1/rel2
and "text.fit: 1 1;" since it does not need to figure out which size
fits better into that object.

I tested and it does not seem to introduce any regression. Also
checked with scale and text_class variations.



SVN revision: 38958
2009-02-05 18:15:34 +00:00
Carsten Haitzler b6f51da478 allow individual objects to have differing scaling factors (object scale
overrides edje global scale)



SVN revision: 38908
2009-02-03 05:07:58 +00:00
Carsten Haitzler 71bd02f251 changed signal on backspace
SVN revision: 38807
2009-01-27 06:17:35 +00:00
Iván Briano 0a51bac4a9 Reverting. Comment in code says it all
SVN revision: 38692
2009-01-21 23:30:50 +00:00
Gustavo Sverzut Barbieri 7ed9777f3c Let's see if this edje forced recalc is really required.
SVN revision: 38689
2009-01-21 22:38:52 +00:00
Carsten Haitzler 5974b5a1fc fix prefix env vars to use edje_
SVN revision: 38448
2009-01-04 11:05:27 +00:00
Cedric BAIL 519296191d Return success or not for table API.
SVN revision: 38381
2008-12-31 11:49:42 +00:00
Gustavo Sverzut Barbieri b1f00aa9d5 edjeL convert error code to string.
SVN revision: 38268
2008-12-21 18:39:36 +00:00
Gustavo Sverzut Barbieri 15a2b2aaf2 force recalc after set_tween_state().
SVN revision: 38258
2008-12-21 02:17:31 +00:00
Vincent Torri 8b5ff6cb40 make compilation work on Windows XP
SVN revision: 38243
2008-12-20 13:18:27 +00:00
Iván Briano 7f3dfc66f2 And finally, edje table goes in
SVN revision: 38204
2008-12-18 02:43:20 +00:00
Cedric BAIL 136be96d28 Use small hash table insteed of bigger one. And move collection hash initialization a bit later.
SVN revision: 38186
2008-12-17 16:10:07 +00:00
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
Sebastian Dransfeld 28bf361096 Fix eina hash usage.
When using eina hash we need to create the hash if it does not exist.

SVN revision: 38172
2008-12-17 08:04:42 +00:00
Sebastian Dransfeld 4615291cc2 evas_hash -> eina_hash
SVN revision: 38157
2008-12-15 21:00:19 +00:00
Jaime Thomas 81c3548670 Actually, this is probably what was intended.
SVN revision: 38145
2008-12-14 17:09:46 +00:00
Jaime Thomas 364c05f124 Let mouse selections work again.
SVN revision: 38144
2008-12-14 17:07:51 +00:00
Gustavo Sverzut Barbieri 300c7b814c try to avoid infinite recalc loop.
as reported, elicity triggers an infinite loop by calling
edje_object_part_geometry_get(), which in turns calls
_edje_recalc_do() which in turns calls the elicit code that requests
edje_object_part_geometry_get() and since it's still marked as
"dirty", it enters the loop...

the real fix is just the move of ed->dirty = 0; before calling
recalcs, but I also unmarked object as need_recalculate so we can even
avoid requesting object to recalculate from evas.



SVN revision: 38139
2008-12-14 16:30:29 +00:00
Carsten Haitzler 28c433974a olof patch - fix typo for password
SVN revision: 38034
2008-12-08 23:47:04 +00:00
Cedric BAIL 2c668d6747 The for loop inside _edje_file_del is accessing Edje_Real_Part that could be
destroyed by _edje_cache_coll_unref. So moving the call to _edje_cache_coll_unref
after the last use of Edje_Real_Part should be better.


SVN revision: 38020
2008-12-08 14:23:26 +00:00
Gustavo Sverzut Barbieri 2f8f874b20 Shut up a bunch of warnings and fix some real errors.
SVN revision: 37954
2008-12-06 03:08:17 +00:00
Gustavo Sverzut Barbieri 03fca99e56 Add safe Eina list walk function.
SVN revision: 37949
2008-12-06 02:13:01 +00:00
Gustavo Sverzut Barbieri 00fd3ccc3a fix list iteration and removal inside edje box.
maybe we should add EINA_LIST_FOREACH_SAFE?



SVN revision: 37947
2008-12-06 01:44:01 +00:00
Gustavo Sverzut Barbieri 288a77ea18 Hopefully fix some problems with Edje fnmatch and callbacks.
* Fix buffer overflow with EDJE_PROGRAM_CACHE (not tested since I don't use it).
 * break_prog should always unset walking_callbacks and do after-tasks.
 * Fix list walking! ouch!!!



SVN revision: 37944
2008-12-05 22:32:04 +00:00
Carsten Haitzler 90d3729897 bad edje! leak! fix fix!
SVN revision: 37840
2008-11-28 13:54:21 +00:00
Davide Andreoli ed830d3fe7 * typo
SVN revision: 37822
2008-11-27 09:43:00 +00:00
Carsten Haitzler 266594739f re-index aliases on override of part name too.
SVN revision: 37805
2008-11-25 23:18:04 +00:00
Iván Briano 0ee4d07727 Edje Box in. Have fun with it.
SVN revision: 37783
2008-11-24 05:15:15 +00:00
Vincent Torri 6c764421aa typo
SVN revision: 37746
2008-11-22 10:47:17 +00:00
Carsten Haitzler 44c07b8fc9 middle mouse does a paste request now.. unix stylin'
SVN revision: 37705
2008-11-19 06:22:12 +00:00
Carsten Haitzler 965b3be9db fix selection get
SVN revision: 37703
2008-11-19 02:14:50 +00:00
Carsten Haitzler d5bc0e8546 add calls to select all/none
SVN revision: 37700
2008-11-18 08:45:27 +00:00
Carsten Haitzler ba0bf9010f and actually force styles to be assigned early.
SVN revision: 37695
2008-11-18 01:46:56 +00:00
Carsten Haitzler a867b99db0 make click below text put cursor at end
SVN revision: 37690
2008-11-17 06:17:09 +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
Sebastian Dransfeld b2fa64de52 Formatting
SVN revision: 37626
2008-11-14 17:35:05 +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
Viktor Kojouharov 3489be1dda typo--
SVN revision: 37517
2008-11-05 21:36:23 +00:00
Gustavo Sverzut Barbieri 1b1896ec55 for some reason this was being NULL to me.
it was crashing on group changing.



SVN revision: 37473
2008-11-05 16:08:39 +00:00
Carsten Haitzler 60b4dab196 formatting.
SVN revision: 37425
2008-11-02 22:51:24 +00:00
Davide Andreoli 6aaa2a7b35 * Arghh! Fix compilation... sorry
SVN revision: 37417
2008-11-02 15:02:40 +00:00
Davide Andreoli c1be5313b7 * Support text styles in edje_edit
SVN revision: 37415
2008-11-02 14:10:11 +00:00
Carsten Haitzler 68794e198b also use looptime
SVN revision: 37394
2008-11-02 02:43:43 +00:00
Davide Andreoli 9c5fbd43a0 move 2 textblock functions out of the dragable doxy category
SVN revision: 37357
2008-10-31 15:13:50 +00:00
Carsten Haitzler 5813cfd630 leak--
SVN revision: 37262
2008-10-28 04:58:39 +00:00
Davide Andreoli ed57d68446 remove some warnings
SVN revision: 37192
2008-10-27 04:10:31 +00:00
Vincent Torri f270fdb629 arg, missing config.h and too many EXTRA_DIST
SVN revision: 37160
2008-10-26 17:23:54 +00:00
Vincent Torri 9ba3147a09 * remove edje_main.h - useless now
* forget locale.h in edje_edit


SVN revision: 37159
2008-10-26 17:21:11 +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 18c8160744 ret null - not nothing.
SVN revision: 37131
2008-10-26 11:04:53 +00:00
Gustavo Sverzut Barbieri 7f935e09c0 Set member_{add,del} to NULL.
SVN revision: 37087
2008-10-25 02:58:30 +00:00
Carsten Haitzler f14804f514 fix leak in entry anchors
SVN revision: 37083
2008-10-25 02:14:48 +00:00
Sebastian Dransfeld 71f14d8463 formatting
SVN revision: 37045
2008-10-24 07:08:08 +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 f4b0bbe7b8 fix doc.
SVN revision: 37038
2008-10-24 00:43:24 +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
Carsten Haitzler dce5ba9fc8 use hold flags.
SVN revision: 36964
2008-10-22 11:59:59 +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 947b161c56 support password mode.
SVN revision: 36957
2008-10-22 08:57:49 +00:00
Carsten Haitzler 1cefba4012 fix last newline detection - dont keep adding them in!
SVN revision: 36950
2008-10-22 04:00:05 +00:00
Carsten Haitzler 154b2a5a94 printf--
SVN revision: 36905
2008-10-21 05:21:11 +00:00
Cedric BAIL ba9c2d3942 Use common eina convertion code.
SVN revision: 36841
2008-10-20 09:11:19 +00:00
Carsten Haitzler 195093cde5 fix edje smart move to update extra objs for entry.
SVN revision: 36753
2008-10-17 14:39:47 +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 560c836bef cleanup fixme's
SVN revision: 36739
2008-10-17 01:42:20 +00:00
Carsten Haitzler ad5a76df19 ok final known bug god for del. now.. anchors
SVN revision: 36738
2008-10-17 01:40:10 +00:00
Andres Blanc 16fac846a9 edcref: a note about group overriding using names.
SVN revision: 36736
2008-10-17 01:05:02 +00:00
Andres Blanc 3d34d2782e small correction of the edc reference. (I really need to ad some sort of
index to this).


SVN revision: 36735
2008-10-17 00:41:14 +00:00
Carsten Haitzler 92f5ecada5 and now make del work "more" correctly (not perfect)
SVN revision: 36734
2008-10-17 00:20:52 +00:00
Carsten Haitzler 4fb14a44c7 and fix entry some more...
SVN revision: 36733
2008-10-17 00:07:43 +00:00
Carsten Haitzler bb20ba07b4 fix insert from code to replace selection
SVN revision: 36723
2008-10-16 14:22:19 +00:00
Carsten Haitzler 0bc5d8fa1f 1 bizrre bug gone. 1 to go (random jumps to previosu format nodes on delete?)
SVN revision: 36721
2008-10-16 14:19:12 +00:00
Carsten Haitzler ab9c9c71d3 edje entry growing.
SVN revision: 36709
2008-10-16 09:17:44 +00:00
Carsten Haitzler 031c0d24ca set corsor to start on text set.
SVN revision: 36703
2008-10-16 02:11:02 +00:00
Carsten Haitzler 0b752a2143 actually use edje for selection and cursor now.
SVN revision: 36680
2008-10-15 15:15:06 +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 9c044c7904 more editing works
SVN revision: 36647
2008-10-14 04:35:17 +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 b5c61b17c1 and fix segv if things get key events...
SVN revision: 36615
2008-10-13 11:57:32 +00:00
Carsten Haitzler ce0d40cae7 editable textblocks... a start (definitely not there yet)
SVN revision: 36611
2008-10-13 09:19:04 +00:00
Carsten Haitzler 485e1c4218 fix drag event objects to work.
SVN revision: 36559
2008-10-10 01:46:02 +00:00
Davide Andreoli bc2268e0e0 * Support dragable parts
SVN revision: 36550
2008-10-09 14:38:22 +00:00
Davide Andreoli 8d2539445d * update TODO
SVN revision: 36539
2008-10-09 00:05:54 +00:00
Davide Andreoli 55d103da67 * ... and finally save the generated EDC back to the edje file
This means that file created with the editor can now be decompiled!!

But make attention because not every feature of edje is supported.
This means that (if you modify an existing file) you will lost some feature
while saving; like MACRO, inherit values, comments in the EDC code and some 
other smallies.
But if you have created the file with the editor all will be edje_decc well.

SVN revision: 36537
2008-10-09 00:04:18 +00:00
Davide Andreoli 7cef5ad68c * Support image_border_middle
SVN revision: 36506
2008-10-07 21:13:27 +00:00
Davide Andreoli 0ad6672332 * Add support for text Ellipsis and Fit
SVN revision: 36502
2008-10-07 16:01:56 +00:00
Davide Andreoli 270e803fb6 * More work on edc export... quite finished now :)
* Add gradient angle support to edje_edit
 * Some small doxy 

SVN revision: 36500
2008-10-07 14:11:11 +00:00
Carsten Haitzler 58841dae63 edje uses size min/max and aspect hints in evas - old extern blah calls
compatible and use the evas hints internally.



SVN revision: 36439
2008-10-05 03:37:37 +00:00
Davide Andreoli 33e0b66891 * more work on edc export
SVN revision: 36412
2008-10-03 00:20:19 +00:00
Carsten Haitzler 8aed008df3 fix a jitter with text fit if fit region tiny!
SVN revision: 36389
2008-10-02 04:01:54 +00:00
Davide Andreoli 57e19854bf * When you use \'confine\' on a draggie you must set a min size for the part!!
I have lost some time spotting this

SVN revision: 36388
2008-10-01 22:23:36 +00:00
Davide Andreoli 8e041f819a * And also export color_classes when saving edc
SVN revision: 36300
2008-09-28 22:45:47 +00:00
Davide Andreoli 3161a3bcb9 * implement edje_edit_state_color_class_get/set
SVN revision: 36298
2008-09-28 22:23:43 +00:00
Davide Andreoli 1e6847bb21 * make color classes editable
SVN revision: 36295
2008-09-28 18:44:19 +00:00
Davide Andreoli 0815143253 * add the ability to rename a \'data\' object
* initial color_class support

SVN revision: 36281
2008-09-27 21:29:55 +00:00