summaryrefslogtreecommitdiff
path: root/legacy/ephysics
diff options
context:
space:
mode:
authorBruno Dilly <bdilly@profusion.mobi>2012-12-13 21:03:41 +0000
committerBruno Dilly <bdilly@profusion.mobi>2012-12-13 21:03:41 +0000
commit7a504551b298713bd23da73dd5ce27c4399d57e6 (patch)
tree6ab2f9538f78411fd6803f064d616642498abee3 /legacy/ephysics
parentceae5649b6c526bd508f913001b6c94f39bd94a4 (diff)
Create trunk/ephysics_tests
And mv / cp test stuff from ephysics to ephysics_tests SVN revision: 80893
Diffstat (limited to 'legacy/ephysics')
-rw-r--r--legacy/ephysics/COPYING_ARTS106
-rw-r--r--legacy/ephysics/data/logo_images/logo_background.pngbin64375 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_letter-C.pngbin1720 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_letter-E.pngbin2503 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_letter-H.pngbin1094 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_letter-I.pngbin1022 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_letter-P.pngbin1716 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_letter-S1.pngbin2070 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_letter-S2.pngbin2099 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_letter-Y.pngbin1499 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_light-C.pngbin2457 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_light-E.pngbin4420 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_light-H.pngbin1785 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_light-I.pngbin1343 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_light-P.pngbin1761 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_light-S1.pngbin2613 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_light-S2.pngbin2582 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_light-Y.pngbin2023 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_shadow-C.pngbin1450 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_shadow-E.pngbin1974 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_shadow-H.pngbin1433 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_shadow-I.pngbin1264 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_shadow-P.pngbin1319 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_shadow-S1.pngbin1405 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_shadow-S2.pngbin1425 -> 0 bytes
-rw-r--r--legacy/ephysics/data/logo_images/logo_shadow-Y.pngbin1353 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/balls.edc30
-rw-r--r--legacy/ephysics/data/themes/buttons.edc133
-rw-r--r--legacy/ephysics/data/themes/cubes.edc38
-rw-r--r--legacy/ephysics/data/themes/effects.edc49
-rw-r--r--legacy/ephysics/data/themes/ephysics_sandbox.edc7
-rw-r--r--legacy/ephysics/data/themes/ephysics_test.edc19
-rw-r--r--legacy/ephysics/data/themes/frame.edc428
-rw-r--r--legacy/ephysics/data/themes/images/arrows.pngbin2846 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/background.jpgbin17522 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-blue.pngbin3223 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-blue70.pngbin3899 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-concrete.pngbin9002 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-green.pngbin3228 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-green70.pngbin3727 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-iron.pngbin5049 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-plastic.pngbin7509 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-polystyrene.pngbin7810 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-red.pngbin3217 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-red70.pngbin3867 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-rubber.pngbin8896 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/ball-wood.pngbin9961 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/bg_floor.jpgbin8386 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/brown-pole.pngbin1507 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/bt_jump.pngbin1736 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/bt_jump_pressed.pngbin1808 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/bt_restart.pngbin1959 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/bt_restart_pressed.pngbin2094 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/bt_shoot.pngbin1740 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/bt_shoot_pressed.pngbin1751 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/bt_stop.pngbin1672 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/bt_stop_pressed.pngbin1688 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/coin0.pngbin13830 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/coin1.pngbin12116 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/collisionL.pngbin1212 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/cube-blue.pngbin3734 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/cube-purple.pngbin5835 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/cube-purple420.pngbin25498 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/cube_back.pngbin2120 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/cube_bottom.pngbin2277 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/cube_front.pngbin2239 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/cube_left.pngbin2044 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/cube_right.pngbin2277 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/cube_top.pngbin2139 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/dice1.pngbin1959 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/dice2.pngbin2724 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/dice3.pngbin2964 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/dice4.pngbin3233 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/dice5.pngbin3928 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/dice6.pngbin4396 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/door-back.pngbin5116 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/door-front.pngbin5103 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/door-post.pngbin1933 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/green-flag.pngbin2093 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/hexagon.pngbin4502 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/list-item-corner-pressed.pngbin1872 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/list-item-corner.pngbin1828 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/list-item-pressed.pngbin1026 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/list-item.pngbin1026 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/list.pngbin24619 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/loading_bar.pngbin1159 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/loading_knob.pngbin1490 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/page_00.pngbin139992 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/page_01.pngbin18320 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/page_02.pngbin38437 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/page_03.pngbin44057 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/pentagon.pngbin3248 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/shadow-ball.pngbin989 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/shadow-cube.pngbin969 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/spinner_base.pngbin1083 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/spinner_bt_left.pngbin1490 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/spinner_bt_left_pressed.pngbin1463 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/spinner_bt_right.pngbin1448 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/spinner_bt_right_pressed.pngbin1469 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/star.pngbin3386 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/tog_base_off.pngbin2114 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/tog_base_on.pngbin2184 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/tog_bt_off.pngbin1989 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/images/tog_bt_on.pngbin2056 -> 0 bytes
-rw-r--r--legacy/ephysics/data/themes/list.edc185
-rw-r--r--legacy/ephysics/data/themes/loading_bar.edc69
-rw-r--r--legacy/ephysics/data/themes/others.edc103
-rw-r--r--legacy/ephysics/data/themes/pages.edc30
-rw-r--r--legacy/ephysics/data/themes/sandbox_misc.edc79
-rw-r--r--legacy/ephysics/data/themes/shadows.edc49
-rw-r--r--legacy/ephysics/data/themes/shapes.edc24
-rw-r--r--legacy/ephysics/data/themes/spinner.edc200
-rw-r--r--legacy/ephysics/data/themes/toggle.edc399
-rw-r--r--legacy/ephysics/src/bin/ephysics_sandbox.c1005
-rw-r--r--legacy/ephysics/src/bin/test_bouncing_3d.c160
-rw-r--r--legacy/ephysics/src/bin/test_coins.c136
-rw-r--r--legacy/ephysics/src/bin/test_collision_speed.c149
-rw-r--r--legacy/ephysics/src/bin/test_cube_3d.c120
-rw-r--r--legacy/ephysics/src/bin/test_dices.c128
-rw-r--r--legacy/ephysics/src/bin/test_falling_letters.c75
-rw-r--r--legacy/ephysics/src/bin/test_flag.c188
-rw-r--r--legacy/ephysics/src/bin/test_flip_page.c297
-rw-r--r--legacy/ephysics/src/bin/test_grab.c169
-rw-r--r--legacy/ephysics/src/bin/test_heavy.c74
-rw-r--r--legacy/ephysics/src/bin/test_hinge.c142
-rw-r--r--legacy/ephysics/src/bin/test_jumping_balls.c150
-rw-r--r--legacy/ephysics/src/bin/test_light.c102
-rw-r--r--legacy/ephysics/src/bin/test_material.c123
-rw-r--r--legacy/ephysics/src/bin/test_rotate.c99
-rw-r--r--legacy/ephysics/src/bin/test_soft_body.c162
-rw-r--r--legacy/ephysics/src/bin/test_soft_button.c150
-rw-r--r--legacy/ephysics/src/bin/test_soft_sphere.c122
-rw-r--r--legacy/ephysics/src/bin/test_win_resize.c200
133 files changed, 0 insertions, 5699 deletions
diff --git a/legacy/ephysics/COPYING_ARTS b/legacy/ephysics/COPYING_ARTS
deleted file mode 100644
index 0c2551d6f5..0000000000
--- a/legacy/ephysics/COPYING_ARTS
+++ /dev/null
@@ -1,106 +0,0 @@
1The follwing images were drawn by Marina Proni <marina.proni@profusion.mobi>
2and are licensed under Creative Commons Attribution-ShareAlike 3.0
3Unported License:
4
5 arrows.png
6 background.jpg
7 ball-blue70.png
8 ball-blue.png
9 ball-green70.png
10 ball-green.png
11 ball-red70.png
12 ball-red.png
13 bg_floor.jpg
14 bt_jump.png
15 bt_jump_pressed.png
16 bt_restart.png
17 bt_restart_pressed.png
18 bt_shoot.png
19 bt_shoot_pressed.png
20 bt_stop.png
21 bt_stop_pressed.png
22 collisionL.png
23 cube-blue.png
24 cube-purple.png
25 hexagon.png
26 list-item-corner.png
27 list-item-corner-pressed.png
28 list-item.png
29 list-item-pressed.png
30 list.png
31 pentagon.png
32 shadow-ball.png
33 shadow-cube.png
34 spinner_base.png
35 spinner_bt_left.png
36 spinner_bt_left_pressed.png
37 spinner_bt_right.png
38 spinner_bt_right_pressed.png
39 star.png
40
41===
42
43Creative Commons Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
44
45
46THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
47
48BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
49
501. Definitions
51
52 a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
53 b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License.
54 c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License.
55 d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
56 e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
57 f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
58 g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
59 h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
60 i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
61 j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
62 k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
63
642. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
65
663. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
67
68 a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
69 b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
70 c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
71 d. to Distribute and Publicly Perform Adaptations.
72
73 e. For the avoidance of doubt:
74 i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
75 ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
76 iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
77
78The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
79
804. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
81
82 a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested.
83 b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
84 c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
85 d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
86
875. Representations, Warranties and Disclaimer
88
89UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
90
916. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
92
937. Termination
94
95 a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
96 b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
97
988. Miscellaneous
99
100 a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
101 b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
102 c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
103 d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
104 e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
105 f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
106
diff --git a/legacy/ephysics/data/logo_images/logo_background.png b/legacy/ephysics/data/logo_images/logo_background.png
deleted file mode 100644
index c9c7bfd6e1..0000000000
--- a/legacy/ephysics/data/logo_images/logo_background.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_letter-C.png b/legacy/ephysics/data/logo_images/logo_letter-C.png
deleted file mode 100644
index ad11d7ddba..0000000000
--- a/legacy/ephysics/data/logo_images/logo_letter-C.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_letter-E.png b/legacy/ephysics/data/logo_images/logo_letter-E.png
deleted file mode 100644
index 94e0db0d20..0000000000
--- a/legacy/ephysics/data/logo_images/logo_letter-E.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_letter-H.png b/legacy/ephysics/data/logo_images/logo_letter-H.png
deleted file mode 100644
index b7955384ef..0000000000
--- a/legacy/ephysics/data/logo_images/logo_letter-H.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_letter-I.png b/legacy/ephysics/data/logo_images/logo_letter-I.png
deleted file mode 100644
index 612348062b..0000000000
--- a/legacy/ephysics/data/logo_images/logo_letter-I.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_letter-P.png b/legacy/ephysics/data/logo_images/logo_letter-P.png
deleted file mode 100644
index da984c5eb7..0000000000
--- a/legacy/ephysics/data/logo_images/logo_letter-P.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_letter-S1.png b/legacy/ephysics/data/logo_images/logo_letter-S1.png
deleted file mode 100644
index e386cc0a59..0000000000
--- a/legacy/ephysics/data/logo_images/logo_letter-S1.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_letter-S2.png b/legacy/ephysics/data/logo_images/logo_letter-S2.png
deleted file mode 100644
index 59cc4a672a..0000000000
--- a/legacy/ephysics/data/logo_images/logo_letter-S2.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_letter-Y.png b/legacy/ephysics/data/logo_images/logo_letter-Y.png
deleted file mode 100644
index ce36ffae11..0000000000
--- a/legacy/ephysics/data/logo_images/logo_letter-Y.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_light-C.png b/legacy/ephysics/data/logo_images/logo_light-C.png
deleted file mode 100644
index 9a40c18f19..0000000000
--- a/legacy/ephysics/data/logo_images/logo_light-C.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_light-E.png b/legacy/ephysics/data/logo_images/logo_light-E.png
deleted file mode 100644
index 7b8a09e2a4..0000000000
--- a/legacy/ephysics/data/logo_images/logo_light-E.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_light-H.png b/legacy/ephysics/data/logo_images/logo_light-H.png
deleted file mode 100644
index 2877840d67..0000000000
--- a/legacy/ephysics/data/logo_images/logo_light-H.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_light-I.png b/legacy/ephysics/data/logo_images/logo_light-I.png
deleted file mode 100644
index 64a3195801..0000000000
--- a/legacy/ephysics/data/logo_images/logo_light-I.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_light-P.png b/legacy/ephysics/data/logo_images/logo_light-P.png
deleted file mode 100644
index 0b8962f57e..0000000000
--- a/legacy/ephysics/data/logo_images/logo_light-P.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_light-S1.png b/legacy/ephysics/data/logo_images/logo_light-S1.png
deleted file mode 100644
index 701117207b..0000000000
--- a/legacy/ephysics/data/logo_images/logo_light-S1.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_light-S2.png b/legacy/ephysics/data/logo_images/logo_light-S2.png
deleted file mode 100644
index 97b33623bc..0000000000
--- a/legacy/ephysics/data/logo_images/logo_light-S2.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_light-Y.png b/legacy/ephysics/data/logo_images/logo_light-Y.png
deleted file mode 100644
index e70a956b4c..0000000000
--- a/legacy/ephysics/data/logo_images/logo_light-Y.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_shadow-C.png b/legacy/ephysics/data/logo_images/logo_shadow-C.png
deleted file mode 100644
index 07b9a24acc..0000000000
--- a/legacy/ephysics/data/logo_images/logo_shadow-C.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_shadow-E.png b/legacy/ephysics/data/logo_images/logo_shadow-E.png
deleted file mode 100644
index 261b30b50b..0000000000
--- a/legacy/ephysics/data/logo_images/logo_shadow-E.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_shadow-H.png b/legacy/ephysics/data/logo_images/logo_shadow-H.png
deleted file mode 100644
index 4389823140..0000000000
--- a/legacy/ephysics/data/logo_images/logo_shadow-H.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_shadow-I.png b/legacy/ephysics/data/logo_images/logo_shadow-I.png
deleted file mode 100644
index eee74373a0..0000000000
--- a/legacy/ephysics/data/logo_images/logo_shadow-I.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_shadow-P.png b/legacy/ephysics/data/logo_images/logo_shadow-P.png
deleted file mode 100644
index c177cf6359..0000000000
--- a/legacy/ephysics/data/logo_images/logo_shadow-P.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_shadow-S1.png b/legacy/ephysics/data/logo_images/logo_shadow-S1.png
deleted file mode 100644
index 23daa8d57a..0000000000
--- a/legacy/ephysics/data/logo_images/logo_shadow-S1.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_shadow-S2.png b/legacy/ephysics/data/logo_images/logo_shadow-S2.png
deleted file mode 100644
index 24f832cccc..0000000000
--- a/legacy/ephysics/data/logo_images/logo_shadow-S2.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/logo_images/logo_shadow-Y.png b/legacy/ephysics/data/logo_images/logo_shadow-Y.png
deleted file mode 100644
index 6369dcce70..0000000000
--- a/legacy/ephysics/data/logo_images/logo_shadow-Y.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/balls.edc b/legacy/ephysics/data/themes/balls.edc
deleted file mode 100644
index 5eb9f5d118..0000000000
--- a/legacy/ephysics/data/themes/balls.edc
+++ /dev/null
@@ -1,30 +0,0 @@
1#define ADD_CIRCLE(_group, _file) \
2 images { \
3 image: #_file##".png" COMP; \
4 } \
5 group { \
6 name: #_group; \
7 parts { \
8 part { \
9 name: "ball"; \
10 mouse_events: 0; \
11 type: IMAGE; \
12 description { \
13 state: "default" 0.0; \
14 image.normal: #_file##".png"; \
15 } \
16 } \
17 } \
18 }
19
20ADD_CIRCLE(blue-ball, ball-blue)
21ADD_CIRCLE(big-blue-ball, ball-blue70)
22ADD_CIRCLE(red-ball, ball-red)
23ADD_CIRCLE(big-red-ball, ball-red70)
24ADD_CIRCLE(green-ball, ball-green)
25ADD_CIRCLE(big-green-ball, ball-green70)
26
27ADD_CIRCLE(coin0, coin0)
28ADD_CIRCLE(coin1, coin1)
29
30#undef ADD_CIRCLE
diff --git a/legacy/ephysics/data/themes/buttons.edc b/legacy/ephysics/data/themes/buttons.edc
deleted file mode 100644
index 93d647dba2..0000000000
--- a/legacy/ephysics/data/themes/buttons.edc
+++ /dev/null
@@ -1,133 +0,0 @@
1#define BUTTON_GROUP(_name) \
2 group { \
3 name: "elm/button/base/ephysics-test-"#_name; \
4 \
5 images { \
6 image: "bt_"##_name##".png" COMP; \
7 image: "bt_"##_name##"_pressed.png" COMP; \
8 } \
9 \
10 parts { \
11 \
12 part { \
13 name: "blocker"; \
14 type: RECT; \
15 mouse_events: 1; \
16 description { \
17 state: "default" 0.0; \
18 color: 255 255 255 0; \
19 } \
20 } \
21 \
22 part { \
23 name: "base"; \
24 type: IMAGE; \
25 mouse_events: 0; \
26 description { \
27 state: "default" 0.0; \
28 min: 80 28; \
29 max: 80 28; \
30 aspect: 1 1; \
31 image.normal: "bt_"##_name##".png"; \
32 } \
33 description { \
34 state: "pressed" 0.0; \
35 inherit: "default" 0.0; \
36 image.normal: "bt_"##_name##"_pressed.png"; \
37 } \
38 description { \
39 state: "disabled" 0.0; \
40 inherit: "default" 0.0; \
41 color: 255 255 255 80; \
42 } \
43 } \
44 \
45 part { \
46 name: "over"; \
47 type: RECT; \
48 mouse_events: 1; \
49 ignore_flags: ON_HOLD; \
50 description { \
51 state: "default" 0.0; \
52 color: 255 255 255 0; \
53 } \
54 description { \
55 state: "disabled" 0.0; \
56 inherit: "default" 0.0; \
57 visible: 0; \
58 } \
59 } \
60 \
61 } \
62 \
63 programs { \
64 \
65 program { \
66 name: "bt_click"; \
67 source: "ephysics_test"; \
68 signal: "click"; \
69 in: 0.2 0; \
70 action: STATE_SET "pressed" 0.0; \
71 target: "base"; \
72 after: "bt_click2"; \
73 } \
74 \
75 program { \
76 name: "bt_click2"; \
77 in: 0.4 0; \
78 action: STATE_SET "default" 0.0; \
79 target: "base"; \
80 after: "bt_clicked"; \
81 } \
82 \
83 program { \
84 name: "bt_clicked"; \
85 source: "over"; \
86 signal: "mouse,clicked,1"; \
87 action: SIGNAL_EMIT "elm,action,click" ""; \
88 } \
89 \
90 program { \
91 name: "bt_pressed"; \
92 source: "over"; \
93 signal: "mouse,down,1"; \
94 action: STATE_SET "pressed" 0.0; \
95 target: "base"; \
96 } \
97 \
98 program { \
99 name: "bt_unpressed"; \
100 source: "over"; \
101 signal: "mouse,up,1"; \
102 action: STATE_SET "default" 0.0; \
103 target: "base"; \
104 } \
105 \
106 program { \
107 name: "disable"; \
108 source: "elm"; \
109 signal: "elm,state,disabled"; \
110 action: STATE_SET "disabled" 0.0; \
111 target: "base"; \
112 target: "over"; \
113 } \
114 \
115 program { \
116 name: "enable"; \
117 source: "elm"; \
118 signal: "elm,state,enabled"; \
119 action: STATE_SET "default" 0.0; \
120 target: "base"; \
121 target: "over"; \
122 } \
123 \
124 } \
125 \
126 }
127
128BUTTON_GROUP(jump)
129BUTTON_GROUP(restart)
130BUTTON_GROUP(shoot)
131BUTTON_GROUP(stop)
132
133#undef BUTTON_GROUP
diff --git a/legacy/ephysics/data/themes/cubes.edc b/legacy/ephysics/data/themes/cubes.edc
deleted file mode 100644
index 83540c253a..0000000000
--- a/legacy/ephysics/data/themes/cubes.edc
+++ /dev/null
@@ -1,38 +0,0 @@
1#define ADD_CUBE(_group, _file) \
2 images { \
3 image: #_file##".png" COMP; \
4 } \
5 group { \
6 name: #_group; \
7 parts { \
8 part { \
9 name: "cube"; \
10 type: IMAGE; \
11 mouse_events: 1; \
12 repeat_events: 0; \
13 description { \
14 state: "default" 0.0; \
15 image.normal: #_file##".png"; \
16 } \
17 } \
18 } \
19 }
20
21ADD_CUBE(blue-cube, cube-blue);
22ADD_CUBE(purple-cube, cube-purple);
23ADD_CUBE(purple-cube420, cube-purple420);
24ADD_CUBE(cube_top, cube_top);
25ADD_CUBE(cube_bottom, cube_bottom);
26ADD_CUBE(cube_front, cube_front);
27ADD_CUBE(cube_back, cube_back);
28ADD_CUBE(cube_right, cube_right);
29ADD_CUBE(cube_left, cube_left);
30
31ADD_CUBE(dice1, dice1);
32ADD_CUBE(dice2, dice2);
33ADD_CUBE(dice3, dice3);
34ADD_CUBE(dice4, dice4);
35ADD_CUBE(dice5, dice5);
36ADD_CUBE(dice6, dice6);
37
38#undef ADD_CUBE
diff --git a/legacy/ephysics/data/themes/effects.edc b/legacy/ephysics/data/themes/effects.edc
deleted file mode 100644
index 1a6b429bae..0000000000
--- a/legacy/ephysics/data/themes/effects.edc
+++ /dev/null
@@ -1,49 +0,0 @@
1 images {
2 image: "collisionL.png" COMP;
3 }
4
5 group {
6 name: "impact";
7
8 parts {
9
10 part {
11 name: "impact";
12 mouse_events: 0;
13 type: IMAGE;
14 description {
15 state: "default" 0.0;
16 image.normal: "collisionL.png";
17 color: 255 255 255 0;
18 }
19 description {
20 state: "visible" 0.0;
21 inherit: "default" 0.0;
22 color: 255 255 255 255;
23 }
24 }
25
26 }
27
28 programs {
29
30 program {
31 name: "impact,show";
32 source: "ephysics_test";
33 signal: "impact,show";
34 action: STATE_SET "visible" 0.0;
35 transition: LINEAR 0.2;
36 target: "impact";
37 after: "impact,show2";
38 }
39
40 program {
41 name: "impact,show2";
42 action: STATE_SET "default" 0.0;
43 transition: LINEAR 0.2;
44 target: "impact";
45 }
46
47 }
48
49 }
diff --git a/legacy/ephysics/data/themes/ephysics_sandbox.edc b/legacy/ephysics/data/themes/ephysics_sandbox.edc
deleted file mode 100644
index 3ae0d7d1c0..0000000000
--- a/legacy/ephysics/data/themes/ephysics_sandbox.edc
+++ /dev/null
@@ -1,7 +0,0 @@
1externals {
2 external: "elm";
3}
4
5collections {
6#include "sandbox_misc.edc"
7}
diff --git a/legacy/ephysics/data/themes/ephysics_test.edc b/legacy/ephysics/data/themes/ephysics_test.edc
deleted file mode 100644
index ad79f94c43..0000000000
--- a/legacy/ephysics/data/themes/ephysics_test.edc
+++ /dev/null
@@ -1,19 +0,0 @@
1externals {
2 external: "elm";
3}
4
5collections {
6#include "balls.edc"
7#include "buttons.edc"
8#include "cubes.edc"
9#include "effects.edc"
10#include "frame.edc"
11#include "list.edc"
12#include "loading_bar.edc"
13#include "pages.edc"
14#include "shadows.edc"
15#include "shapes.edc"
16#include "spinner.edc"
17#include "toggle.edc"
18#include "others.edc"
19}
diff --git a/legacy/ephysics/data/themes/frame.edc b/legacy/ephysics/data/themes/frame.edc
deleted file mode 100644
index 48fd7547f1..0000000000
--- a/legacy/ephysics/data/themes/frame.edc
+++ /dev/null
@@ -1,428 +0,0 @@
1 group {
2 name: "floor";
3
4 images {
5 image: "bg_floor.jpg" COMP;
6 }
7
8 parts {
9
10 part {
11 name: "floor";
12 type: IMAGE;
13 mouse_events: 0;
14 description {
15 state: "default" 0.0;
16 min: 750 224;
17 image.normal: "bg_floor.jpg";
18 }
19 }
20
21 }
22
23 }
24
25 group {
26 name: "frame";
27
28 images {
29 image: "arrows.png" COMP;
30 image: "background.jpg" COMP;
31 }
32
33 styles {
34 style {
35 name: "test_style";
36 base: "font=Sans font_size=20 align=justify color=#c6b19a";
37 tag: "br" "\n";
38 tag: "tab" "\t";
39 }
40 }
41
42 parts {
43
44 part {
45 name: "bg";
46 type: RECT;
47 mouse_events: 0;
48 description {
49 state: "default" 0.0;
50 min: 512 384;
51 color: 153 134 117 255;
52 }
53 }
54
55 part {
56 name: "borders";
57 type: IMAGE;
58 mouse_events: 0;
59 description {
60 state: "default" 0.0;
61 min: 512 384;
62 image.normal: "background.jpg";
63 visible: 0;
64 }
65 description {
66 state: "visible" 0.0;
67 inherit: "default" 0.0;
68 visible: 1;
69 }
70 }
71
72 part {
73 name: "arrows";
74 type: IMAGE;
75 mouse_events: 0;
76 description {
77 state: "default" 0.0;
78 min: 326 241;
79 max: 326 241;
80 rel1.offset: -18 10;
81 color: 255 255 255 0;
82 image.normal: "arrows.png";
83 }
84 description {
85 state: "visible" 0.0;
86 inherit: "default" 0.0;
87 color: 255 255 255 255;
88 }
89 }
90
91 part {
92 name: "arrows_msg";
93 type: TEXT;
94 mouse_events: 0;
95 description {
96 state: "default" 0.0;
97 color: 0 0 0 0;
98 rel1.relative: 0.08 0.96;
99 rel2.relative: 0.92 1.0;
100 text {
101 font: "Sans";
102 size: 12;
103 text: "Press the arrows on the keyboard to give "
104 "impulse to the object.";
105 }
106 }
107 description {
108 state: "visible" 0.0;
109 inherit: "default" 0.0;
110 color: 95 56 19 255;
111 }
112 }
113
114 part {
115 name: "controls_msg";
116 type: TEXTBLOCK;
117 mouse_events: 0;
118 description {
119 state: "default" 0.0;
120 rel1.relative: 0.3 0.3;
121 rel2.relative: 0.3 0.3;
122 color: 0 0 0 0;
123 text {
124 style: "test_style";
125 min: 1 1;
126 max: 1 1;
127 text: "Impulse Controls:<br>"
128 " X Axis <tab> H - L<br>"
129 " Y Axis <tab> J - K<br>"
130 " Z Axis <tab> F - G";
131 }
132 }
133 description {
134 state: "msg1" 0.0;
135 inherit: "default" 0.0;
136 color: 95 56 19 255;
137 }
138 description {
139 state: "msg2" 0.0;
140 inherit: "msg1" 0.0;
141 text.text: "Impulse Controls:<br>"
142 " Pitch <tab> Y - O<br>"
143 " Yaw <tab> U - I<br>"
144 " Roll <tab> R - T";
145 }
146 }
147
148 part {
149 name: "grab_msg";
150 type: TEXT;
151 mouse_events: 0;
152 description {
153 state: "default" 0.0;
154 color: 0 0 0 0;
155 rel1.relative: 0.08 0.96;
156 rel2.relative: 0.92 1.0;
157 text {
158 font: "Sans";
159 size: 12;
160 text: "Drag a body to move it.";
161 }
162 }
163 description {
164 state: "visible" 0.0;
165 inherit: "default" 0.0;
166 color: 95 56 19 255;
167 }
168 }
169
170 part {
171 name: "light_msg";
172 type: TEXT;
173 mouse_events: 0;
174 description {
175 state: "default" 0.0;
176 color: 0 0 0 0;
177 rel1.relative: 0.08 0.96;
178 rel2.relative: 0.92 1.0;
179 text {
180 font: "Sans";
181 size: 12;
182 text: "Press x to turn lights on/off.";
183 }
184 }
185 description {
186 state: "visible" 0.0;
187 inherit: "default" 0.0;
188 color: 95 56 19 255;
189 }
190 }
191
192 part {
193 name: "linear_vel";
194 type: TEXT;
195 mouse_events: 0;
196 description {
197 state: "default" 0.0;
198 color: 0 0 0 0;
199 rel1.relative: 0.08 0.40;
200 rel2.relative: 0.92 0.44;
201 text {
202 font: "Sans";
203 size: 12;
204 }
205 }
206 description {
207 state: "visible" 0.0;
208 inherit: "default" 0.0;
209 color: 198 177 153 255;
210 }
211 }
212
213 part {
214 name: "linear_acc";
215 type: TEXT;
216 mouse_events: 0;
217 description {
218 state: "default" 0.0;
219 color: 0 0 0 0;
220 rel1.relative: 0.08 0.44;
221 rel2.relative: 0.92 0.48;
222 text {
223 font: "Sans";
224 size: 12;
225 }
226 }
227 description {
228 state: "visible" 0.0;
229 inherit: "default" 0.0;
230 color: 198 177 153 255;
231 }
232 }
233
234 part {
235 name: "angular_vel";
236 type: TEXT;
237 mouse_events: 0;
238 description {
239 state: "default" 0.0;
240 color: 0 0 0 0;
241 rel1.relative: 0.08 0.54;
242 rel2.relative: 0.92 0.58;
243 text {
244 font: "Sans";
245 size: 12;
246 }
247 }
248 description {
249 state: "visible" 0.0;
250 inherit: "default" 0.0;
251 color: 198 177 153 255;
252 }
253 }
254
255 part {
256 name: "angular_acc";
257 type: TEXT;
258 mouse_events: 0;
259 description {
260 state: "default" 0.0;
261 color: 0 0 0 0;
262 rel1.relative: 0.08 0.58;
263 rel2.relative: 0.92 0.62;
264 text {
265 font: "Sans";
266 size: 12;
267 }
268 }
269 description {
270 state: "visible" 0.0;
271 inherit: "default" 0.0;
272 color: 198 177 153 255;
273 }
274 }
275
276 part {
277 name: "restart_button";
278 type: EXTERNAL;
279 source: "elm/button";
280 mouse_events: 1;
281 description {
282 state: "default" 0.0;
283 rel1.relative: 1 0.08;
284 rel2.relative: 1 0.08;
285 fixed: 1 1;
286 align: 1 0.5;
287 params {
288 string: "style" "ephysics-test-restart";
289 }
290 }
291 }
292
293 part {
294 name: "extra_button";
295 type: SWALLOW;
296 mouse_events: 1;
297 description {
298 state: "default" 0.0;
299 rel1.relative: 0 0.08;
300 rel2.relative: 0 0.08;
301 fixed: 1 1;
302 align: 0 0.5;
303 }
304 }
305
306 part {
307 name: "extra_input";
308 type: SWALLOW;
309 mouse_events: 1;
310 description {
311 state: "default" 0.0;
312 rel1.relative: 0.5 0.08;
313 rel2.relative: 0.5 0.08;
314 fixed: 1 1;
315 align: 0.5 0.5;
316 }
317 }
318
319 part {
320 name: "loading_bar";
321 type: GROUP;
322 source: "loading_bar";
323 mouse_events: 0;
324 description {
325 state: "default" 0.0;
326 align: 0.5 1;
327 visible: 0;
328 rel2.offset: -1 -5;
329 }
330 description {
331 state: "visible" 0.0;
332 inherit: "default" 0.0;
333 visible: 1;
334 }
335 }
336
337 }
338
339 programs {
340
341 program {
342 name: "restart_clicked";
343 source: "restart_button";
344 signal: "clicked";
345 action: SIGNAL_EMIT "restart" "test-theme";
346 }
347
348 program {
349 name: "arrows,show";
350 source: "ephysics_test";
351 signal: "arrows,show";
352 action: STATE_SET "visible" 0.0;
353 target: "arrows";
354 target: "arrows_msg";
355 }
356
357 program {
358 name: "controls,show";
359 source: "ephysics_test";
360 signal: "controls,show";
361 action: STATE_SET "msg1" 0.0;
362 target: "controls_msg";
363 after: "controls,show,2";
364 }
365
366 program {
367 name: "controls,show,2";
368 in: 4 0;
369 action: STATE_SET "msg2" 0.0;
370 target: "controls_msg";
371 after: "controls,show,3";
372 }
373
374 program {
375 name: "controls,show,3";
376 in: 4 0;
377 action: STATE_SET "msg1" 0.0;
378 target: "controls_msg";
379 after: "controls,show,2";
380 }
381
382 program {
383 name: "grab,show";
384 source: "ephysics_test";
385 signal: "grab,show";
386 action: STATE_SET "visible" 0.0;
387 target: "arrows";
388 target: "grab_msg";
389 }
390
391 program {
392 name: "light,show";
393 source: "ephysics_test";
394 signal: "light,show";
395 action: STATE_SET "visible" 0.0;
396 target: "light_msg";
397 }
398
399 program {
400 name: "borders,show";
401 source: "ephysics_test";
402 signal: "borders,show";
403 action: STATE_SET "visible" 0.0;
404 target: "borders";
405 }
406
407 program {
408 name: "velocity,show";
409 source: "ephysics_test";
410 signal: "velocity,show";
411 action: STATE_SET "visible" 0.0;
412 target: "linear_vel";
413 target: "linear_acc";
414 target: "angular_vel";
415 target: "angular_acc";
416 }
417
418 program {
419 name: "loading_bar,show";
420 source: "ephysics_test";
421 signal: "loading_bar,show";
422 action: STATE_SET "visible" 0.0;
423 target: "loading_bar";
424 }
425
426 }
427
428 }
diff --git a/legacy/ephysics/data/themes/images/arrows.png b/legacy/ephysics/data/themes/images/arrows.png
deleted file mode 100644
index 25f5e58c4b..0000000000
--- a/legacy/ephysics/data/themes/images/arrows.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/background.jpg b/legacy/ephysics/data/themes/images/background.jpg
deleted file mode 100644
index 7af3d5838a..0000000000
--- a/legacy/ephysics/data/themes/images/background.jpg
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-blue.png b/legacy/ephysics/data/themes/images/ball-blue.png
deleted file mode 100644
index c74c249695..0000000000
--- a/legacy/ephysics/data/themes/images/ball-blue.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-blue70.png b/legacy/ephysics/data/themes/images/ball-blue70.png
deleted file mode 100644
index 38546e5749..0000000000
--- a/legacy/ephysics/data/themes/images/ball-blue70.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-concrete.png b/legacy/ephysics/data/themes/images/ball-concrete.png
deleted file mode 100644
index d2d18831c9..0000000000
--- a/legacy/ephysics/data/themes/images/ball-concrete.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-green.png b/legacy/ephysics/data/themes/images/ball-green.png
deleted file mode 100644
index a19945dba8..0000000000
--- a/legacy/ephysics/data/themes/images/ball-green.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-green70.png b/legacy/ephysics/data/themes/images/ball-green70.png
deleted file mode 100644
index 83ba8b9ce1..0000000000
--- a/legacy/ephysics/data/themes/images/ball-green70.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-iron.png b/legacy/ephysics/data/themes/images/ball-iron.png
deleted file mode 100644
index f26b5ea3d1..0000000000
--- a/legacy/ephysics/data/themes/images/ball-iron.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-plastic.png b/legacy/ephysics/data/themes/images/ball-plastic.png
deleted file mode 100644
index fb08b23b22..0000000000
--- a/legacy/ephysics/data/themes/images/ball-plastic.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-polystyrene.png b/legacy/ephysics/data/themes/images/ball-polystyrene.png
deleted file mode 100644
index 14f00bef7f..0000000000
--- a/legacy/ephysics/data/themes/images/ball-polystyrene.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-red.png b/legacy/ephysics/data/themes/images/ball-red.png
deleted file mode 100644
index 8fe0e4d187..0000000000
--- a/legacy/ephysics/data/themes/images/ball-red.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-red70.png b/legacy/ephysics/data/themes/images/ball-red70.png
deleted file mode 100644
index 3a4af0adf6..0000000000
--- a/legacy/ephysics/data/themes/images/ball-red70.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-rubber.png b/legacy/ephysics/data/themes/images/ball-rubber.png
deleted file mode 100644
index 7a1bd734d7..0000000000
--- a/legacy/ephysics/data/themes/images/ball-rubber.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/ball-wood.png b/legacy/ephysics/data/themes/images/ball-wood.png
deleted file mode 100644
index acb4599880..0000000000
--- a/legacy/ephysics/data/themes/images/ball-wood.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/bg_floor.jpg b/legacy/ephysics/data/themes/images/bg_floor.jpg
deleted file mode 100644
index 6681832766..0000000000
--- a/legacy/ephysics/data/themes/images/bg_floor.jpg
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/brown-pole.png b/legacy/ephysics/data/themes/images/brown-pole.png
deleted file mode 100644
index d0e24d996e..0000000000
--- a/legacy/ephysics/data/themes/images/brown-pole.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/bt_jump.png b/legacy/ephysics/data/themes/images/bt_jump.png
deleted file mode 100644
index 3116830a7b..0000000000
--- a/legacy/ephysics/data/themes/images/bt_jump.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/bt_jump_pressed.png b/legacy/ephysics/data/themes/images/bt_jump_pressed.png
deleted file mode 100644
index b2fe3166eb..0000000000
--- a/legacy/ephysics/data/themes/images/bt_jump_pressed.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/bt_restart.png b/legacy/ephysics/data/themes/images/bt_restart.png
deleted file mode 100644
index 558c596554..0000000000
--- a/legacy/ephysics/data/themes/images/bt_restart.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/bt_restart_pressed.png b/legacy/ephysics/data/themes/images/bt_restart_pressed.png
deleted file mode 100644
index 62c8210375..0000000000
--- a/legacy/ephysics/data/themes/images/bt_restart_pressed.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/bt_shoot.png b/legacy/ephysics/data/themes/images/bt_shoot.png
deleted file mode 100644
index a325bdb4a0..0000000000
--- a/legacy/ephysics/data/themes/images/bt_shoot.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/bt_shoot_pressed.png b/legacy/ephysics/data/themes/images/bt_shoot_pressed.png
deleted file mode 100644
index 40fd83dd20..0000000000
--- a/legacy/ephysics/data/themes/images/bt_shoot_pressed.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/bt_stop.png b/legacy/ephysics/data/themes/images/bt_stop.png
deleted file mode 100644
index 602b1aba10..0000000000
--- a/legacy/ephysics/data/themes/images/bt_stop.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/bt_stop_pressed.png b/legacy/ephysics/data/themes/images/bt_stop_pressed.png
deleted file mode 100644
index c6161813ef..0000000000
--- a/legacy/ephysics/data/themes/images/bt_stop_pressed.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/coin0.png b/legacy/ephysics/data/themes/images/coin0.png
deleted file mode 100644
index 94dfc8bbbc..0000000000
--- a/legacy/ephysics/data/themes/images/coin0.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/coin1.png b/legacy/ephysics/data/themes/images/coin1.png
deleted file mode 100644
index b4a2872455..0000000000
--- a/legacy/ephysics/data/themes/images/coin1.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/collisionL.png b/legacy/ephysics/data/themes/images/collisionL.png
deleted file mode 100644
index 160af4fdba..0000000000
--- a/legacy/ephysics/data/themes/images/collisionL.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/cube-blue.png b/legacy/ephysics/data/themes/images/cube-blue.png
deleted file mode 100644
index e848d2b0b7..0000000000
--- a/legacy/ephysics/data/themes/images/cube-blue.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/cube-purple.png b/legacy/ephysics/data/themes/images/cube-purple.png
deleted file mode 100644
index 096cdbbcf7..0000000000
--- a/legacy/ephysics/data/themes/images/cube-purple.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/cube-purple420.png b/legacy/ephysics/data/themes/images/cube-purple420.png
deleted file mode 100644
index ac153afe1b..0000000000
--- a/legacy/ephysics/data/themes/images/cube-purple420.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/cube_back.png b/legacy/ephysics/data/themes/images/cube_back.png
deleted file mode 100644
index 21ecbe5f68..0000000000
--- a/legacy/ephysics/data/themes/images/cube_back.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/cube_bottom.png b/legacy/ephysics/data/themes/images/cube_bottom.png
deleted file mode 100644
index 5f107105ed..0000000000
--- a/legacy/ephysics/data/themes/images/cube_bottom.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/cube_front.png b/legacy/ephysics/data/themes/images/cube_front.png
deleted file mode 100644
index da78e3e68e..0000000000
--- a/legacy/ephysics/data/themes/images/cube_front.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/cube_left.png b/legacy/ephysics/data/themes/images/cube_left.png
deleted file mode 100644
index 70b482c9e2..0000000000
--- a/legacy/ephysics/data/themes/images/cube_left.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/cube_right.png b/legacy/ephysics/data/themes/images/cube_right.png
deleted file mode 100644
index 82ca57ce77..0000000000
--- a/legacy/ephysics/data/themes/images/cube_right.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/cube_top.png b/legacy/ephysics/data/themes/images/cube_top.png
deleted file mode 100644
index 0b3ba67d0e..0000000000
--- a/legacy/ephysics/data/themes/images/cube_top.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/dice1.png b/legacy/ephysics/data/themes/images/dice1.png
deleted file mode 100644
index ae88d4a1f5..0000000000
--- a/legacy/ephysics/data/themes/images/dice1.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/dice2.png b/legacy/ephysics/data/themes/images/dice2.png
deleted file mode 100644
index 194e916ace..0000000000
--- a/legacy/ephysics/data/themes/images/dice2.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/dice3.png b/legacy/ephysics/data/themes/images/dice3.png
deleted file mode 100644
index 317c7d90cb..0000000000
--- a/legacy/ephysics/data/themes/images/dice3.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/dice4.png b/legacy/ephysics/data/themes/images/dice4.png
deleted file mode 100644
index feb12a5e15..0000000000
--- a/legacy/ephysics/data/themes/images/dice4.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/dice5.png b/legacy/ephysics/data/themes/images/dice5.png
deleted file mode 100644
index f830667fd0..0000000000
--- a/legacy/ephysics/data/themes/images/dice5.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/dice6.png b/legacy/ephysics/data/themes/images/dice6.png
deleted file mode 100644
index aa8963e11c..0000000000
--- a/legacy/ephysics/data/themes/images/dice6.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/door-back.png b/legacy/ephysics/data/themes/images/door-back.png
deleted file mode 100644
index b00a7fe5c5..0000000000
--- a/legacy/ephysics/data/themes/images/door-back.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/door-front.png b/legacy/ephysics/data/themes/images/door-front.png
deleted file mode 100644
index 770bb481ca..0000000000
--- a/legacy/ephysics/data/themes/images/door-front.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/door-post.png b/legacy/ephysics/data/themes/images/door-post.png
deleted file mode 100644
index f1ca119401..0000000000
--- a/legacy/ephysics/data/themes/images/door-post.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/green-flag.png b/legacy/ephysics/data/themes/images/green-flag.png
deleted file mode 100644
index 7b331916d1..0000000000
--- a/legacy/ephysics/data/themes/images/green-flag.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/hexagon.png b/legacy/ephysics/data/themes/images/hexagon.png
deleted file mode 100644
index 75a5ffd9ad..0000000000
--- a/legacy/ephysics/data/themes/images/hexagon.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/list-item-corner-pressed.png b/legacy/ephysics/data/themes/images/list-item-corner-pressed.png
deleted file mode 100644
index 37a03d6e94..0000000000
--- a/legacy/ephysics/data/themes/images/list-item-corner-pressed.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/list-item-corner.png b/legacy/ephysics/data/themes/images/list-item-corner.png
deleted file mode 100644
index 6f55f3c704..0000000000
--- a/legacy/ephysics/data/themes/images/list-item-corner.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/list-item-pressed.png b/legacy/ephysics/data/themes/images/list-item-pressed.png
deleted file mode 100644
index 21f218de8a..0000000000
--- a/legacy/ephysics/data/themes/images/list-item-pressed.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/list-item.png b/legacy/ephysics/data/themes/images/list-item.png
deleted file mode 100644
index 6194a25a62..0000000000
--- a/legacy/ephysics/data/themes/images/list-item.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/list.png b/legacy/ephysics/data/themes/images/list.png
deleted file mode 100644
index 8966ec3599..0000000000
--- a/legacy/ephysics/data/themes/images/list.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/loading_bar.png b/legacy/ephysics/data/themes/images/loading_bar.png
deleted file mode 100644
index 59d23ca3ff..0000000000
--- a/legacy/ephysics/data/themes/images/loading_bar.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/loading_knob.png b/legacy/ephysics/data/themes/images/loading_knob.png
deleted file mode 100644
index a40872bf0f..0000000000
--- a/legacy/ephysics/data/themes/images/loading_knob.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/page_00.png b/legacy/ephysics/data/themes/images/page_00.png
deleted file mode 100644
index 2e10a4df9c..0000000000
--- a/legacy/ephysics/data/themes/images/page_00.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/page_01.png b/legacy/ephysics/data/themes/images/page_01.png
deleted file mode 100644
index 0d6ac4b4ae..0000000000
--- a/legacy/ephysics/data/themes/images/page_01.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/page_02.png b/legacy/ephysics/data/themes/images/page_02.png
deleted file mode 100644
index 389f41bea2..0000000000
--- a/legacy/ephysics/data/themes/images/page_02.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/page_03.png b/legacy/ephysics/data/themes/images/page_03.png
deleted file mode 100644
index fdd32ce399..0000000000
--- a/legacy/ephysics/data/themes/images/page_03.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/pentagon.png b/legacy/ephysics/data/themes/images/pentagon.png
deleted file mode 100644
index 2bf8723578..0000000000
--- a/legacy/ephysics/data/themes/images/pentagon.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/shadow-ball.png b/legacy/ephysics/data/themes/images/shadow-ball.png
deleted file mode 100644
index 0221b58360..0000000000
--- a/legacy/ephysics/data/themes/images/shadow-ball.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/shadow-cube.png b/legacy/ephysics/data/themes/images/shadow-cube.png
deleted file mode 100644
index 12ac30037e..0000000000
--- a/legacy/ephysics/data/themes/images/shadow-cube.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/spinner_base.png b/legacy/ephysics/data/themes/images/spinner_base.png
deleted file mode 100644
index 41e7d58a53..0000000000
--- a/legacy/ephysics/data/themes/images/spinner_base.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/spinner_bt_left.png b/legacy/ephysics/data/themes/images/spinner_bt_left.png
deleted file mode 100644
index d0c49a8949..0000000000
--- a/legacy/ephysics/data/themes/images/spinner_bt_left.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/spinner_bt_left_pressed.png b/legacy/ephysics/data/themes/images/spinner_bt_left_pressed.png
deleted file mode 100644
index b30c25f8f2..0000000000
--- a/legacy/ephysics/data/themes/images/spinner_bt_left_pressed.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/spinner_bt_right.png b/legacy/ephysics/data/themes/images/spinner_bt_right.png
deleted file mode 100644
index 70ea4c1201..0000000000
--- a/legacy/ephysics/data/themes/images/spinner_bt_right.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/spinner_bt_right_pressed.png b/legacy/ephysics/data/themes/images/spinner_bt_right_pressed.png
deleted file mode 100644
index 1f952681c7..0000000000
--- a/legacy/ephysics/data/themes/images/spinner_bt_right_pressed.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/star.png b/legacy/ephysics/data/themes/images/star.png
deleted file mode 100644
index e1cc444275..0000000000
--- a/legacy/ephysics/data/themes/images/star.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/tog_base_off.png b/legacy/ephysics/data/themes/images/tog_base_off.png
deleted file mode 100644
index 1381e2a51f..0000000000
--- a/legacy/ephysics/data/themes/images/tog_base_off.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/tog_base_on.png b/legacy/ephysics/data/themes/images/tog_base_on.png
deleted file mode 100644
index f2cdcf18a0..0000000000
--- a/legacy/ephysics/data/themes/images/tog_base_on.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/tog_bt_off.png b/legacy/ephysics/data/themes/images/tog_bt_off.png
deleted file mode 100644
index 8b6a0bb609..0000000000
--- a/legacy/ephysics/data/themes/images/tog_bt_off.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/images/tog_bt_on.png b/legacy/ephysics/data/themes/images/tog_bt_on.png
deleted file mode 100644
index 0efa038d27..0000000000
--- a/legacy/ephysics/data/themes/images/tog_bt_on.png
+++ /dev/null
Binary files differ
diff --git a/legacy/ephysics/data/themes/list.edc b/legacy/ephysics/data/themes/list.edc
deleted file mode 100644
index 99c1999355..0000000000
--- a/legacy/ephysics/data/themes/list.edc
+++ /dev/null
@@ -1,185 +0,0 @@
1 images {
2 image: "list-item-corner-pressed.png" COMP;
3 image: "list-item-corner.png" COMP;
4 image: "list-item-pressed.png" COMP;
5 image: "list-item.png" COMP;
6 }
7
8 group {
9 name: "elm/list/base/ephysics-test";
10
11 parts {
12
13 part {
14 name: "bg";
15 type: RECT;
16 mouse_events: 1;
17 description {
18 state: "default" 0.0;
19 color: 179 149 117 255;
20 }
21 }
22
23 part {
24 name: "elm.swallow.content";
25 type: SWALLOW;
26 description {
27 state: "default" 0.0;
28 rel1.offset: 0 40;
29 rel2.offset: -1 -41;
30 }
31 }
32
33 part {
34 name: "sb_vbar";
35 type: RECT;
36 mouse_events: 0;
37 description {
38 state: "default" 0.0;
39 fixed: 1 1;
40 visible: 0;
41 min: 10 17;
42 align: 1.0 0.0;
43 rel1 {
44 relative: 1.0 0.0;
45 to_y: "elm.swallow.content";
46 to_x: "elm.swallow.content";
47 }
48 rel2 {
49 relative: 1.0 1.0;
50 to_x: "elm.swallow.content";
51 to_y: "elm.swallow.content";
52 }
53 }
54 }
55
56 part {
57 name: "elm.dragable.vbar";
58 type: RECT;
59 mouse_events: 1;
60 dragable {
61 x: 0 0 0;
62 y: 1 1 0;
63 confine: "sb_vbar";
64 }
65 description {
66 state: "default" 0.0;
67 fixed: 1 1;
68 min: 8 15;
69 max: 8 99999;
70 color: 139 97 57 255;
71 rel1 {
72 relative: 0.5 0.5;
73 offset: 0 0;
74 to: "sb_vbar";
75 }
76 rel2 {
77 relative: 0.5 0.5;
78 offset: 0 0;
79 to: "sb_vbar";
80 }
81 }
82 }
83
84 }
85
86 }
87
88 group {
89 name: "elm/list/item/ephysics-test";
90 alias: "elm/list/item_odd/ephysics-test";
91
92 parts {
93
94 part {
95 name: "event";
96 type: RECT;
97 repeat_events: 1;
98 description {
99 state: "default" 0.0;
100 color: 0 0 0 0;
101 }
102 }
103
104 part {
105 name: "base";
106 mouse_events: 0;
107 description {
108 state: "default" 0.0;
109 min: 8 60;
110 rel2.relative: 0.8 1;
111 image.normal: "list-item.png";
112 }
113 description {
114 state: "selected" 0.0;
115 inherit: "default" 0.0;
116 image.normal: "list-item-pressed.png";
117 }
118 }
119
120 part {
121 name: "base-corner";
122 mouse_events: 0;
123 description {
124 state: "default" 0.0;
125 min: 42 60;
126 max: 42 60;
127 rel1 {
128 to: "base";
129 relative: 1 0;
130 }
131 align: 0 0.5;
132 image.normal: "list-item-corner.png";
133 }
134 description {
135 state: "selected" 0.0;
136 inherit: "default" 0.0;
137 image.normal: "list-item-corner-pressed.png";
138 }
139 }
140
141 part {
142 name: "elm.text";
143 type: TEXT;
144 mouse_events: 0;
145 scale: 1;
146 description {
147 state: "default" 0.0;
148 color: 232 224 215 255;
149 text {
150 font: "Sans";
151 style: "Bold";
152 size: 18;
153 min: 1 1;
154 align: 0 0.5;
155 }
156 align: 0 0.5;
157 rel1.offset: 36 0;
158 }
159 }
160
161 }
162
163 programs {
164
165 program {
166 name: "go_active";
167 source: "elm";
168 signal: "elm,state,selected";
169 action: STATE_SET "selected" 0.0;
170 target: "base";
171 target: "base-corner";
172 }
173
174 program {
175 name: "go_passive";
176 source: "elm";
177 signal: "elm,state,unselected";
178 action: STATE_SET "default" 0.0;
179 target: "base";
180 target: "base-corner";
181 }
182
183 }
184
185 }
diff --git a/legacy/ephysics/data/themes/loading_bar.edc b/legacy/ephysics/data/themes/loading_bar.edc
deleted file mode 100644
index 0b962d9589..0000000000
--- a/legacy/ephysics/data/themes/loading_bar.edc
+++ /dev/null
@@ -1,69 +0,0 @@
1 group {
2 name: "loading_bar";
3 min: 440 16;
4 max: 440 16;
5
6 images {
7 image: "loading_bar.png" COMP;
8 image: "loading_knob.png" COMP;
9 }
10
11 parts {
12
13 part {
14 name: "bar";
15 type: IMAGE;
16 mouse_events: 0;
17 description {
18 state: "default" 0.0;
19 min: 440 8;
20 max: 440 8;
21 image.normal: "loading_bar.png";
22 }
23 }
24
25 part {
26 name: "knob";
27 type: IMAGE;
28 mouse_events: 0;
29 description {
30 state: "default" 0.0;
31 min: 56 16;
32 max: 56 16;
33 rel1.to: "bar";
34 rel2.to: "bar";
35 align: 0 0.5;
36 image.normal: "loading_knob.png";
37 }
38 description {
39 state: "end" 0.0;
40 inherit: "default" 0.0;
41 align: 1 0.5;
42 }
43 }
44
45 }
46
47 programs {
48
49 program {
50 name: "loading_bar,show";
51 source: "ephysics_test";
52 signal: "loading_bar,show";
53 action: STATE_SET "end" 0.0;
54 transition: LINEAR 1.5;
55 target: "knob";
56 after: "knob,restart";
57 }
58
59 program {
60 name: "knob,restart";
61 action: STATE_SET "default" 0.0;
62 transition: LINEAR 1.5;
63 target: "knob";
64 after: "loading_bar,show";
65 }
66
67 }
68
69 }
diff --git a/legacy/ephysics/data/themes/others.edc b/legacy/ephysics/data/themes/others.edc
deleted file mode 100644
index 54ac54fe68..0000000000
--- a/legacy/ephysics/data/themes/others.edc
+++ /dev/null
@@ -1,103 +0,0 @@
1 images {
2 image: "green-flag.png" COMP;
3 image: "brown-pole.png" COMP;
4 image: "door-front.png" COMP;
5 image: "door-back.png" COMP;
6 image: "door-post.png" COMP;
7 }
8
9 group {
10 name: "green-flag";
11
12 parts {
13
14 part {
15 name: "flag";
16 mouse_events: 1;
17 repeat_events: 0;
18 type: IMAGE;
19 description {
20 state: "default" 0.0;
21 image.normal: "green-flag.png";
22 }
23 }
24
25 }
26
27 }
28
29 group {
30 name: "brown-pole";
31
32 parts {
33
34 part {
35 name: "pole";
36 mouse_events: 0;
37 type: IMAGE;
38 description {
39 state: "default" 0.0;
40 image.normal: "brown-pole.png";
41 }
42 }
43
44 }
45
46 }
47
48 group {
49 name: "door-front";
50
51 parts {
52
53 part {
54 name: "door-front";
55 mouse_events: 0;
56 type: IMAGE;
57 description {
58 state: "default" 0.0;
59 image.normal: "door-front.png";
60 }
61 }
62
63 }
64
65 }
66
67 group {
68 name: "door-back";
69
70 parts {
71
72 part {
73 name: "door-back";
74 mouse_events: 0;
75 type: IMAGE;
76 description {
77 state: "default" 0.0;
78 image.normal: "door-back.png";
79 }
80 }
81
82 }
83
84 }
85
86 group {
87 name: "door-post";
88
89 parts {
90
91 part {
92 name: "door-post";
93 mouse_events: 0;
94 type: IMAGE;
95 description {
96 state: "default" 0.0;
97 image.normal: "door-post.png";
98 }
99 }
100
101 }
102
103 } \ No newline at end of file
diff --git a/legacy/ephysics/data/themes/pages.edc b/legacy/ephysics/data/themes/pages.edc
deleted file mode 100644
index 1b9af9b623..0000000000
--- a/legacy/ephysics/data/themes/pages.edc
+++ /dev/null
@@ -1,30 +0,0 @@
1#define PAGE_GROUP(_name) \
2 group { \
3 name: "page-"##_name##""; \
4 images { \
5 image: "page_"##_name##".png" COMP; \
6 } \
7\
8 parts { \
9\
10 part { \
11 name: "page"; \
12 mouse_events: 1; \
13 repeat_events: 1; \
14 type: IMAGE; \
15 description { \
16 state: "default" 0.0; \
17 image.normal: "page_"##_name##".png"; \
18 } \
19 } \
20\
21 } \
22\
23 } \
24
25PAGE_GROUP(00)
26PAGE_GROUP(01)
27PAGE_GROUP(02)
28PAGE_GROUP(03)
29
30#undef PAGE_GROUP \ No newline at end of file
diff --git a/legacy/ephysics/data/themes/sandbox_misc.edc b/legacy/ephysics/data/themes/sandbox_misc.edc
deleted file mode 100644
index a239b051fe..0000000000
--- a/legacy/ephysics/data/themes/sandbox_misc.edc
+++ /dev/null
@@ -1,79 +0,0 @@
1 group {
2 name: "sandbox";
3 min: 1280 720;
4 max: 1280 720;
5
6 externals {
7 external: "elm";
8 }
9
10 images{
11 image: "background.jpg" COMP;
12 }
13
14 parts {
15 part {
16 name: "bg";
17 type: EXTERNAL;
18 source: "elm/bg";
19 mouse_events: 0;
20 description {
21 state: "default" 0.0;
22 rel1.relative: 0.7 0;
23 rel2.relative: 1 1;
24 fixed: 1 1;
25 align: 1 0.5;
26 }
27 }
28 part {
29 name: "bg_world";
30 type: IMAGE;
31 description {
32 state: "default" 0.0;
33 rel1.relative: 0.0 0.0;
34 rel2.relative: 0.7 1.0;
35 fixed: 1 1;
36 image.normal: "background.jpg";
37 }
38 }
39 part {
40 name: "swallow";
41 type: SWALLOW;
42 description {
43 state: "default" 0;
44 rel1.relative: 0.7 0;
45 rel2.relative: 1 1;
46 fixed: 1 1;
47 }
48 }
49 }
50 }
51
52#define SANDBOX_BALL_ADD(_name, _img) \
53 images { \
54 image: #_img##".png" COMP; \
55 } \
56 group { \
57 name: #_name; \
58 parts { \
59 part { \
60 name: "ball"; \
61 mouse_events: 0; \
62 type: IMAGE; \
63 description { \
64 state: "default" 0.0; \
65 image.normal: #_img##".png"; \
66 } \
67 } \
68 } \
69 }
70
71SANDBOX_BALL_ADD(Custom, ball-red70)
72SANDBOX_BALL_ADD(Concrete, ball-concrete)
73SANDBOX_BALL_ADD(Iron, ball-iron)
74SANDBOX_BALL_ADD(Plastic, ball-plastic)
75SANDBOX_BALL_ADD(Polystyrene, ball-polystyrene)
76SANDBOX_BALL_ADD(Rubber, ball-rubber)
77SANDBOX_BALL_ADD(Wood, ball-wood)
78
79#undef SANDBOX_BALL_ADD
diff --git a/legacy/ephysics/data/themes/shadows.edc b/legacy/ephysics/data/themes/shadows.edc
deleted file mode 100644
index e4e1f44856..0000000000
--- a/legacy/ephysics/data/themes/shadows.edc
+++ /dev/null
@@ -1,49 +0,0 @@
1#define SHADOW_ALPHA_ID 1
2
3 images {
4 image: "shadow-ball.png" COMP;
5 image: "shadow-cube.png" COMP;
6 }
7
8#define SHADOW_GROUP(_name) \
9 group { \
10 name: #_name; \
11 \
12 script { \
13 public message(Msg_Type:type, id, ...) \
14 { \
15 if ((type == MSG_FLOAT) && (id == SHADOW_ALPHA_ID)) \
16 { \
17 new Float:shadow_alpha = getfarg(2); \
18 set_tween_state(PART:"shadow", shadow_alpha, "default", 0.0, \
19 "visible", 0.0); \
20 } \
21 } \
22 } \
23 \
24 parts { \
25 \
26 part { \
27 name: "shadow"; \
28 mouse_events: 0; \
29 type: IMAGE; \
30 description { \
31 state: "default" 0.0; \
32 image.normal: _name##".png"; \
33 color: 255 255 255 0; \
34 } \
35 description { \
36 state: "visible" 0.0; \
37 inherit: "default" 0.0; \
38 color: 255 255 255 255; \
39 } \
40 } \
41 } \
42 \
43 }
44
45SHADOW_GROUP(shadow-ball)
46SHADOW_GROUP(shadow-cube)
47
48#undef SHADOW_GROUP
49#undef SHADOW_ALPHA_ID
diff --git a/legacy/ephysics/data/themes/shapes.edc b/legacy/ephysics/data/themes/shapes.edc
deleted file mode 100644
index ec98b69b1e..0000000000
--- a/legacy/ephysics/data/themes/shapes.edc
+++ /dev/null
@@ -1,24 +0,0 @@
1#define ADD_SHAPE(_name) \
2 images { \
3 image: #_name##".png" COMP; \
4 } \
5 group { \
6 name: #_name; \
7 parts { \
8 part { \
9 name: #_name; \
10 mouse_events: 0; \
11 type: IMAGE; \
12 description { \
13 state: "default" 0.0; \
14 image.normal: #_name##".png"; \
15 } \
16 } \
17 } \
18 }
19
20ADD_SHAPE(hexagon)
21ADD_SHAPE(pentagon)
22ADD_SHAPE(star)
23
24#undef ADD_SHAPE
diff --git a/legacy/ephysics/data/themes/spinner.edc b/legacy/ephysics/data/themes/spinner.edc
deleted file mode 100644
index d90afa8f54..0000000000
--- a/legacy/ephysics/data/themes/spinner.edc
+++ /dev/null
@@ -1,200 +0,0 @@
1group {
2 name: "elm/spinner/base/ephysics-test";
3
4 images {
5 image: "spinner_bt_left.png" COMP;
6 image: "spinner_bt_left_pressed.png" COMP;
7 image: "spinner_bt_right.png" COMP;
8 image: "spinner_bt_right_pressed.png" COMP;
9 image: "spinner_base.png" COMP;
10 }
11
12 parts {
13
14 part {
15 name: "blocker";
16 type: RECT;
17 mouse_events: 1;
18 description {
19 state: "default" 0.0;
20 color: 0 0 0 0;
21 }
22 }
23
24 part {
25 name: "base";
26 type: IMAGE;
27 mouse_events: 0;
28 description {
29 state: "default" 0.0;
30 min: 140 28;
31 max: 1000 28;
32 rel1.offset: 30 0;
33 rel2.offset: -31 -1;
34 image.normal: "spinner_base.png";
35 }
36 }
37
38 part {
39 name: "left_bt";
40 mouse_events: 1;
41 description {
42 state: "default" 0.0;
43 min: 30 28;
44 max: 30 28;
45 rel1.to_y: "base";
46 rel2 {
47 to: "base";
48 relative: 0 1;
49 }
50 image.normal: "spinner_bt_left.png";
51 }
52 description {
53 state: "clicked" 0.0;
54 inherit: "default" 0.0;
55 image.normal: "spinner_bt_left_pressed.png";
56 }
57 }
58
59 part {
60 name: "right_bt";
61 mouse_events: 1;
62 description {
63 state: "default" 0.0;
64 min: 30 28;
65 max: 30 28;
66 rel1 {
67 to: "base";
68 relative: 1 0;
69 }
70 rel2.to_y: "base";
71 image.normal: "spinner_bt_right.png";
72 }
73 description {
74 state: "clicked" 0.0;
75 inherit: "default" 0.0;
76 image.normal: "spinner_bt_right_pressed.png";
77 }
78 }
79
80 part {
81 name: "elm.text";
82 type: TEXT;
83 mouse_events: 0;
84 description { state: "default" 0.0;
85 visible: 1;
86 color: 223 215 208 255;
87 rel1.to: "base";
88 rel2.to: "base";
89 text {
90 font: "Arial";
91 style: "Bold";
92 size: 12;
93 align: 0.5 0.5;
94 }
95 }
96 }
97
98 part {
99 name: "elm.dragable.slider";
100 type: RECT;
101 mouse_events: 0;
102 scale: 1;
103
104 dragable {
105 x: 1 1 0;
106 y: 0 0 0;
107 }
108
109 description {
110 state: "default" 0.0;
111 rel1.to: "blocker";
112 rel2.to: "blocker";
113 color: 0 0 0 0;
114 }
115 }
116
117 part {
118 name: "elm.swallow.entry";
119 type: SWALLOW;
120 description {
121 state: "default" 0.0;
122 visible: 0;
123 align: 0.5 0.5;
124 rel1 { relative: 1.0 0.5;
125 offset: 3 2;
126 to_x: "left_bt";
127 to_y: "base";
128 }
129 rel2 { relative: 0.0 0.5;
130 offset: -3 -2;
131 to_x: "right_bt";
132 to_y: "base";
133 }
134 fixed: 1 1;
135 color: 0 0 0 0;
136 }
137 }
138 }
139
140 programs {
141
142 program {
143 name: "left_bt_clicked";
144 signal: "mouse,down,1";
145 source: "left_bt";
146 action: STATE_SET "clicked" 0.0;
147 target: "left_bt";
148 after: "left_bt_clicked_emit";
149 }
150
151 program {
152 name: "left_bt_clicked_emit";
153 action: SIGNAL_EMIT "elm,action,decrement,start" "";
154 }
155
156 program {
157 name: "left_bt_unclicked";
158 signal: "mouse,up,1";
159 source: "left_bt";
160 action: STATE_SET "default" 0.0;
161 target: "left_bt";
162 after: "left_bt_unclicked_emit";
163 }
164
165 program {
166 name: "left_bt_unclicked_emit";
167 action: SIGNAL_EMIT "elm,action,decrement,stop" "";
168 }
169
170 program {
171 name: "right_bt_clicked";
172 signal: "mouse,down,1";
173 source: "right_bt";
174 action: STATE_SET "clicked" 0.0;
175 target: "right_bt";
176 after: "right_bt_clicked_emit";
177 }
178
179 program {
180 name: "right_bt_clicked_emit";
181 action: SIGNAL_EMIT "elm,action,increment,start" "";
182 }
183
184 program {
185 name: "right_bt_unclicked";
186 signal: "mouse,up,1";
187 source: "right_bt";
188 action: STATE_SET "default" 0.0;
189 target: "right_bt";
190 after: "right_bt_unclicked_emit";
191 }
192
193 program {
194 name: "right_bt_unclicked_emit";
195 action: SIGNAL_EMIT "elm,action,increment,stop" "";
196 }
197
198 }
199
200}
diff --git a/legacy/ephysics/data/themes/toggle.edc b/legacy/ephysics/data/themes/toggle.edc
deleted file mode 100644
index becd374265..0000000000
--- a/legacy/ephysics/data/themes/toggle.edc
+++ /dev/null
@@ -1,399 +0,0 @@
1group {
2 name: "elm/check/base/ephysics-test";
3
4 images {
5 image: "tog_base_on.png" COMP;
6 image: "tog_base_off.png" COMP;
7 image: "tog_bt_on.png" COMP;
8 image: "tog_bt_off.png" COMP;
9 }
10
11 script {
12 public is_rtl;
13 public is_drag;
14 public was_drag;
15 }
16
17 parts {
18
19 part { name: "bg";
20 type: RECT;
21 mouse_events: 0;
22 scale: 1;
23 description { state: "default" 0.0;
24 fixed: 1 0;
25 rel1.relative: 1.0 0.0;
26 rel1.offset: -4 3;
27 rel2.offset: -4 -4;
28 align: 1.0 0.5;
29 min: 100 26;
30 max: 100 26;
31 visible: 0;
32 }
33 }
34
35 part {
36 name: "clipper";
37 type: RECT;
38 mouse_events: 0;
39 description {
40 state: "default" 0.0;
41 rel1.to: "bg";
42 rel2.to: "bg";
43 color: 255 255 255 255;
44 }
45 }
46
47 part {
48 name: "button";
49 type: RECT;
50 scale: 1;
51 clip_to: "clipper";
52 mouse_events: 1;
53 dragable {
54 x: 1 1 0;
55 y: 0 0 0;
56 confine: "bg";
57 }
58 description {
59 state: "default" 0.0;
60 fixed: 1 1;
61 rel1.to: "bg";
62 rel2.to: "bg";
63 min: 28 24;
64 max: 28 24;
65 aspect: 1.0 1.0;
66 aspect_preference: VERTICAL;
67 color: 0 0 0 0;
68 }
69 }
70
71 part {
72 name: "button_events";
73 type: RECT;
74 dragable {
75 events: "button";
76 }
77 description {
78 state: "default" 0.0;
79 color: 0 0 0 0;
80 }
81 }
82
83 part {
84 name: "onrect";
85 type: IMAGE;
86 scale: 1;
87 clip_to: "clipper";
88 mouse_events: 0;
89 description {
90 state: "default" 0.0;
91 rel1.to: "button";
92 rel1.relative: 1.0 0.0;
93 rel2.to: "button";
94 rel2.relative: 1.0 1.0;
95 fixed: 1 1;
96 align: 1 0.5;
97 min: 100 26;
98 max: 100 26;
99 image.normal: "tog_base_on.png";
100 }
101 }
102
103 part {
104 name: "offrect";
105 type: IMAGE;
106 scale: 1;
107 clip_to: "clipper";
108 mouse_events: 0;
109 description {
110 state: "default" 0.0;
111 rel1.to: "button";
112 rel1.relative: 0 0.0;
113 rel2.to: "button";
114 rel2.relative: 0 1.0;
115 fixed: 1 1;
116 align: 0 0.5;
117 min: 100 26;
118 max: 100 26;
119 image.normal: "tog_base_off.png";
120 }
121 }
122
123 part {
124 name: "button0";
125 type: IMAGE;
126 clip_to: "clipper";
127 mouse_events: 0;
128 description {
129 state: "default" 0.0;
130 rel1.to: "button";
131 rel2.to: "button";
132 image.normal: "tog_bt_on.png";
133 }
134 description {
135 state: "on" 0.0;
136 inherit: "default" 0.0;
137 }
138 description {
139 state: "off" 0.0;
140 inherit: "default" 0.0;
141 image.normal: "tog_bt_off.png";
142 }
143 }
144
145 part {
146 name: "elm.offtext";
147 type: TEXT;
148 mouse_events: 0;
149 scale: 1;
150 clip_to: "clipper";
151 description {
152 state: "default" 0.0;
153 fixed: 1 1;
154 rel1.to_x: "button";
155 rel1.relative: 1.0 0.0;
156 rel2.to_x: "offrect";
157 color: 0 0 0 255;
158 text {
159 font: "Sans,Edje-Vera";
160 size: 10;
161 min: 0 1;
162 align: 0.5 0.5;
163 }
164 }
165 }
166
167 part {
168 name: "elm.ontext";
169 type: TEXT;
170 effect: SOFT_SHADOW;
171 mouse_events: 0;
172 scale: 1;
173 clip_to: "clipper";
174 description {
175 state: "default" 0.0;
176 fixed: 1 1;
177 rel1.to_x: "onrect";
178 rel1.offset: 1 1;
179 rel2.to_x: "button";
180 rel2.offset: 0 0;
181 rel2.relative: 0.0 1.0;
182 color: 224 224 224 255;
183 color3: 0 0 0 64;
184 text {
185 font: "Sans,Edje-Vera";
186 size: 10;
187 min: 0 1;
188 align: 0.5 0.5;
189 }
190 }
191 }
192
193 part {
194 name: "elm.swallow.content";
195 type: SWALLOW;
196 description {
197 state: "default" 0.0;
198 fixed: 1 0;
199 visible: 0;
200 align: 0.0 0.5;
201 rel1.offset: 4 4;
202 rel2.relative: 0.0 1.0;
203 rel2.offset: 3 -5;
204 }
205 description {
206 state: "visible" 0.0;
207 inherit: "default" 0.0;
208 visible: 1;
209 aspect: 1.0 1.0;
210 rel2.offset: 4 -5;
211 }
212 }
213
214 part {
215 name: "elm.text";
216 type: TEXT;
217 mouse_events: 0;
218 scale: 1;
219 description {
220 state: "default" 0.0;
221 visible: 0;
222 rel1.to_x: "elm.swallow.content";
223 rel1.relative: 1.0 0.0;
224 rel1.offset: 0 4;
225 rel2.to_x: "bg";
226 rel2.relative: 0.0 1.0;
227 rel2.offset: -7 -5;
228 color: 0 0 0 255;
229 text {
230 font: "Sans,Edje-Vera";
231 size: 10;
232 min: 0 0;
233 align: 0.0 0.5;
234 }
235 }
236 description {
237 state: "visible" 0.0;
238 inherit: "default" 0.0;
239 visible: 1;
240 text.min: 1 1;
241 }
242 }
243
244 }
245
246 programs {
247
248 program {
249 signal: "mouse,clicked,1";
250 source: "button";
251 script {
252 new Float:dx, Float:dy;
253 get_drag(PART:"button", dx, dy);
254
255 if (!get_int(was_drag)) {
256 if (dx > 0.5)
257 set_drag(PART:"button", 0.0, 0.0);
258 else
259 set_drag(PART:"button", 1.0, 0.0);
260 if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
261 (get_int(is_rtl) == 0) && (dx > 0.5))
262 emit("elm,action,check,off", "");
263 else
264 emit("elm,action,check,on", "");
265 }
266 }
267 }
268
269 program {
270 signal: "drag";
271 source: "button";
272 script {
273 set_int(is_drag, 1);
274 }
275 }
276
277 program {
278 signal: "mouse,down,1";
279 source: "button";
280 script {
281 set_int(was_drag, 0);
282 set_int(is_drag, 0);
283 }
284 }
285
286 program {
287 name: "drag_end";
288 signal: "mouse,up,1";
289 source: "button";
290 script {
291 new Float:dx, Float:dy;
292 get_drag(PART:"button", dx, dy);
293 if (dx > 0.5)
294 {
295 set_drag(PART:"button", 1.0, 0.0);
296 }
297 else
298 {
299 set_drag(PART:"button", 0.0, 0.0);
300 }
301 if (((get_int(is_rtl) == 1) && (dx <= 0.5)) ||
302 (get_int(is_rtl) == 0) && (dx > 0.5)) {
303 emit("elm,action,check,on", "");
304 }
305 else {
306 emit("elm,action,check,off", "");
307 }
308 set_int(was_drag, get_int(is_drag));
309 set_int(is_drag, 0);
310 }
311 }
312
313 program {
314 name: "check_on";
315 signal: "elm,state,check,on";
316 source: "elm";
317 script {
318 new Float:drag;
319 if (get_int(is_rtl) == 0) {
320 drag = 100.0;
321 }
322 else {
323 drag = 0.0;
324 }
325 set_drag(PART:"button", drag, 0.0);
326 set_state(PART:"button0", "on", 0.0);
327 }
328 }
329
330 program {
331 name: "check_off";
332 signal: "elm,state,check,off";
333 source: "elm";
334 script {
335 new Float:drag;
336 if (get_int(is_rtl) == 0) {
337 drag = 0.0;
338 }
339 else {
340 drag = 100.0;
341 }
342 set_drag(PART:"button", drag, 0.0);
343 set_state(PART:"button0", "off", 0.0);
344 }
345 }
346
347 program {
348 name: "text_show";
349 signal: "elm,state,text,visible";
350 source: "elm";
351 action: STATE_SET "visible" 0.0;
352 target: "elm.text";
353 }
354
355 program {
356 name: "text_hide";
357 signal: "elm,state,text,hidden";
358 source: "elm";
359 action: STATE_SET "default" 0.0;
360 target: "elm.text";
361 }
362
363 program {
364 name: "icon_show";
365 signal: "elm,state,icon,visible";
366 source: "elm";
367 action: STATE_SET "visible" 0.0;
368 target: "elm.swallow.content";
369 }
370
371 program {
372 name: "icon_hide";
373 signal: "elm,state,icon,hidden";
374 source: "elm";
375 action: STATE_SET "default" 0.0;
376 target: "elm.swallow.content";
377 }
378
379 program {
380 name: "to_rtl";
381 signal: "edje,state,rtl";
382 source: "edje";
383 script {
384 set_int(is_rtl, 1);
385 }
386 }
387
388 program {
389 name: "to_ltr";
390 signal: "edje,state,ltr";
391 source: "edje";
392 script {
393 set_int(is_rtl, 0);
394 }
395 }
396
397 }
398
399}
diff --git a/legacy/ephysics/src/bin/ephysics_sandbox.c b/legacy/ephysics/src/bin/ephysics_sandbox.c
deleted file mode 100644
index 4a00f140e8..0000000000
--- a/legacy/ephysics/src/bin/ephysics_sandbox.c
+++ /dev/null
@@ -1,1005 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#include<stdio.h>
6#include<string.h>
7#include<Eina.h>
8#include<Elementary.h>
9#include<EPhysics.h>
10
11#define SANDBOX_THEME "ephysics_sandbox"
12#define WIDTH (1280)
13#define HEIGHT (720)
14#define DEPTH (100)
15#define INITIAL_MASS (15)
16
17static const char *materials[] =
18{
19 "Custom", "Concrete", "Iron", "Plastic", "Polystyrene", "Rubber", "Wood"
20};
21
22typedef struct _World_Data World_Data;
23typedef struct _Body_Data Body_Data;
24
25struct _World_Data {
26 EPhysics_Body *top, *bottom, *left, *right;
27 Evas_Object *win, *tb, *nf;
28 EPhysics_World *world;
29 Body_Data *bd1, *bd2;
30};
31
32struct _Body_Data {
33 World_Data *wd;
34 EPhysics_Body *body;
35 struct {
36 struct {
37 Evas_Object *x, *y, *relx, *rely;
38 }impulse;
39 struct {
40 Evas_Object *x, *y, *relx, *rely, *torque;
41 }force;
42 struct {
43 Evas_Object *x, *y, *angular;
44 }velocity;
45 Evas_Object *hardness;
46 }controls;
47};
48
49
50/*** Sandbox Callbacks ***/
51static void
52_body_del(void *data __UNUSED__, EPhysics_Body *body __UNUSED__,
53 void *event_info)
54{
55 if (event_info) evas_object_del(event_info);
56}
57
58static void
59_world_gravity_x_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
60{
61 EPhysics_World *world = data;
62 double gravity_y, gravity_z;
63
64 ephysics_world_gravity_get(world, NULL, &gravity_y, &gravity_z);
65 ephysics_world_gravity_set(world, elm_slider_value_get(obj), gravity_y,
66 gravity_z);
67}
68
69static void
70_world_gravity_y_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
71{
72 EPhysics_World *world = data;
73 double gravity_x, gravity_z;
74
75 ephysics_world_gravity_get(world, &gravity_x, NULL, &gravity_z);
76 ephysics_world_gravity_set(world, gravity_x, elm_slider_value_get(obj),
77 gravity_z);
78}
79
80static void
81_world_rate_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
82{
83 EPhysics_World *world = data;
84 ephysics_world_rate_set(world, elm_slider_value_get(obj));
85}
86
87static void
88_world_max_sleeping_time_cb(void *data, Evas_Object *obj,
89 void *event_info __UNUSED__)
90{
91 EPhysics_World *world = data;
92 ephysics_world_max_sleeping_time_set(world, elm_slider_value_get(obj));
93}
94
95static void
96_world_friction_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
97{
98 World_Data *wd = data;
99 ephysics_body_friction_set(wd->top, elm_slider_value_get(obj));
100 ephysics_body_friction_set(wd->bottom, elm_slider_value_get(obj));
101 ephysics_body_friction_set(wd->left, elm_slider_value_get(obj));
102 ephysics_body_friction_set(wd->right, elm_slider_value_get(obj));
103}
104
105static void
106_world_restitution_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
107{
108 World_Data *wd = data;
109 ephysics_body_restitution_set(wd->top, elm_slider_value_get(obj));
110 ephysics_body_restitution_set(wd->bottom, elm_slider_value_get(obj));
111 ephysics_body_restitution_set(wd->left, elm_slider_value_get(obj));
112 ephysics_body_restitution_set(wd->right, elm_slider_value_get(obj));
113}
114
115static void
116_type_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
117{
118 double mass, friction, restitution, lin_damping, ang_damping;
119 double lin_sleeping, ang_sleeping;
120 EPhysics_Body_Material material;
121 EPhysics_Quaternion rotation;
122 Evas_Object *body_image;
123 EPhysics_World *world;
124 Body_Data *bd = data;
125 EPhysics_Body *body = bd->body;
126
127 mass = ephysics_body_mass_get(body);
128 ephysics_body_rotation_get(body, &rotation);
129 friction = ephysics_body_friction_get(body);
130 restitution = ephysics_body_restitution_get(body);
131 ephysics_body_damping_get(body, &lin_damping, &ang_damping);
132 ephysics_body_sleeping_threshold_get(body, &lin_sleeping, &ang_sleeping);
133 material = ephysics_body_material_get(body);
134
135 world = ephysics_body_world_get(body);
136 body_image = ephysics_body_evas_object_unset(body);
137
138 ephysics_body_del(body);
139
140 if (elm_radio_value_get(obj))
141 {
142 body = ephysics_body_soft_cylinder_add(world);
143 ephysics_body_soft_body_hardness_set(
144 body, elm_slider_value_get(bd->controls.hardness));
145 elm_object_disabled_set(bd->controls.hardness, EINA_FALSE);
146 }
147 else
148 {
149 body = ephysics_body_sphere_add(world);
150 elm_object_disabled_set(bd->controls.hardness, EINA_TRUE);
151 }
152
153 ephysics_body_evas_object_set(body, body_image, EINA_TRUE);
154 ephysics_body_mass_set(body, mass);
155 ephysics_body_rotation_set(body, &rotation);
156 ephysics_body_friction_set(body, friction);
157 ephysics_body_restitution_set(body, restitution);
158 ephysics_body_damping_set(body, lin_damping, ang_damping);
159 ephysics_body_sleeping_threshold_set(body, lin_sleeping, ang_sleeping);
160 ephysics_body_material_set(body, material);
161
162 ephysics_body_force_apply(body,
163 elm_slider_value_get(bd->controls.force.x),
164 elm_slider_value_get(bd->controls.force.y), 0,
165 elm_slider_value_get(bd->controls.force.relx),
166 elm_slider_value_get(bd->controls.force.rely), 0);
167 ephysics_body_torque_apply(body, 0, 0,
168 elm_slider_value_get(bd->controls.force.torque));
169
170 bd->body = body;
171}
172
173static void
174_material_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
175{
176 Body_Data *bd = evas_object_data_get(obj, "bd");
177 Evas_Object *win = bd->wd->win;
178 EPhysics_Body *body = bd->body;
179 EPhysics_Body_Material material = (EPhysics_Body_Material) data;
180 Evas_Object *body_image;
181 int x, y, w, h;
182
183 elm_object_text_set(obj, materials[material]);
184 ephysics_body_material_set(body, material);
185
186 elm_slider_value_set(evas_object_data_get(obj, "mass"),
187 ephysics_body_mass_get(body));
188 elm_slider_value_set(evas_object_data_get(obj, "density"),
189 ephysics_body_density_get(body));
190 elm_slider_value_set(evas_object_data_get(obj, "friction"),
191 ephysics_body_friction_get(body));
192 elm_slider_value_set(evas_object_data_get(obj, "restitution"),
193 ephysics_body_restitution_get(body));
194
195 body_image = ephysics_body_evas_object_unset(body);
196 evas_object_geometry_get(body_image, &x, &y, &w, &h);
197 evas_object_del(body_image);
198
199 body_image = elm_image_add(win);
200 elm_image_file_set(
201 body_image, PACKAGE_DATA_DIR "/" SANDBOX_THEME ".edj",
202 materials[material]);
203 evas_object_resize(body_image, w, h);
204 evas_object_move(body_image, x, y);
205 evas_object_show(body_image);
206 ephysics_body_evas_object_set(body, body_image, EINA_FALSE);
207}
208
209static void
210_mass_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
211{
212 Body_Data *bd = data;
213 double mass = elm_slider_value_get(obj);
214 ephysics_body_mass_set(bd->body, mass);
215 elm_slider_value_set(evas_object_data_get(obj, "density"),
216 mass / ephysics_body_volume_get(bd->body));
217}
218
219static void
220_density_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
221{
222 Body_Data *bd = data;
223 ephysics_body_density_set(bd->body, elm_slider_value_get(obj));
224 elm_slider_value_set(evas_object_data_get(obj, "mass"),
225 ephysics_body_mass_get(bd->body));
226}
227
228static void
229_rotation_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
230{
231 EPhysics_Quaternion quat;
232 Body_Data *bd = data;
233 ephysics_quaternion_euler_set(&quat, 0, 0, elm_slider_value_get(obj));
234 ephysics_body_rotation_set(bd->body, &quat);
235}
236
237static void
238_friction_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
239{
240 Body_Data *bd = data;
241 ephysics_body_friction_set(bd->body, elm_slider_value_get(obj));
242}
243
244static void
245_restitution_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
246{
247 Body_Data *bd = data;
248 ephysics_body_restitution_set(bd->body, elm_slider_value_get(obj));
249}
250
251static void
252_linear_damping_set_cb(void *data, Evas_Object *obj,
253 void *event_info __UNUSED__)
254{
255 Body_Data *bd = data;
256 double ang_damping;
257 ephysics_body_damping_get(bd->body, NULL, &ang_damping);
258 ephysics_body_damping_set(bd->body, elm_slider_value_get(obj), ang_damping);
259}
260
261static void
262_angular_damping_set_cb(void *data, Evas_Object *obj,
263 void *event_info __UNUSED__)
264{
265 Body_Data *bd = data;
266 double lin_damping;
267 ephysics_body_damping_get(bd->body, &lin_damping, NULL);
268 ephysics_body_damping_set(bd->body, lin_damping, elm_slider_value_get(obj));
269}
270
271static void
272_lin_sleeping_threshold_set_cb(void *data, Evas_Object *obj,
273 void *event_info __UNUSED__)
274{
275 Body_Data *bd = data;
276 double ang_sleeping;
277 ephysics_body_sleeping_threshold_get(bd->body, NULL, &ang_sleeping);
278 ephysics_body_sleeping_threshold_set(bd->body, elm_slider_value_get(obj),
279 ang_sleeping);
280}
281
282static void
283_ang_sleeping_threshold_set_cb(void *data, Evas_Object *obj,
284 void *event_info __UNUSED__)
285{
286 Body_Data *bd = data;
287 double lin_sleeping;
288 ephysics_body_sleeping_threshold_get(bd->body, &lin_sleeping, NULL);
289 ephysics_body_sleeping_threshold_set(bd->body, lin_sleeping,
290 elm_slider_value_get(obj));
291}
292
293static void
294_torque_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
295{
296 Body_Data *bd = data;
297 ephysics_body_torque_apply(bd->body, 0, 0, elm_slider_value_get(obj));
298}
299
300static void
301_impulse_x_x_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
302{
303 Evas_Coord rel_x, rel_y;
304 Body_Data *bd = data;
305 double y;
306
307 y = elm_slider_value_get(evas_object_data_get(obj, "y"));
308 rel_x = elm_slider_value_get(evas_object_data_get(obj, "relx"));
309 rel_y = elm_slider_value_get(evas_object_data_get(obj, "rely"));
310 ephysics_body_impulse_apply(bd->body, elm_slider_value_get(obj), y, 0,
311 rel_x, rel_y, 0);
312}
313
314static void
315_impulse_x_rel_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
316{
317 Body_Data *bd = data;
318 Evas_Object *aux;
319 Evas_Coord rel_y;
320 double x, y;
321
322 aux = evas_object_data_get(obj, "x");
323 x = elm_slider_value_get(aux);
324 y = elm_slider_value_get(evas_object_data_get(aux, "y"));
325 rel_y = elm_slider_value_get(evas_object_data_get(aux, "rely"));
326 ephysics_body_impulse_apply(bd->body, x, y, 0,
327 elm_slider_value_get(obj), rel_y, 0);
328}
329
330static void
331_impulse_y_y_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
332{
333 Body_Data *bd = data;
334 Evas_Object *aux;
335 Evas_Coord rel_x, rel_y;
336 double x;
337
338 aux = evas_object_data_get(obj, "x");
339 x = elm_slider_value_get(aux);
340 rel_x = elm_slider_value_get(evas_object_data_get(aux, "relx"));
341 rel_y = elm_slider_value_get(evas_object_data_get(aux, "rely"));
342 ephysics_body_impulse_apply(bd->body, x, elm_slider_value_get(obj), 0,
343 rel_x, rel_y, 0);
344}
345
346static void
347_impulse_y_rel_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
348{
349 Body_Data *bd = data;
350 Evas_Object *aux;
351 Evas_Coord rel_x;
352 double x, y;
353
354 aux = evas_object_data_get(obj, "x");
355 x = elm_slider_value_get(aux);
356 y = elm_slider_value_get(evas_object_data_get(aux, "y"));
357 rel_x = elm_slider_value_get(evas_object_data_get(aux, "relx"));
358 ephysics_body_impulse_apply(bd->body, x, y, 0,
359 rel_x, 0, elm_slider_value_get(obj));
360}
361
362static void
363_force_x_x_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
364{
365 Evas_Coord rel_x, rel_y;
366 Body_Data *bd = data;
367 double y;
368
369 y = elm_slider_value_get(evas_object_data_get(obj, "y"));
370 rel_x = elm_slider_value_get(evas_object_data_get(obj, "relx"));
371 rel_y = elm_slider_value_get(evas_object_data_get(obj, "rely"));
372 ephysics_body_force_apply(bd->body, elm_slider_value_get(obj), y, 0,
373 rel_x, rel_y, 0);
374}
375
376static void
377_force_x_rel_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
378{
379 Body_Data *bd = data;
380 Evas_Object *aux;
381 Evas_Coord rel_y;
382 double x, y;
383
384 aux = evas_object_data_get(obj, "x");
385 x = elm_slider_value_get(aux);
386 y = elm_slider_value_get(evas_object_data_get(aux, "y"));
387 rel_y = elm_slider_value_get(evas_object_data_get(aux, "rely"));
388 ephysics_body_force_apply(bd->body, x, y, 0,
389 elm_slider_value_get(obj), rel_y, 0);
390}
391
392static void
393_force_y_y_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
394{
395 Evas_Coord rel_x, rel_y;
396 Body_Data *bd = data;
397 Evas_Object *aux;
398 double x;
399
400 aux = evas_object_data_get(obj, "x");
401 x = elm_slider_value_get(aux);
402 rel_x = elm_slider_value_get(evas_object_data_get(aux, "relx"));
403 rel_y = elm_slider_value_get(evas_object_data_get(aux, "rely"));
404 ephysics_body_force_apply(bd->body, x, elm_slider_value_get(obj), 0,
405 rel_x, rel_y, 0);
406}
407
408static void
409_force_y_rel_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
410{
411 Body_Data *bd = data;
412 Evas_Object *aux;
413 Evas_Coord rel_x;
414 double x, y;
415
416 aux = evas_object_data_get(obj, "x");
417 x = elm_slider_value_get(aux);
418 y = elm_slider_value_get(evas_object_data_get(aux, "y"));
419 rel_x = elm_slider_value_get(evas_object_data_get(aux, "relx"));
420 ephysics_body_force_apply(bd->body, x, y, 0,
421 rel_x, elm_slider_value_get(obj), 0);
422}
423
424static void
425_linear_velocity_x_set_cb(void *data, Evas_Object *obj,
426 void *event_info __UNUSED__)
427{
428 Body_Data *bd = data;
429 double ylinear;
430 ylinear = elm_slider_value_get(evas_object_data_get(obj, "y"));
431 ephysics_body_linear_velocity_set(bd->body, elm_slider_value_get(obj),
432 ylinear, 0);
433}
434
435static void
436_linear_velocity_y_set_cb(void *data, Evas_Object *obj,
437 void *event_info __UNUSED__)
438{
439 Body_Data *bd = data;
440 double xlinear;
441 xlinear = elm_slider_value_get(evas_object_data_get(obj, "x"));
442 ephysics_body_linear_velocity_set(bd->body, xlinear,
443 elm_slider_value_get(obj), 0);
444}
445
446static void
447_angular_velocity_set_cb(void *data, Evas_Object *obj,
448 void *event_info __UNUSED__)
449{
450 Body_Data *bd = data;
451 ephysics_body_angular_velocity_set(bd->body, 0, 0,
452 elm_slider_value_get(obj));
453}
454
455static void
456_hardness_set_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
457{
458 Body_Data *bd = data;
459 ephysics_body_soft_body_hardness_set(bd->body, elm_slider_value_get(obj));
460}
461
462static void
463_simulate_body(Body_Data *bd, Evas_Coord x, Evas_Coord y)
464{
465 ephysics_body_stop(bd->body);
466 ephysics_body_geometry_set(bd->body, x, y, -15, 70, 70, 30);
467 ephysics_body_linear_velocity_set(bd->body,
468 elm_slider_value_get(
469 bd->controls.velocity.x),
470 elm_slider_value_get(
471 bd->controls.velocity.y), 0);
472 ephysics_body_angular_velocity_set(bd->body, 0, 0,
473 elm_slider_value_get(
474 bd->controls.velocity.angular));
475 ephysics_body_impulse_apply(bd->body,
476 elm_slider_value_get(bd->controls.impulse.x),
477 elm_slider_value_get(bd->controls.impulse.y), 0,
478 elm_slider_value_get(bd->controls.impulse.relx),
479 elm_slider_value_get(bd->controls.impulse.rely),
480 0);
481}
482
483static void
484_simulate(World_Data *wd)
485{
486 _simulate_body(wd->bd1, (int) WIDTH / 5, (int) HEIGHT / 5);
487 _simulate_body(wd->bd2, (int) WIDTH / 2, (int) HEIGHT / 5);
488}
489
490static void
491_simulate_cb(void *data, Evas_Object *obj __UNUSED__,
492 void *event_info __UNUSED__)
493{
494 _simulate(data);
495}
496
497static void
498_promote(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
499{
500 elm_naviframe_item_promote(data);
501}
502
503/*** Sandbox Widgets ***/
504static void
505_label_add(Evas_Object *bxparent, const char *subcategory, float align)
506{
507 Evas_Object *label;
508
509 label = elm_label_add(bxparent);
510 elm_object_text_set(label, subcategory);
511 evas_object_size_hint_weight_set(label, 0.0, 0.0);
512 evas_object_size_hint_align_set(label, align, 0.5);
513 elm_box_pack_end(bxparent, label);
514 evas_object_show(label);
515}
516
517static Evas_Object *
518_material_selector_add(Body_Data *bd, Evas_Object *bxparent)
519{
520 Evas_Object *box, *hv;
521
522 box = elm_box_add(bxparent);
523 elm_box_horizontal_set(box, EINA_TRUE);
524 elm_box_homogeneous_set(box, EINA_TRUE);
525 elm_box_padding_set(box, 25, 0);
526 evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, 0.0);
527 evas_object_size_hint_align_set(box, EVAS_HINT_FILL, 0.0);
528 evas_object_show(box);
529 elm_box_pack_end(bxparent, box);
530
531 _label_add(box, "Body Material", 1);
532
533 hv = elm_hoversel_add(box);
534 elm_hoversel_hover_parent_set(hv, bd->wd->nf);
535 elm_object_text_set(hv, materials[EPHYSICS_BODY_MATERIAL_CUSTOM]);
536 elm_hoversel_item_add(hv, materials[EPHYSICS_BODY_MATERIAL_CUSTOM],
537 NULL, ELM_ICON_NONE, _material_set_cb,
538 (void *) EPHYSICS_BODY_MATERIAL_CUSTOM);
539 elm_hoversel_item_add(hv, materials[EPHYSICS_BODY_MATERIAL_CONCRETE],
540 NULL, ELM_ICON_NONE, _material_set_cb,
541 (void *) EPHYSICS_BODY_MATERIAL_CONCRETE);
542 elm_hoversel_item_add(hv, materials[EPHYSICS_BODY_MATERIAL_IRON],
543 NULL, ELM_ICON_NONE, _material_set_cb,
544 (void *) EPHYSICS_BODY_MATERIAL_IRON);
545 elm_hoversel_item_add(hv, materials[EPHYSICS_BODY_MATERIAL_PLASTIC],
546 NULL, ELM_ICON_NONE, _material_set_cb,
547 (void *) EPHYSICS_BODY_MATERIAL_PLASTIC);
548 elm_hoversel_item_add(hv, materials[EPHYSICS_BODY_MATERIAL_POLYSTYRENE],
549 NULL, ELM_ICON_NONE, _material_set_cb,
550 (void *) EPHYSICS_BODY_MATERIAL_POLYSTYRENE);
551 elm_hoversel_item_add(hv, materials[EPHYSICS_BODY_MATERIAL_RUBBER],
552 NULL, ELM_ICON_NONE, _material_set_cb,
553 (void *) EPHYSICS_BODY_MATERIAL_RUBBER);
554 elm_hoversel_item_add(hv, materials[EPHYSICS_BODY_MATERIAL_WOOD],
555 NULL, ELM_ICON_NONE, _material_set_cb,
556 (void *) EPHYSICS_BODY_MATERIAL_WOOD);
557
558 evas_object_size_hint_align_set(hv, 0.5, 0.5);
559 elm_box_pack_end(box, hv);
560 evas_object_show(hv);
561 evas_object_data_set(hv, "bd", bd);
562
563 return hv;
564}
565
566static void
567_type_radio_add(Body_Data *bd, Evas_Object *bxparent)
568{
569 Evas_Object *dbx, *rbx, *rd, *rdg;
570
571 dbx = elm_box_add(bxparent);
572 elm_box_horizontal_set(dbx, EINA_TRUE);
573 evas_object_size_hint_weight_set(dbx, EVAS_HINT_EXPAND, 0.0);
574 evas_object_size_hint_align_set(dbx, EVAS_HINT_FILL, 0.0);
575 elm_box_homogeneous_set(dbx, EINA_TRUE);
576 elm_box_align_set(dbx, 1, 0.5);
577 elm_box_pack_end(bxparent, dbx);
578 evas_object_show(dbx);
579
580 _label_add(dbx, "Body Type", 1);
581
582 rbx = elm_box_add(bxparent);
583 elm_box_horizontal_set(rbx, EINA_TRUE);
584 evas_object_size_hint_weight_set(rbx, EVAS_HINT_EXPAND, 0.0);
585 evas_object_size_hint_align_set(rbx, EVAS_HINT_FILL, 0.0);
586 elm_box_padding_set(rbx, 25, 0);
587 elm_box_align_set(rbx, 0.5, 0.5);
588 elm_box_pack_end(dbx, rbx);
589 evas_object_show(rbx);
590
591 rd = elm_radio_add(bxparent);
592 elm_radio_state_value_set(rd, 0);
593 elm_object_text_set(rd, "Solid");
594 evas_object_size_hint_align_set(rd, 1, 0.5);
595 evas_object_size_hint_weight_set(rd, 0, EVAS_HINT_EXPAND);
596 elm_box_pack_end(rbx, rd);
597 evas_object_show(rd);
598 rdg = rd;
599 evas_object_smart_callback_add(rd, "changed", _type_set_cb, bd);
600
601 rd = elm_radio_add(bxparent);
602 elm_radio_state_value_set(rd, 1);
603 elm_radio_group_add(rd, rdg);
604 elm_object_text_set(rd, "Soft");
605 evas_object_size_hint_align_set(rd, 1, 0.5);
606 evas_object_size_hint_weight_set(rd, 0, EVAS_HINT_EXPAND);
607 elm_box_pack_end(rbx, rd);
608 evas_object_show(rd);
609 evas_object_smart_callback_add(rd, "changed", _type_set_cb, bd);
610}
611
612static Evas_Object *
613_slider_add(Evas_Object *bxparent, const char *subcategory, const char *itemlb,
614 float min, float max, float initial)
615{
616 Evas_Object *sl, *dbx;
617
618 dbx = elm_box_add(bxparent);
619 elm_box_horizontal_set(dbx, EINA_TRUE);
620 evas_object_size_hint_weight_set(dbx, EVAS_HINT_EXPAND, 0.0);
621 evas_object_size_hint_align_set(dbx, EVAS_HINT_FILL, 0.0);
622 elm_box_homogeneous_set(dbx, EINA_TRUE);
623 elm_box_align_set(dbx, 0, 0.5);
624 elm_box_pack_end(bxparent, dbx);
625 evas_object_show(dbx);
626
627 _label_add(dbx, subcategory, 1);
628
629 sl = elm_slider_add(bxparent);
630 elm_slider_unit_format_set(sl, itemlb);
631 elm_slider_min_max_set(sl, min, max);
632 elm_slider_value_set(sl, initial);
633 elm_slider_span_size_set(sl, 100);
634 evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
635 evas_object_size_hint_align_set(sl, 0, 0.5);
636 elm_box_pack_end(dbx, sl);
637 evas_object_show(sl);
638
639 return sl;
640}
641
642static Evas_Object *
643_category_add(Evas_Object *bxparent, const char *label, Eina_Bool collapse)
644{
645 Evas_Object *cfr, *cbx;
646
647 cfr = elm_frame_add(bxparent);
648 elm_frame_autocollapse_set(cfr, collapse);
649 elm_frame_collapse_set(cfr, collapse);
650 elm_object_text_set(cfr, label);
651 evas_object_size_hint_weight_set(cfr, EVAS_HINT_EXPAND, 0.0);
652 evas_object_size_hint_fill_set(cfr, EVAS_HINT_FILL, 0.0);
653 elm_box_pack_end(bxparent, cfr);
654 evas_object_show(cfr);
655
656 cbx = elm_box_add(bxparent);
657 elm_box_horizontal_set(cbx, EINA_FALSE);
658 evas_object_size_hint_weight_set(cbx, EVAS_HINT_EXPAND, 0.0);
659 evas_object_size_hint_align_set(cbx, EVAS_HINT_FILL, 0.0);
660 elm_object_content_set(cfr, cbx);
661 evas_object_show(cbx);
662
663 return cbx;
664}
665
666/*** Sandbox Pages ***/
667static void
668_menu_page_add(Evas_Object *win, Evas_Object **scroller_box,
669 Evas_Object **content_box)
670{
671 Evas_Object *scbx, *bx, *sc;
672
673 scbx = elm_box_add(win);
674 evas_object_size_hint_weight_set(scbx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
675 evas_object_size_hint_align_set(scbx, EVAS_HINT_FILL, EVAS_HINT_FILL);
676 evas_object_show(scbx);
677
678 sc = elm_scroller_add(win);
679 elm_scroller_bounce_set(sc, EINA_FALSE, EINA_TRUE);
680 elm_scroller_policy_set(sc, ELM_SCROLLER_POLICY_OFF,
681 ELM_SCROLLER_POLICY_AUTO);
682 evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
683 evas_object_size_hint_fill_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL);
684 elm_box_pack_end(scbx, sc);
685 evas_object_show(sc);
686
687 bx = elm_box_add(win);
688 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0);
689 evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0);
690 evas_object_show(bx);
691 elm_object_content_set(sc, bx);
692
693 *scroller_box = scbx;
694 *content_box = bx;
695}
696
697static void
698_menu_body_page_add(World_Data *wd, Body_Data *bd, const char *pg_label)
699{
700 Evas_Object *bx, *bxbody, *scbxbody, *widget, *aux_widget, *material_widget;
701 Elm_Object_Item *it;
702
703 _menu_page_add(wd->win, &scbxbody, &bxbody);
704 bx = _category_add(bxbody, "", EINA_FALSE);
705 _type_radio_add(bd, bx);
706 material_widget = _material_selector_add(bd, bx);
707
708 bx = _category_add(bxbody, "Properties", EINA_TRUE);
709 aux_widget = _slider_add(bx, "Mass (kg)", "%1.3f", 0, 99999, INITIAL_MASS);
710 evas_object_data_set(material_widget, "mass", aux_widget);
711 widget = _slider_add(bx, "Density (kg/m³)", "%1.3f", 0, 9999, 0);
712 evas_object_data_set(aux_widget, "density", widget);
713 evas_object_data_set(material_widget, "density", widget);
714 evas_object_smart_callback_add(aux_widget, "delay,changed", _mass_set_cb,
715 bd);
716 evas_object_data_set(widget, "mass", aux_widget);
717 evas_object_smart_callback_add(widget, "delay,changed", _density_set_cb,
718 bd);
719 widget = _slider_add(bx, "Rotation (rad)", "%1.3f", -3.1415, 3.1415, 0);
720 evas_object_smart_callback_add(widget, "delay,changed", _rotation_set_cb,
721 bd);
722 widget = _slider_add(bx, "Friction", "%1.3f", 0, 1, 0.5);
723 evas_object_data_set(material_widget, "friction", widget);
724 evas_object_smart_callback_add(widget, "delay,changed", _friction_set_cb,
725 bd);
726 widget = _slider_add(bx, "Restitution", "%1.3f", 0, 1, 0);
727 evas_object_data_set(material_widget, "restitution", widget);
728 evas_object_smart_callback_add(widget, "delay,changed",
729 _restitution_set_cb, bd);
730 _label_add(bx, "Damping", 0.5);
731 widget = _slider_add(bx, "Linear", "%1.3f", 0, 1, 0);
732 evas_object_smart_callback_add(widget, "delay,changed",
733 _linear_damping_set_cb, bd);
734 widget = _slider_add(bx, "Angular", "%1.3f", 0, 1, 0);
735 evas_object_smart_callback_add(widget, "delay,changed",
736 _angular_damping_set_cb, bd);
737 _label_add(bx, "Sleeping Threshold", 0.5);
738 widget = _slider_add(bx, "Linear (p/s)", "%1.2f",
739 0, 250, 24);
740 evas_object_smart_callback_add(widget, "delay,changed",
741 _lin_sleeping_threshold_set_cb, bd);
742 widget = _slider_add(bx, "Angular (º/s)", "%1.2f",
743 0, 360, 57.29);
744 evas_object_smart_callback_add(widget, "delay,changed",
745 _ang_sleeping_threshold_set_cb, bd);
746
747 bx = _category_add(bxbody, "Actions", EINA_TRUE);
748 _label_add(bx, "Impulse X", 0.5);
749 aux_widget = _slider_add(bx, "X (kg * p/s)", "%1.3f",
750 -9999, 9999, 0);
751 bd->controls.impulse.x = aux_widget;
752 widget = _slider_add(bx, "Rel Position X", "%1.2f",
753 -360, 360, 0);
754 bd->controls.impulse.relx = widget;
755 evas_object_data_set(aux_widget, "relx", widget);
756 _label_add(bx, "Impulse Y", 0.5);
757 widget = _slider_add(bx, "Y (kg * p/s)", "%1.3f", -9999, 9999, 0);
758 bd->controls.impulse.y = widget;
759 evas_object_data_set(aux_widget, "y", widget);
760 widget = _slider_add(bx, "Rel Position Y", "%1.2f", -360, 360, 0);
761 bd->controls.impulse.rely = widget;
762 evas_object_data_set(aux_widget, "rely", widget);
763 evas_object_smart_callback_add(aux_widget, "delay,changed",
764 _impulse_x_x_set_cb, bd);
765 evas_object_data_set(widget, "x", aux_widget);
766 evas_object_smart_callback_add(widget, "delay,changed",
767 _impulse_x_rel_set_cb, bd);
768 widget = evas_object_data_get(aux_widget, "y");
769 evas_object_data_set(widget, "x", aux_widget);
770 evas_object_smart_callback_add(widget, "delay,changed",
771 _impulse_y_y_set_cb, bd);
772 widget = evas_object_data_get(aux_widget, "relx");
773 evas_object_data_set(widget, "x", aux_widget);
774 evas_object_smart_callback_add(widget, "delay,changed",
775 _impulse_y_rel_set_cb, bd);
776
777 _label_add(bx, "Force X", 0.5);
778 aux_widget = _slider_add(bx, "X (kg * p/s/s)", "%1.3f", -1999, 1999, 0);
779 bd->controls.force.x = aux_widget;
780 widget = _slider_add(bx, "Rel Position X", "%1.2f", -360, 360, 0);
781 bd->controls.force.relx = widget;
782 evas_object_data_set(aux_widget, "relx", widget);
783 _label_add(bx, "Force Y", 0.5);
784 widget = _slider_add(bx, "Y (kg * p/s/s)", "%1.3f", -1999, 1999, 0);
785 bd->controls.force.y = widget;
786 evas_object_data_set(aux_widget, "y", widget);
787 widget = _slider_add(bx, "Rel Position Y", "%1.2f", -360, 360, 0);
788 bd->controls.force.rely = widget;
789 evas_object_data_set(aux_widget, "rely", widget);
790 evas_object_smart_callback_add(aux_widget, "delay,changed",
791 _force_x_x_set_cb, bd);
792 evas_object_data_set(widget, "x", aux_widget);
793 evas_object_smart_callback_add(widget, "delay,changed",
794 _force_x_rel_set_cb, bd);
795 widget = evas_object_data_get(aux_widget, "y");
796 evas_object_data_set(widget, "x", aux_widget);
797 evas_object_smart_callback_add(widget, "delay,changed",
798 _force_y_y_set_cb, bd);
799 widget = evas_object_data_get(aux_widget, "relx");
800 evas_object_data_set(widget, "x", aux_widget);
801 evas_object_smart_callback_add(widget, "delay,changed",
802 _force_y_rel_set_cb, bd);
803 widget = _slider_add(bx, "Torque", "%1.3f", -100, 100, 0);
804 bd->controls.force.torque = widget;
805 evas_object_smart_callback_add(widget, "delay,changed", _torque_set_cb, bd);
806
807 _label_add(bx, "Linear Velocity", 0.5);
808 aux_widget = _slider_add(bx, "X (p/s)", "%1.2f", -1499, 1499, 0);
809 bd->controls.velocity.x = aux_widget;
810 widget = _slider_add(bx, "Y (p/s)", "%1.2f", -1499, 1499, 0);
811 bd->controls.velocity.y = widget;
812 evas_object_data_set(aux_widget, "y", widget);
813 evas_object_smart_callback_add(aux_widget, "delay,changed",
814 _linear_velocity_x_set_cb, bd);
815 evas_object_data_set(widget, "x", aux_widget);
816 evas_object_smart_callback_add(widget, "delay,changed",
817 _linear_velocity_y_set_cb, bd);
818
819 widget = _slider_add(bx, "Angular Velocity (º/s)", "%1.2f", -360, 360, 0);
820 bd->controls.velocity.angular = widget;
821 evas_object_smart_callback_add(widget, "delay,changed",
822 _angular_velocity_set_cb, bd);
823
824 bx = _category_add(bxbody, "Soft Body", EINA_TRUE);
825 widget = _slider_add(bx, "Hardness (%)", "%1.2f%", 0, 100, 100);
826 bd->controls.hardness = widget;
827 elm_object_disabled_set(widget, EINA_TRUE);
828 evas_object_smart_callback_add(widget, "delay,changed", _hardness_set_cb,
829 bd);
830
831 it = elm_naviframe_item_insert_before(wd->nf,
832 evas_object_data_get(wd->nf, "world"),
833 NULL, NULL, NULL, scbxbody, NULL);
834 elm_naviframe_item_title_visible_set(it, EINA_FALSE);
835 elm_toolbar_item_append(wd->tb, NULL, pg_label, _promote, it);
836}
837
838static void
839_menu_world_page_add(World_Data *wd)
840{
841 Evas_Object *bx, *scbx, *bxparent, *widget;
842 Elm_Object_Item *it;
843
844 _menu_page_add(wd->win, &scbx, &bxparent);
845
846 bx = _category_add(bxparent, "World", EINA_FALSE);
847 _label_add(bx, "Gravity (px/s²)", 0.5);
848 widget = _slider_add(bx, "X:", "%1.2f", -1000, 1000, 0);
849 evas_object_smart_callback_add(widget, "delay,changed", _world_gravity_x_cb,
850 wd->world);
851 widget = _slider_add(bx, "Y:", "%1.2f", -1000, 1000, 294);
852 evas_object_smart_callback_add(widget, "delay,changed",
853 _world_gravity_y_cb, wd->world);
854 widget = _slider_add(bx, "Rate (px/m)", "%1.0f", 1, 100, 30);
855 evas_object_smart_callback_add(widget, "delay,changed", _world_rate_cb,
856 wd->world);
857 widget = _slider_add(bx, "Max Sleeping Time (s)", "%1.0f", 0, 50, 2);
858 evas_object_smart_callback_add(widget, "delay,changed",
859 _world_max_sleeping_time_cb, wd->world);
860
861 bx = _category_add(bxparent, "Boundaries", EINA_FALSE);
862 widget = _slider_add(bx, "Friction", "%1.3f", 0, 1, 0.5);
863 evas_object_smart_callback_add(widget, "delay,changed",
864 _world_friction_cb, wd);
865 widget = _slider_add(bx, "Restitution", "%1.3f", 0, 1, 0);
866 evas_object_smart_callback_add(widget, "delay,changed",
867 _world_restitution_cb, wd);
868
869 it = elm_naviframe_item_push(wd->nf, NULL, NULL, NULL, scbx, NULL);
870 evas_object_data_set(wd->nf, "world", it);
871 elm_naviframe_item_title_visible_set(it, EINA_FALSE);
872 elm_toolbar_item_append(wd->tb, NULL, "World", _promote, it);
873}
874
875static void
876_menu_create(World_Data *wd)
877{
878 Evas_Object *mainbx, *dbx, *btn, *bg, *layout;
879
880 bg = elm_bg_add(wd->win);
881 elm_win_resize_object_add(wd->win, bg);
882 evas_object_size_hint_min_set(bg, WIDTH, HEIGHT);
883 evas_object_size_hint_max_set(bg, WIDTH, HEIGHT);
884
885 layout = elm_layout_add(wd->win);
886 elm_layout_file_set(layout, PACKAGE_DATA_DIR "/" SANDBOX_THEME ".edj",
887 "sandbox");
888 evas_object_resize(layout, WIDTH, HEIGHT);
889 evas_object_show(layout);
890
891 mainbx = elm_box_add(wd->win);
892 evas_object_size_hint_fill_set(mainbx, EVAS_HINT_FILL, EVAS_HINT_FILL);
893 elm_object_part_content_set(layout, "swallow", mainbx);
894 evas_object_show(mainbx);
895
896 dbx = elm_box_add(mainbx);
897 elm_box_horizontal_set(dbx, EINA_TRUE);
898 evas_object_size_hint_weight_set(dbx, EVAS_HINT_EXPAND, 0.0);
899 evas_object_size_hint_align_set(dbx, EVAS_HINT_FILL, 0.0);
900 elm_box_align_set(dbx, 0, 0.5);
901 elm_box_pack_end(mainbx, dbx);
902 evas_object_show(dbx);
903
904 wd->tb = elm_toolbar_add(wd->win);
905 evas_object_size_hint_weight_set(wd->tb, EVAS_HINT_EXPAND, 0);
906 evas_object_size_hint_fill_set(wd->tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
907 elm_toolbar_select_mode_set(wd->tb, ELM_OBJECT_SELECT_MODE_ALWAYS);
908 elm_box_pack_end(dbx, wd->tb);
909 evas_object_show(wd->tb);
910
911 btn = elm_button_add(wd->win);
912 elm_object_text_set(btn, "Restart");
913 evas_object_size_hint_min_set(btn, 100, 30);
914 evas_object_size_hint_align_set(btn, 1, 0.5);
915 elm_box_pack_end(dbx, btn);
916 evas_object_show(btn);
917 evas_object_smart_callback_add(btn, "clicked", _simulate_cb, wd);
918
919
920 wd->nf = elm_naviframe_add(wd->win);
921 evas_object_size_hint_weight_set(wd->nf, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
922 evas_object_size_hint_fill_set(wd->nf, EVAS_HINT_FILL, EVAS_HINT_FILL);
923 elm_box_pack_end(mainbx, wd->nf);
924 evas_object_show(wd->nf);
925}
926
927static EPhysics_Body *
928_body_add(Evas_Object *win, EPhysics_World *world, int x, int y)
929{
930 Evas_Object *body_image;
931 EPhysics_Body *body;
932
933 body_image = elm_image_add(win);
934 elm_image_file_set(
935 body_image, PACKAGE_DATA_DIR "/" SANDBOX_THEME ".edj", "Custom");
936 evas_object_resize(body_image, 70, 70);
937 evas_object_move(body_image, x, y);
938 evas_object_show(body_image);
939
940 body = ephysics_body_cylinder_add(world);
941 ephysics_body_evas_object_set(body, body_image, EINA_TRUE);
942 ephysics_body_mass_set(body, INITIAL_MASS);
943 ephysics_body_event_callback_add(body, EPHYSICS_CALLBACK_BODY_DEL,
944 _body_del, NULL);
945
946 return body;
947}
948
949EAPI int
950elm_main()
951{
952 EPhysics_World *world;
953 Body_Data bd1, bd2;
954 Evas_Object *win;
955 World_Data wd;
956
957 if (!ephysics_init())
958 {
959 fprintf(stderr, "Failed to init ephysics\n");
960 elm_shutdown();
961 return -1;
962 }
963
964 elm_theme_extension_add(NULL, PACKAGE_DATA_DIR "/" SANDBOX_THEME ".edj");
965 elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
966
967 win = elm_win_add(NULL, "Sandbox", ELM_WIN_BASIC);
968 elm_win_title_set(win, "EPhysics Sandbox");
969 elm_win_autodel_set(win, EINA_TRUE);
970 evas_object_show(win);
971
972 world = ephysics_world_new();
973 ephysics_world_simulation_set(world, 1/100.f, 10);
974 ephysics_world_render_geometry_set(world, 80, 80, -50,
975 (int) WIDTH * 0.7 - 160, HEIGHT - 160,
976 DEPTH);
977 wd.top = ephysics_body_top_boundary_add(world);
978 wd.bottom = ephysics_body_bottom_boundary_add(world);
979 wd.left = ephysics_body_left_boundary_add(world);
980 wd.right = ephysics_body_right_boundary_add(world);
981
982 wd.world = world;
983 wd.win = win;
984 wd.bd1 = &bd1;
985 wd.bd2 = &bd2;
986 bd1.wd = &wd;
987 bd2.wd = &wd;
988
989 _menu_create(&wd);
990 _menu_world_page_add(&wd);
991 _menu_body_page_add(&wd, &bd1, "Body 1");
992 _menu_body_page_add(&wd, &bd2, "Body 2");
993
994 bd1.body = _body_add(win, world, WIDTH / 5, HEIGHT / 5);
995 bd2.body = _body_add(win, world, WIDTH / 2, HEIGHT / 5);
996
997 _simulate(&wd);
998
999 elm_run();
1000
1001 ephysics_shutdown();
1002 elm_shutdown();
1003 return 0;
1004}
1005ELM_MAIN()
diff --git a/legacy/ephysics/src/bin/test_bouncing_3d.c b/legacy/ephysics/src/bin/test_bouncing_3d.c
deleted file mode 100644
index cfd3747b7e..0000000000
--- a/legacy/ephysics/src/bin/test_bouncing_3d.c
+++ /dev/null
@@ -1,160 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#include "ephysics_test.h"
6
7static void
8_pos_print_cb(void *data __UNUSED__, EPhysics_Body *body, void *event_info __UNUSED__)
9{
10 EPhysics_Quaternion quat;
11 Evas_Coord x, y, z;
12
13 ephysics_body_geometry_get(body, &x, &y, &z, NULL, NULL, NULL);
14 ephysics_body_rotation_get(body, &quat);
15
16 printf("Position X:%i Y:%i Z:%i\n", x, y, z);
17 printf("Rotation X:%lf Y:%lf Z:%lf W:%lf\n", quat.x, quat.y, quat.z, quat.w);
18}
19
20static Eina_Bool
21_on_keydown(void *data, Evas_Object *obj __UNUSED__, Evas_Object *src __UNUSED__, Evas_Callback_Type type, void *event_info)
22{
23 Evas_Event_Key_Down *ev = event_info;
24 EPhysics_Body *body = data;
25
26 if (type != EVAS_CALLBACK_KEY_UP)
27 return EINA_FALSE;
28
29 if (!strcmp(ev->keyname, "j"))
30 ephysics_body_central_impulse_apply(body, 0, -20, 0);
31 else if (!strcmp(ev->keyname, "k"))
32 ephysics_body_central_impulse_apply(body, 0, 20, 0);
33 else if (!strcmp(ev->keyname, "l"))
34 ephysics_body_central_impulse_apply(body, 20, 0, 0);
35 else if (!strcmp(ev->keyname, "h"))
36 ephysics_body_central_impulse_apply(body, -20, 0, 0);
37 else if (!strcmp(ev->keyname, "f"))
38 ephysics_body_central_impulse_apply(body, 0, 0, -20);
39 else if (!strcmp(ev->keyname, "g"))
40 ephysics_body_central_impulse_apply(body, 0, 0, 20);
41 else if (!strcmp(ev->keyname, "u"))
42 ephysics_body_torque_impulse_apply(body, 0, -2, 0);
43 else if (!strcmp(ev->keyname, "i"))
44 ephysics_body_torque_impulse_apply(body, 0, 2, 0);
45 else if (!strcmp(ev->keyname, "o"))
46 ephysics_body_torque_impulse_apply(body, 2, 0, 0);
47 else if (!strcmp(ev->keyname, "y"))
48 ephysics_body_torque_impulse_apply(body, -2, 0, 0);
49 else if (!strcmp(ev->keyname, "r"))
50 ephysics_body_torque_impulse_apply(body, 0, 0, -2);
51 else if (!strcmp(ev->keyname, "t"))
52 ephysics_body_torque_impulse_apply(body, 0, 0, 2);
53
54 return EINA_TRUE;
55}
56
57static void
58_world_populate(Test_Data *test_data)
59{
60 Evas_Object *cube, *shadow;
61 EPhysics_Body *box;
62
63 shadow = elm_layout_add(test_data->win);
64 elm_layout_file_set(
65 shadow, PACKAGE_DATA_DIR "/" EPHYSICS_TEST_THEME ".edj", "shadow-ball");
66 evas_object_move(shadow, WIDTH / 3, FLOOR_Y);
67 evas_object_resize(shadow, 70, 3);
68 evas_object_show(shadow);
69 test_data->evas_objs = eina_list_append(test_data->evas_objs, shadow);
70
71 cube = elm_image_add(test_data->win);
72 elm_image_file_set(
73 cube, PACKAGE_DATA_DIR "/" EPHYSICS_TEST_THEME ".edj", "purple-cube");
74 evas_object_move(cube, WIDTH / 2, HEIGHT / 2);
75 evas_object_resize(cube, 70, 70);
76 evas_object_show(cube);
77 test_data->evas_objs = eina_list_append(test_data->evas_objs, cube);
78
79 box = ephysics_body_box_add(test_data->world);
80 ephysics_body_evas_object_set(box, cube, EINA_TRUE);
81 ephysics_body_restitution_set(box, 0);
82 ephysics_body_friction_set(box, 0);
83 ephysics_body_sleeping_threshold_set(box, 0, 0);
84 ephysics_body_damping_set(box, 0, 0);
85 ephysics_body_linear_movement_enable_set(box, EINA_TRUE, EINA_TRUE,
86 EINA_TRUE);
87 ephysics_body_angular_movement_enable_set(box, EINA_TRUE, EINA_TRUE,
88 EINA_TRUE);
89 ephysics_body_event_callback_add(box, EPHYSICS_CALLBACK_BODY_UPDATE,
90 update_object_cb, shadow);
91 ephysics_body_event_callback_add(box, EPHYSICS_CALLBACK_BODY_UPDATE,
92 _pos_print_cb, NULL);
93 test_data->bodies = eina_list_append(test_data->bodies, box);
94 test_data->data = box;
95}
96
97static void
98_restart(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
99{
100 Test_Data *test_data = data;
101
102 elm_object_event_callback_del(test_data->win, _on_keydown, test_data->data);
103 test_clean(test_data);
104 _world_populate(test_data);
105 elm_object_event_callback_add(test_data->win, _on_keydown, test_data->data);
106}
107
108void
109test_bouncing_3d(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
110{
111 EPhysics_Body *boundary;
112 EPhysics_World *world;
113 Test_Data *test_data;
114
115 if (!ephysics_init())
116 return;
117
118 test_data = test_data_new();
119 test_win_add(test_data, "Bouncing 3D", EINA_TRUE);
120
121 elm_layout_signal_callback_add(test_data->layout, "restart", "test-theme",
122 _restart, test_data);
123 elm_object_signal_emit(test_data->layout, "borders,show", "ephysics_test");
124 elm_object_signal_emit(test_data->layout, "controls,show", "ephysics_test");
125
126 world = ephysics_world_new();
127 ephysics_world_gravity_set(world, 0, 0, 0);
128 ephysics_world_render_geometry_set(world, 50, 40, -50,
129 WIDTH - 100, FLOOR_Y - 40, DEPTH);
130 ephysics_camera_perspective_enabled_set(ephysics_world_camera_get(world),
131 EINA_TRUE);
132 test_data->world = world;
133
134 boundary = ephysics_body_bottom_boundary_add(test_data->world);
135 ephysics_body_restitution_set(boundary, 0);
136 ephysics_body_friction_set(boundary, 0);
137
138 boundary = ephysics_body_right_boundary_add(test_data->world);
139 ephysics_body_restitution_set(boundary, 0);
140 ephysics_body_friction_set(boundary, 0);
141
142 boundary = ephysics_body_left_boundary_add(test_data->world);
143 ephysics_body_restitution_set(boundary, 0);
144 ephysics_body_friction_set(boundary, 0);
145
146 boundary = ephysics_body_front_boundary_add(test_data->world);
147 ephysics_body_restitution_set(boundary, 0);
148 ephysics_body_friction_set(boundary, 0);
149
150 boundary = ephysics_body_back_boundary_add(test_data->world);
151 ephysics_body_restitution_set(boundary, 0);
152 ephysics_body_friction_set(boundary, 0);
153
154 ephysics_body_top_boundary_add(test_data->world);
155 ephysics_body_restitution_set(boundary, 0);
156 ephysics_body_friction_set(boundary, 0);
157
158 _world_populate(test_data);
159 elm_object_event_callback_add(test_data->win, _on_keydown, test_data->data);
160}
diff --git a/legacy/ephysics/src/bin/test_coins.c b/legacy/ephysics/src/bin/test_coins.c
deleted file mode 100644
index 7d06179660..0000000000
--- a/legacy/ephysics/src/bin/test_coins.c
+++ /dev/null
@@ -1,136 +0,0 @@
1#ifdef HAVE_CONFIG_H
2# include <config.h>
3#endif
4
5#include "ephysics_test.h"
6
7static Evas_Object *
8_obj_face_add(Test_Data *test_data, const char *group, Evas_Coord x, Evas_Coord y)
9{
10 Evas_Object *obj;
11
12 obj = elm_image_add(test_data->win);
13 elm_image_file_set(obj, PACKAGE_DATA_DIR "/" EPHYSICS_TEST_THEME ".edj",
14 group);
15 evas_object_move(obj, x, y);
16 evas_object_resize(obj, 70, 70);
17 evas_object_show(obj);
18 test_data->evas_objs = eina_list_append(test_data->evas_objs, obj);
19
20 return obj;
21}
22
23static EPhysics_Body *
24_coin_add(Test_Data *test_data, Evas_Coord x, Evas_Coord y)
25{
26 Evas_Object *front, *back, *shadow;
27 EPhysics_Body *coin;
28
29 shadow = elm_layout_add(test_data->win);
30 elm_layout_file_set(
31 shadow, PACKAGE_DATA_DIR "/" EPHYSICS_TEST_THEME ".edj", "shadow-ball");
32 evas_object_move(shadow, x, FLOOR_Y);
33 evas_object_resize(shadow, 70, 3);
34 evas_object_show(shadow);
35 test_data->evas_objs = eina_list_append(test_data->evas_objs, shadow);
36
37 front = _obj_face_add(test_data, "coin0", x, y);
38 back = _obj_face_add(test_data, "coin1", x, y);
39
40 coin = ephysics_body_cylinder_add(test_data->world);
41 ephysics_body_resize(coin, 1, 1, 1);
42 ephysics_body_face_evas_object_set(coin,
43 EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_FRONT,
44 front, EINA_TRUE);
45 ephysics_body_face_evas_object_set(coin,
46 EPHYSICS_BODY_CYLINDER_FACE_MIDDLE_BACK,
47 back, EINA_FALSE);
48 ephysics_body_restitution_set(coin, 0.82);
49 ephysics_body_damping_set(coin, 0, 0.2);
50 ephysics_body_linear_movement_enable_set(coin, EINA_TRUE, EINA_TRUE,
51 EINA_TRUE);
52 ephysics_body_angular_movement_enable_set(coin, EINA_TRUE, EINA_TRUE,
53 EINA_TRUE);
54 ephysics_body_event_callback_add(coin, EPHYSICS_CALLBACK_BODY_UPDATE,
55 update_object_cb, shadow);
56 test_data->bodies = eina_list_append(test_data->bodies, coin);
57
58 return coin;
59}
60
61static void
62_world_populate(Test_Data *test_data)
63{
64 EPhysics_Body *coin;
65 int y;
66
67 y = FLOOR_Y - 70 - 20;
68
69 coin = _coin_add(test_data, 60, y);
70 ephysics_body_central_impulse_apply(coin, 0, -320, 0);
71 ephysics_body_torque_impulse_apply(coin, -4, 0, 0);
72
73 coin = _coin_add(test_data, 140, y);
74 ephysics_body_central_impulse_apply(coin, 0, -300, 0);
75 ephysics_body_torque_impulse_apply(coin, 8, 0, 0);
76
77 coin = _coin_add(test_data, 220, y);
78 ephysics_body_central_impulse_apply(coin, 40, -340, 80);
79 ephysics_body_torque_impulse_apply(coin, 5, -1, 0);
80
81 coin = _coin_add(test_data, 300, y);
82 ephysics_body_central_impulse_apply(coin, 0, -280, 0);
83 ephysics_body_torque_impulse_apply(coin, 4, 1, 0);
84
85 coin = _coin_add(test_data, 380, y);
86 ephysics_body_central_impulse_apply(coin, 40, -240, 0);
87 ephysics_body_torque_impulse_apply(coin, 3, 1, 1);
88}
89
90static void
91_restart(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
92{
93 test_clean(data);
94 _world_populate(data);
95}
96
97void
98test_coins(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
99{
100 EPhysics_Body *boundary;
101 EPhysics_World *world;
102 Test_Data *test_data;
103
104 if (!ephysics_init())
105 return;
106
107 test_data = test_data_new();
108 test_win_add(test_data, "Raster's Coins", EINA_TRUE);
109
110 elm_layout_signal_callback_add(test_data->layout, "restart", "test-theme",