This example shows how to apply the following transition effects\+: \begin{DoxyItemize}
\item translation \item color \item rotation \item wipe \item zoom \item resizing\end{DoxyItemize}
It allows you to apply more than one effect at once, and also allows to set properties like event\+\_\+enabled, auto\+\_\+reverse, repeat\+\_\+times and tween\+\_\+mode.


\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{comment}{//Compile with:}}
\DoxyCodeLine{\textcolor{comment}{//gcc -\/o transit\_example\_03 transit\_example\_03.c `pkg-\/config -\/-\/cflags -\/-\/libs elementary` -\/DDATA\_DIR="\(\backslash\)"<directory>\(\backslash\)""}}
\DoxyCodeLine{\textcolor{comment}{//where directory is the a path where images/icon\_07.png can be found.}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <Elementary.h>}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{comment}{/* structure to hold context for many callbacks */}}
\DoxyCodeLine{\textcolor{keyword}{struct }Context}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}} events\_enabled;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}} auto\_reverse;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}} final\_state\_keep;}
\DoxyCodeLine{   \textcolor{keywordtype}{int} repeat\_times;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga954ecd9ba6266a18a0bde0e5861ccc53}{Elm\_Transit\_Tween\_Mode}} tween\_mode;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj;}
\DoxyCodeLine{\};}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_transit\_translation(\mbox{\hyperlink{group__Elm__Transit_gafe0d442717e75c75819e59e0870b2278}{Elm\_Transit}} *trans)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{comment}{/* considering the original position (x0, y0), moves the object from}}
\DoxyCodeLine{\textcolor{comment}{    * (x0 -\/ 20, y0 -\/ 50) to (x0 + 70, y0 + 150) */}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_gaad4f0c161702521b658629aa9d548d8d}{elm\_transit\_effect\_translation\_add}}(trans, -\/20, -\/50, 70, 150);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_transit\_color(\mbox{\hyperlink{group__Elm__Transit_gafe0d442717e75c75819e59e0870b2278}{Elm\_Transit}} *trans)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{comment}{/* changes the object color from 100, 255, 100, 255 to}}
\DoxyCodeLine{\textcolor{comment}{    * 40, 10, 40, 50 */}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga8ff454b4956a2b6c655d88ea16f9ac5c}{elm\_transit\_effect\_color\_add}}(trans, 100, 255, 100, 255, 40, 10, 40, 50);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_transit\_rotation(\mbox{\hyperlink{group__Elm__Transit_gafe0d442717e75c75819e59e0870b2278}{Elm\_Transit}} *trans)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{comment}{/* rotates the object from its original angle to 135 degrees to the right */}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga8ca0e03bffea10b6daad93587693880d}{elm\_transit\_effect\_rotation\_add}}(trans, 0.0, 135.0);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_transit\_wipe(\mbox{\hyperlink{group__Elm__Transit_gafe0d442717e75c75819e59e0870b2278}{Elm\_Transit}} *trans)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{comment}{/* hide the object clipping it from the left to the right */}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_gacd9d6137fbe8382b716835230b253a37}{elm\_transit\_effect\_wipe\_add}}(trans,}
\DoxyCodeLine{                               \mbox{\hyperlink{group__Elm__Transit_gga9222bc37781ce1f112e645e7f4c4d19aad5446fa47155b1c002f20cb604dce085}{ELM\_TRANSIT\_EFFECT\_WIPE\_TYPE\_HIDE}},}
\DoxyCodeLine{                               \mbox{\hyperlink{group__Elm__Transit_ggac2c677157d69bfdeba059cd2671108a3a8fac900b18424dd1db2f74c5f14a3b86}{ELM\_TRANSIT\_EFFECT\_WIPE\_DIR\_RIGHT}});}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_transit\_zoom(\mbox{\hyperlink{group__Elm__Transit_gafe0d442717e75c75819e59e0870b2278}{Elm\_Transit}} *trans)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{comment}{/* zoom the object from its original size to 2x */}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga2ebeb4bfcc3032e714e4556a2acf1a39}{elm\_transit\_effect\_zoom\_add}}(trans, 1.0, 2.0);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_transit\_resizing(\mbox{\hyperlink{group__Elm__Transit_gafe0d442717e75c75819e59e0870b2278}{Elm\_Transit}} *trans)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{comment}{/* resize the object from 250x100 to 400x160 */}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_gae09783a44f01a87f6dc752e395f0a4ac}{elm\_transit\_effect\_resizing\_add}}(trans, 250, 100, 400, 160);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{comment}{/* helper structure that will hold the transit checkboxes string, callbacks}}
\DoxyCodeLine{\textcolor{comment}{ * and checked statuses */}}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keyword}{struct }\{}
\DoxyCodeLine{     \textcolor{keyword}{const} \textcolor{keywordtype}{char} *label;}
\DoxyCodeLine{     void (*transition\_add\_cb)(\mbox{\hyperlink{group__Elm__Transit_gafe0d442717e75c75819e59e0870b2278}{Elm\_Transit}} *);}
\DoxyCodeLine{     \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}} checked;}
\DoxyCodeLine{\} \_transitions[] = \{}
\DoxyCodeLine{       \{ \textcolor{stringliteral}{"Translation"}, \_transit\_translation, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}} \},}
\DoxyCodeLine{       \{ \textcolor{stringliteral}{"Color"}, \_transit\_color, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}} \},}
\DoxyCodeLine{       \{ \textcolor{stringliteral}{"Rotation"}, \_transit\_rotation, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}} \},}
\DoxyCodeLine{       \{ \textcolor{stringliteral}{"Wipe"}, \_transit\_wipe, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}} \},}
\DoxyCodeLine{       \{ \textcolor{stringliteral}{"Zoom"}, \_transit\_zoom, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}} \},}
\DoxyCodeLine{       \{ \textcolor{stringliteral}{"Resizing"}, \_transit\_resizing, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}} \},}
\DoxyCodeLine{       \{ NULL, NULL, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}} \}}
\DoxyCodeLine{\};}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{comment}{/* add a checkbox to the box with the given label, and uses the checked}}
\DoxyCodeLine{\textcolor{comment}{ * pointer as state\_pointer to this checkbox */}}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_checkbox\_transition\_add(\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *box, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *label, \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}} *checked)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *check = \mbox{\hyperlink{group__Elm__Check_ga252b43966ad9bbe0634c4619cac1e3e7}{elm\_check\_add}}(\mbox{\hyperlink{group__Elm__WidgetNavigation_ga0b5f83c403948f1418e434f3ed94973f}{elm\_object\_parent\_widget\_get}}(box));}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(check, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_align\_set(check, 0.0, 0.0);}
\DoxyCodeLine{   elm\_object\_text\_set(check, label);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Check_gaca05f511b004338c4d7fb35c8ec0d826}{elm\_check\_state\_pointer\_set}}(check, checked);}
\DoxyCodeLine{   elm\_box\_pack\_end(box, check);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(check);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_transit\_start(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_gafe0d442717e75c75819e59e0870b2278}{Elm\_Transit}} *trans = NULL;}
\DoxyCodeLine{   \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{   \textcolor{keyword}{struct }Context *ctxt = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj = ctxt-\/>obj; \textcolor{comment}{// the object on which the transition will be}}
\DoxyCodeLine{                                 \textcolor{comment}{// applied}}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// FIXME: Should check if there's another transit going before starting a new}}
\DoxyCodeLine{   \textcolor{comment}{// one}}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* initialization: create the transition and add the object to it */}}
\DoxyCodeLine{   trans = \mbox{\hyperlink{group__Elm__Transit_ga814caf6c5377dd6c4078110437400e0a}{elm\_transit\_add}}();}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_gab4e46606ff9cf54591289bffe193c03b}{elm\_transit\_object\_add}}(trans, obj);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* from our helper structure and array, check if the specified transition is}}
\DoxyCodeLine{\textcolor{comment}{    * checked and use its callback to add this transition to trans */}}
\DoxyCodeLine{   \textcolor{keywordflow}{for} (i = 0; \_transitions[i].label; i++)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \textcolor{keywordflow}{if} (\_transitions[i].checked)}
\DoxyCodeLine{          \_transitions[i].transition\_add\_cb(trans);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* get the various options for this transition from the context structure */}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_gaa5a70ab67277c812abb30a6c82c839df}{elm\_transit\_event\_enabled\_set}}(trans, ctxt-\/>events\_enabled);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga4545bec3c6c73737f7ac9c3667c25f95}{elm\_transit\_auto\_reverse\_set}}(trans, ctxt-\/>auto\_reverse);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga467a0a6cacc6aaee93e33f8a964ad944}{elm\_transit\_objects\_final\_state\_keep\_set}}(trans, ctxt-\/>final\_state\_keep);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga14fe8effd24591d0f895d92ab920e72c}{elm\_transit\_tween\_mode\_set}}(trans, ctxt-\/>tween\_mode);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_gaef6936e0f79bd53dea45a0fdc973bb2d}{elm\_transit\_repeat\_times\_set}}(trans, ctxt-\/>repeat\_times);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* set the transition time to 2 seconds and start it */}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga7e853e074b16f9a9473ad2456bee1f8d}{elm\_transit\_duration\_set}}(trans, 2.0);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga5d600d1d615b5136b99a180d256cb147}{elm\_transit\_go}}(trans);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{comment}{/* callback useful just to know whether we can receive events from the}}
\DoxyCodeLine{\textcolor{comment}{ * object or not */}}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_object\_clicked(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"object clicked!\(\backslash\)n"});}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{comment}{/* update our context with the given value for repeat count */}}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_cb\_repeat\_changed(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{keywordtype}{int} *repeat\_cnt = data;}
\DoxyCodeLine{}
\DoxyCodeLine{   *repeat\_cnt = \mbox{\hyperlink{group__Elm__Spinner_ga0f93a325d38ad9a249994a7dc4ea4f1b}{elm\_spinner\_value\_get}}(obj);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{comment}{/* update our context with the given tween mode for the transition */}}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_cb\_tween\_changed(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Transit_ga954ecd9ba6266a18a0bde0e5861ccc53}{Elm\_Transit\_Tween\_Mode}} *mode = data;}
\DoxyCodeLine{   \textcolor{keywordtype}{double} val = 0.0;}
\DoxyCodeLine{}
\DoxyCodeLine{   val = \mbox{\hyperlink{group__Elm__Spinner_ga0f93a325d38ad9a249994a7dc4ea4f1b}{elm\_spinner\_value\_get}}(obj);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (val == 1.0)}
\DoxyCodeLine{     *mode = \mbox{\hyperlink{group__Elm__Transit_gga954ecd9ba6266a18a0bde0e5861ccc53a1432dbd04189a805e0d58c47743e0a1f}{ELM\_TRANSIT\_TWEEN\_MODE\_LINEAR}};}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (val == 2.0)}
\DoxyCodeLine{     *mode = \mbox{\hyperlink{group__Elm__Transit_gga954ecd9ba6266a18a0bde0e5861ccc53a4abaa5d8d371fad5fa9f465eaa0dcfa3}{ELM\_TRANSIT\_TWEEN\_MODE\_SINUSOIDAL}};}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (val == 3.0)}
\DoxyCodeLine{     *mode = \mbox{\hyperlink{group__Elm__Transit_gga954ecd9ba6266a18a0bde0e5861ccc53a5348a80ec60e2e9924b49aae8c6e9dc9}{ELM\_TRANSIT\_TWEEN\_MODE\_DECELERATE}};}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (val == 4.0)}
\DoxyCodeLine{     *mode = \mbox{\hyperlink{group__Elm__Transit_gga954ecd9ba6266a18a0bde0e5861ccc53a799a4fdf2c9e1bfcd6d102b57f22c040}{ELM\_TRANSIT\_TWEEN\_MODE\_ACCELERATE}};}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{EAPI\_MAIN \textcolor{keywordtype}{int}}
\DoxyCodeLine{elm\_main(\textcolor{keywordtype}{int} argc \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{char} **argv \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *win, *obj, *icon, *box, *vbox, *vbox2, *hbox, *btn;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *cbox, *dummy, *spinner;}
\DoxyCodeLine{   \textcolor{keywordtype}{char} buf[PATH\_MAX];}
\DoxyCodeLine{   \textcolor{keywordtype}{int} i;}
\DoxyCodeLine{   \textcolor{keyword}{struct }Context context;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* initialize our context */}}
\DoxyCodeLine{   context.events\_enabled = \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{   context.auto\_reverse = \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{   context.final\_state\_keep = \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{   context.repeat\_times = 0;}
\DoxyCodeLine{   context.tween\_mode = \mbox{\hyperlink{group__Elm__Transit_gga954ecd9ba6266a18a0bde0e5861ccc53a1432dbd04189a805e0d58c47743e0a1f}{ELM\_TRANSIT\_TWEEN\_MODE\_LINEAR}};}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__App_ga0cefb59efb95841232561d67e34d9909}{elm\_app\_info\_set}}(elm\_main, \textcolor{stringliteral}{"elementary"}, \textcolor{stringliteral}{"images/icon\_07.png"});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga7a05f37fd3a019da5e26c5fc91fcd937}{elm\_policy\_set}}(\mbox{\hyperlink{group__Elm__General_ggaa16f3378ecdbf660fa378402e3c5a0a9a02fadb6faada04b19d0fa42c11a8d32a}{ELM\_POLICY\_QUIT}}, \mbox{\hyperlink{group__Elm__General_gga46af37e6ac2c406321060be827117196abbe0962d88ae12afe1a173da881f56cd}{ELM\_POLICY\_QUIT\_LAST\_WINDOW\_CLOSED}});}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* add a window */}}
\DoxyCodeLine{   win = \mbox{\hyperlink{group__Elm__Win_gac75d7752662fab73d6420706ce5be996}{elm\_win\_util\_standard\_add}}(\textcolor{stringliteral}{"transit"}, \textcolor{stringliteral}{"Transit Example"});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Win_ga9a16a2f8c9fd5b6e9203ed9dcb53ea8b}{elm\_win\_autodel\_set}}(win, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* add a vertical box that will hold everything */}}
\DoxyCodeLine{   box = \mbox{\hyperlink{group__Elm__Box_ga3d0998b60ada633bacfa8869a921cfd7}{elm\_box\_add}}(win);}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(box, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Win_ga505d6bd217e5ee01e82b548ec35986eb}{elm\_win\_resize\_object\_add}}(win, box);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(box);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* a dummy background to create some space for the animation */}}
\DoxyCodeLine{   dummy = \mbox{\hyperlink{group__Elm__Bg_gaeec8f79ac62ce0cf607cfe330008a63f}{elm\_bg\_add}}(win);}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(dummy, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   elm\_box\_pack\_end(box, dummy);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(dummy);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* add an object that we are going to play with */}}
\DoxyCodeLine{   \textcolor{comment}{/* this object isn't packed inside the box because we don't want it to have}}
\DoxyCodeLine{\textcolor{comment}{    * its size, position, aspect or anything else controlled by the container */}}
\DoxyCodeLine{   obj = \mbox{\hyperlink{group__Elm__Button_ga0021b9d86d822367035843ed18bc6ea9}{elm\_button\_add}}(win);}
\DoxyCodeLine{   elm\_object\_text\_set(obj, \textcolor{stringliteral}{"Transformed object!"});}
\DoxyCodeLine{   icon = \mbox{\hyperlink{group__Elm__Icon_ga5739728c1209f90422cf65a778a16502}{elm\_icon\_add}}(win);}
\DoxyCodeLine{   snprintf(buf, \textcolor{keyword}{sizeof}(buf), \textcolor{stringliteral}{"\%s/images/icon\_07.png"}, \mbox{\hyperlink{group__Elm__App_ga92a09dbf88cc1ca3eab51c51dea589d0}{elm\_app\_data\_dir\_get}}());}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Image_gad1a96ede5f513042cef3c1dac4572f73}{elm\_image\_file\_set}}(icon, buf, NULL);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_ga0531ec8867c72def7c780601764ca642}{elm\_object\_part\_content\_set}}(obj, \textcolor{stringliteral}{"icon"}, icon);}
\DoxyCodeLine{   evas\_object\_move(obj, 160, 60);}
\DoxyCodeLine{   evas\_object\_resize(obj, 250, 100);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(obj);}
\DoxyCodeLine{   context.obj = obj;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* a callback to know if clicks are being received */}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(obj, \textcolor{stringliteral}{"clicked"}, \_object\_clicked, NULL);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* button to start our transition */}}
\DoxyCodeLine{   btn = \mbox{\hyperlink{group__Elm__Button_ga0021b9d86d822367035843ed18bc6ea9}{elm\_button\_add}}(win);}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(box, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   elm\_object\_text\_set(btn, \textcolor{stringliteral}{"Transit!"});}
\DoxyCodeLine{   elm\_box\_pack\_end(box, btn);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(btn);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(btn, \textcolor{stringliteral}{"clicked"}, \_transit\_start, \&context);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* horizontal box to help visual organization */}}
\DoxyCodeLine{   hbox = \mbox{\hyperlink{group__Elm__Box_ga3d0998b60ada633bacfa8869a921cfd7}{elm\_box\_add}}(win);}
\DoxyCodeLine{   elm\_box\_horizontal\_set(hbox, \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(hbox, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_align\_set(hbox, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}}, 0.0);}
\DoxyCodeLine{   elm\_box\_pack\_end(box, hbox);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(hbox);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* horizontal box that will hold the many transition checkboxes */}}
\DoxyCodeLine{   vbox = \mbox{\hyperlink{group__Elm__Box_ga3d0998b60ada633bacfa8869a921cfd7}{elm\_box\_add}}(win);}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(vbox, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_align\_set(vbox, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}}, 0.0);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* create the respective checkboxes based on our helper structure and}}
\DoxyCodeLine{\textcolor{comment}{    * array */}}
\DoxyCodeLine{   \textcolor{keywordflow}{for} (i = 0; \_transitions[i].label; i++)}
\DoxyCodeLine{     \_checkbox\_transition\_add(vbox, \_transitions[i].label,}
\DoxyCodeLine{                              \&\_transitions[i].checked);}
\DoxyCodeLine{}
\DoxyCodeLine{   elm\_box\_pack\_end(hbox, vbox);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(vbox);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* vertical box that will hold the many transition option checkboxes */}}
\DoxyCodeLine{   vbox2 = \mbox{\hyperlink{group__Elm__Box_ga3d0998b60ada633bacfa8869a921cfd7}{elm\_box\_add}}(win);}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(vbox2, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_align\_set(vbox2, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}}, 0.0);}
\DoxyCodeLine{   elm\_box\_pack\_end(hbox, vbox2);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(vbox2);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* the rest of this code adds widgets to control some of the behavior of}}
\DoxyCodeLine{\textcolor{comment}{    * the transitions */}}
\DoxyCodeLine{   cbox = \mbox{\hyperlink{group__Elm__Check_ga252b43966ad9bbe0634c4619cac1e3e7}{elm\_check\_add}}(win);}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(cbox, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_align\_set(cbox, 0.0, 0.0);}
\DoxyCodeLine{   elm\_object\_text\_set(cbox, \textcolor{stringliteral}{"Events enabled"});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Check_gaca05f511b004338c4d7fb35c8ec0d826}{elm\_check\_state\_pointer\_set}}(cbox, \&context.events\_enabled);}
\DoxyCodeLine{   elm\_box\_pack\_end(vbox2, cbox);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(cbox);}
\DoxyCodeLine{}
\DoxyCodeLine{   cbox = \mbox{\hyperlink{group__Elm__Check_ga252b43966ad9bbe0634c4619cac1e3e7}{elm\_check\_add}}(win);}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(cbox, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_align\_set(cbox, 0.0, 0.0);}
\DoxyCodeLine{   elm\_object\_text\_set(cbox, \textcolor{stringliteral}{"Auto reverse"});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Check_gaca05f511b004338c4d7fb35c8ec0d826}{elm\_check\_state\_pointer\_set}}(cbox, \&context.auto\_reverse);}
\DoxyCodeLine{   elm\_box\_pack\_end(vbox2, cbox);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(cbox);}
\DoxyCodeLine{}
\DoxyCodeLine{   cbox = \mbox{\hyperlink{group__Elm__Check_ga252b43966ad9bbe0634c4619cac1e3e7}{elm\_check\_add}}(win);}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(cbox, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_align\_set(cbox, 0.0, 0.0);}
\DoxyCodeLine{   elm\_object\_text\_set(cbox, \textcolor{stringliteral}{"Keep final state"});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Check_gaca05f511b004338c4d7fb35c8ec0d826}{elm\_check\_state\_pointer\_set}}(cbox, \&context.final\_state\_keep);}
\DoxyCodeLine{   elm\_box\_pack\_end(vbox2, cbox);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(cbox);}
\DoxyCodeLine{}
\DoxyCodeLine{   spinner = \mbox{\hyperlink{group__Elm__Spinner_gac259ed8ba5d597ceb982cc0170c37a63}{elm\_spinner\_add}}(win);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Styles_ga7fc2d1f9ba723470da7a05799c49f7fe}{elm\_object\_style\_set}}(spinner, \textcolor{stringliteral}{"vertical"});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Spinner_gac8893709e98b174504bc86e8413d3a91}{elm\_spinner\_min\_max\_set}}(spinner, 0, 4);}
\DoxyCodeLine{   elm\_spinner\_label\_format\_set(spinner, \textcolor{stringliteral}{"\%.0f"});}
\DoxyCodeLine{   elm\_spinner\_editable\_set(spinner, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(spinner, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_align\_set(spinner, 0.0, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(spinner, \textcolor{stringliteral}{"changed"}, \_cb\_repeat\_changed, \&context.repeat\_times);}
\DoxyCodeLine{   elm\_box\_pack\_end(vbox2, spinner);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(spinner);}
\DoxyCodeLine{}
\DoxyCodeLine{   spinner = \mbox{\hyperlink{group__Elm__Spinner_gac259ed8ba5d597ceb982cc0170c37a63}{elm\_spinner\_add}}(win);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Styles_ga7fc2d1f9ba723470da7a05799c49f7fe}{elm\_object\_style\_set}}(spinner, \textcolor{stringliteral}{"vertical"});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__Spinner_gac8893709e98b174504bc86e8413d3a91}{elm\_spinner\_min\_max\_set}}(spinner, 1, 4);}
\DoxyCodeLine{   elm\_spinner\_label\_format\_set(spinner, \textcolor{stringliteral}{"\%.0f"});}
\DoxyCodeLine{   elm\_spinner\_editable\_set(spinner, \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}});}
\DoxyCodeLine{   elm\_spinner\_special\_value\_add(spinner, 1, \textcolor{stringliteral}{"linear"});}
\DoxyCodeLine{   elm\_spinner\_special\_value\_add(spinner, 2, \textcolor{stringliteral}{"sinusoidal"});}
\DoxyCodeLine{   elm\_spinner\_special\_value\_add(spinner, 3, \textcolor{stringliteral}{"decelerate"});}
\DoxyCodeLine{   elm\_spinner\_special\_value\_add(spinner, 4, \textcolor{stringliteral}{"accelerate"});}
\DoxyCodeLine{   evas\_object\_size\_hint\_weight\_set(spinner, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}}, \mbox{\hyperlink{Evas__Common_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_HINT\_EXPAND}});}
\DoxyCodeLine{   evas\_object\_size\_hint\_align\_set(spinner, 0.0, \mbox{\hyperlink{Evas__Common_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_HINT\_FILL}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_ga18a8b179f94d21b2b09e19db11741061}{evas\_object\_smart\_callback\_add}}(spinner, \textcolor{stringliteral}{"changed"}, \_cb\_tween\_changed, \&context.tween\_mode);}
\DoxyCodeLine{   elm\_box\_pack\_end(vbox2, spinner);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(spinner);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9cbc13661584e49fb9d9cdab514a1eeb}{evas\_object\_show}}(win);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Elm__General_gadf2553f83e6b0b9c7fbe054019a664a1}{elm\_run}}();}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{return} 0;}
\DoxyCodeLine{\}}
\DoxyCodeLine{\mbox{\hyperlink{group__Elm__General_ga50fe52d513f7e89c9c770afd76de7ad9}{ELM\_MAIN}}()}
\end{DoxyCodeInclude}
 