\hypertarget{emotion_test_main_8c-example}{}\doxysection{emotion\+\_\+test\+\_\+main.\+c}
This example covers the entire emotion API.

This example covers the entire emotion API. Use it as a reference.


\begin{DoxyCodeInclude}{0}
\DoxyCodeLine{\textcolor{preprocessor}{\#ifdef HAVE\_CONFIG\_H}}
\DoxyCodeLine{\textcolor{preprocessor}{\# include "{}config.h"{}}}
\DoxyCodeLine{\textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <stdlib.h>}}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <stdio.h>}}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <string.h>}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <Evas.h>}}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <Ecore.h>}}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <Ecore\_Getopt.h>}}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <\mbox{\hyperlink{Ecore__Evas_8h}{Ecore\_Evas.h}}>}}
\DoxyCodeLine{\textcolor{preprocessor}{\#include <\mbox{\hyperlink{Edje_8h}{Edje.h}}>}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{preprocessor}{\#include "{}\mbox{\hyperlink{Emotion_8h}{Emotion.h}}"{}}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keyword}{const} \mbox{\hyperlink{struct__Ecore__Getopt}{Ecore\_Getopt}} options = \{}
\DoxyCodeLine{   \textcolor{stringliteral}{"{}emotion\_test"{}},}
\DoxyCodeLine{   \textcolor{stringliteral}{"{}\%prog [options] <filename>"{}},}
\DoxyCodeLine{   \textcolor{stringliteral}{"{}1.0.0"{}},}
\DoxyCodeLine{   \textcolor{stringliteral}{"{}(C) 2011-\/2014 Enlightenment"{}},}
\DoxyCodeLine{   \textcolor{stringliteral}{"{}BSD\(\backslash\)nThis is a 3 clause bsd bla bla"{}},}
\DoxyCodeLine{   \textcolor{stringliteral}{"{}a simple test program for emotion."{}},}
\DoxyCodeLine{   1,}
\DoxyCodeLine{   \{}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gae6b958516c8e20f7488bac102c4309a9}{ECORE\_GETOPT\_STORE\_STR}}(\textcolor{charliteral}{'e'}, \textcolor{stringliteral}{"{}engine"{}}, \textcolor{stringliteral}{"{}ecore-\/evas engine to use"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gadc1fad6e078a72fd1472f9ab80440c2d}{ECORE\_GETOPT\_CALLBACK\_NOARGS}}(\textcolor{charliteral}{'E'}, \textcolor{stringliteral}{"{}list-\/engines"{}}, \textcolor{stringliteral}{"{}list ecore-\/evas engines"{}},}
\DoxyCodeLine{                                   \mbox{\hyperlink{group__Ecore__Evas__Group_ga8d142dccd13cac757bacdc939474ea6b}{ecore\_getopt\_callback\_ecore\_evas\_list\_engines}}, NULL),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga747ab499cba93679b276c8fb711eba37}{ECORE\_GETOPT\_CALLBACK\_ARGS}}(\textcolor{charliteral}{'g'}, \textcolor{stringliteral}{"{}geometry"{}}, \textcolor{stringliteral}{"{}geometry to use in x:y:w:h form."{}}, \textcolor{stringliteral}{"{}X:Y:W:H"{}},}
\DoxyCodeLine{                                 \mbox{\hyperlink{group__Ecore__Getopt__Group_ga404418f907a4babc7d8d47e3a91f5020}{ecore\_getopt\_callback\_geometry\_parse}}, NULL),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gae6b958516c8e20f7488bac102c4309a9}{ECORE\_GETOPT\_STORE\_STR}}(\textcolor{charliteral}{'b'}, \textcolor{stringliteral}{"{}backend"{}}, \textcolor{stringliteral}{"{}backend to use"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gae2ee4724bff2a0cf9acdbdbb74351745}{ECORE\_GETOPT\_STORE\_INT}}(\textcolor{charliteral}{'v'}, \textcolor{stringliteral}{"{}vis"{}}, \textcolor{stringliteral}{"{}visualization type"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gad2ae11581fad6e818ed8bfe1a31d5635}{ECORE\_GETOPT\_STORE\_TRUE}}(\textcolor{charliteral}{'w'}, \textcolor{stringliteral}{"{}webcams"{}}, \textcolor{stringliteral}{"{}show all the available v4l streams"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gad2ae11581fad6e818ed8bfe1a31d5635}{ECORE\_GETOPT\_STORE\_TRUE}}(\textcolor{charliteral}{'r'}, \textcolor{stringliteral}{"{}reflex"{}}, \textcolor{stringliteral}{"{}show video reflex effect"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gad2ae11581fad6e818ed8bfe1a31d5635}{ECORE\_GETOPT\_STORE\_TRUE}}(\textcolor{charliteral}{'l'}, \textcolor{stringliteral}{"{}loop"{}}, \textcolor{stringliteral}{"{}restart the video when end reached"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gad2ae11581fad6e818ed8bfe1a31d5635}{ECORE\_GETOPT\_STORE\_TRUE}}(\textcolor{charliteral}{'p'}, \textcolor{stringliteral}{"{}position"{}}, \textcolor{stringliteral}{"{}start the video from last know position"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga87a9d063b60f7c0bd79ab3fa16bb6313}{ECORE\_GETOPT\_VERSION}}(\textcolor{charliteral}{'V'}, \textcolor{stringliteral}{"{}version"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gac2fdfddf0778a319aafb547b04bc93b6}{ECORE\_GETOPT\_COPYRIGHT}}(\textcolor{charliteral}{'R'}, \textcolor{stringliteral}{"{}copyright"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga5a0382c58582308ff65d51c14dc1b36f}{ECORE\_GETOPT\_LICENSE}}(\textcolor{charliteral}{'L'}, \textcolor{stringliteral}{"{}license"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gad7e09a56d2881f22d69dff005e38b67d}{ECORE\_GETOPT\_HELP}}(\textcolor{charliteral}{'h'}, \textcolor{stringliteral}{"{}help"{}}),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_gaf652ac6007cd9674df603fa3dacc59e0}{ECORE\_GETOPT\_SENTINEL}}}
\DoxyCodeLine{   \}}
\DoxyCodeLine{\};}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{typedef} \textcolor{keyword}{struct }\_Frame\_Data Frame\_Data;}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{struct }\_Frame\_Data}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} moving : 1;}
\DoxyCodeLine{   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} resizing : 1;}
\DoxyCodeLine{   \textcolor{keywordtype}{int}        button;}
\DoxyCodeLine{   \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} x, y;}
\DoxyCodeLine{\};}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void} main\_resize(Ecore\_Evas *ee);}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}  main\_signal\_exit(\textcolor{keywordtype}{void} *data, \textcolor{keywordtype}{int} ev\_type, \textcolor{keywordtype}{void} *ev);}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void} main\_delete\_request(Ecore\_Evas *ee);}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void} bg\_setup(\textcolor{keywordtype}{void});}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void} bg\_resize(\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} w, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} h);}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void} bg\_key\_down(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} * e, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} * obj, \textcolor{keywordtype}{void} *event\_info);}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o\_bg = NULL;}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} Ecore\_Evas  *ecore\_evas = NULL;}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}}        *evas       = NULL;}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{int}          startw     = 800;}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{int}          starth     = 600;}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{struct__Eina__List}{Eina\_List}}   *video\_objs = NULL;}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{Emotion_8h_a1a86638632ff8da4265d7dc4fbf410cb}{Emotion\_Vis}}  vis        = \mbox{\hyperlink{Emotion_8h_ga76e28adb488323ae8a57eafe1bf8141caee942284d51ca5ad123703ab7a71dd9d}{EMOTION\_VIS\_NONE}};}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} reflex    = 0;}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} loop      = 0;}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} last\_position\_load  = 0;}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keywordtype}{char}  *theme\_file = NULL;}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{main\_resize(Ecore\_Evas *ee)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} w, h;}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Canvas_ga34c8c0e0205eba51970bb43084905cfa}{evas\_output\_viewport\_get}}(\mbox{\hyperlink{group__Ecore__Evas__Group_ga6f8d214cd55bc940d7cc62fecd8dbc06}{ecore\_evas\_get}}(ee), NULL, NULL, \&w, \&h);}
\DoxyCodeLine{   bg\_resize(w, h);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}}
\DoxyCodeLine{main\_signal\_exit(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{int} ev\_type \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *ev \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o;}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Main__Loop__Group_ga95cf8e97dff0716433c2c5474d606a98}{ecore\_main\_loop\_quit}}();}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__List__Group_gae27a2c686a0a11693f9b06957c9bba83}{EINA\_LIST\_FREE}}(video\_objs, o)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Emotion__Info_gaa170079b852800ba5bd822d77267386e}{emotion\_object\_last\_position\_save}}(o);}
\DoxyCodeLine{        \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9217cf1d90690dbd1960db155d1c7476}{evas\_object\_del}}(o);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{return} \mbox{\hyperlink{group__Eina__Types__Group_ga05c12dacc8b4058994df842b41be85fc}{EINA\_TRUE}};}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{main\_delete\_request(Ecore\_Evas *ee \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Main__Loop__Group_ga95cf8e97dff0716433c2c5474d606a98}{ecore\_main\_loop\_quit}}();}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keywordtype}{void}}
\DoxyCodeLine{bg\_setup(\textcolor{keywordtype}{void})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o;}
\DoxyCodeLine{}
\DoxyCodeLine{   o = \mbox{\hyperlink{group__Edje__Object__Group_ga5548cef32568746f40df9bd0be339bea}{edje\_object\_add}}(evas);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gaec1edd24b5bd8e82823759a8dddc1996}{edje\_object\_file\_set}}(o, theme\_file, \textcolor{stringliteral}{"{}background"{}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga335c8ee6eaeaac9710656af4f8b0db91}{evas\_object\_move}}(o, 0, 0);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_gacad94595f83580c18908cb3b69b08d1a}{evas\_object\_resize}}(o, startw, starth);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga6f4b41c65c99eb5d53e207439eeffd76}{evas\_object\_layer\_set}}(o, -\/999);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga07208fcafd4739de606bc35fff684bf5}{evas\_object\_show}}(o);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_gac6d65f8896ab59780553676d0017c2ef}{evas\_object\_focus\_set}}(o, 1);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Events_gac71a1038dad71da36f57b70c8ad10252}{evas\_object\_event\_callback\_add}}(o, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968a336b86bad4f145f84c155e4922335584}{EVAS\_CALLBACK\_KEY\_DOWN}}, bg\_key\_down, NULL);}
\DoxyCodeLine{   o\_bg = o;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keywordtype}{void}}
\DoxyCodeLine{bg\_resize(\mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} w, \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} h)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_gacad94595f83580c18908cb3b69b08d1a}{evas\_object\_resize}}(o\_bg, w, h);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{broadcast\_event(Emotion\_Event ev)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{struct__Eina__List}{Eina\_List}} *l;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj;}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(video\_objs, l, obj)}
\DoxyCodeLine{     \mbox{\hyperlink{group__Emotion__API_gaeb6a91b261a4633c690c77afcbdd7761}{emotion\_object\_event\_simple\_send}}(obj, ev);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{bg\_key\_down(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} *e \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keywordtype}{void} *event\_info)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{struct__Evas__Event__Key__Down}{Evas\_Event\_Key\_Down}} *ev = event\_info;}
\DoxyCodeLine{   \mbox{\hyperlink{struct__Eina__List}{Eina\_List}} *l;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if}      (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}Escape"{}}))}
\DoxyCodeLine{     \mbox{\hyperlink{group__Ecore__Main__Loop__Group_ga95cf8e97dff0716433c2c5474d606a98}{ecore\_main\_loop\_quit}}();}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}Up"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_UP);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}Down"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_DOWN);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}Left"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_LEFT);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}Right"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_RIGHT);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}Return"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_SELECT);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}m"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_MENU1);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}Prior"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_PREV);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}Next"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_NEXT);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}0"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_0);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}1"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_1);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}2"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_2);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}3"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_3);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}4"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_4);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}5"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_5);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}6"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_6);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}7"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_7);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}8"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_8);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}9"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_9);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}-\/"{}}))}
\DoxyCodeLine{     broadcast\_event(EMOTION\_EVENT\_10);}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}v"{}}))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(video\_objs, l, o)}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             \textcolor{keywordflow}{if} (\mbox{\hyperlink{group__Emotion__Video_gab143b5a11ddf04806fc089afd1336e2c}{emotion\_object\_video\_mute\_get}}(o))}
\DoxyCodeLine{               \mbox{\hyperlink{group__Emotion__Video_ga36753f32fa59baf864b42abae0f10616}{emotion\_object\_video\_mute\_set}}(o, 0);}
\DoxyCodeLine{             \textcolor{keywordflow}{else}}
\DoxyCodeLine{               \mbox{\hyperlink{group__Emotion__Video_ga36753f32fa59baf864b42abae0f10616}{emotion\_object\_video\_mute\_set}}(o, 1);}
\DoxyCodeLine{          \}}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}a"{}}))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(video\_objs, l, o)}
\DoxyCodeLine{          \{}
\DoxyCodeLine{            \textcolor{keywordflow}{if} (\mbox{\hyperlink{group__Emotion__Audio_gac04da50b2b6de2929919f1792bf151dd}{emotion\_object\_audio\_mute\_get}}(o))}
\DoxyCodeLine{              \{}
\DoxyCodeLine{                 \mbox{\hyperlink{group__Emotion__Audio_ga6b7c81b19145156977540d31e040758d}{emotion\_object\_audio\_mute\_set}}(o, 0);}
\DoxyCodeLine{                 printf(\textcolor{stringliteral}{"{}unmute\(\backslash\)n"{}});}
\DoxyCodeLine{              \}}
\DoxyCodeLine{            \textcolor{keywordflow}{else}}
\DoxyCodeLine{              \{}
\DoxyCodeLine{                 \mbox{\hyperlink{group__Emotion__Audio_ga6b7c81b19145156977540d31e040758d}{emotion\_object\_audio\_mute\_set}}(o, 1);}
\DoxyCodeLine{                 printf(\textcolor{stringliteral}{"{}mute\(\backslash\)n"{}});}
\DoxyCodeLine{              \}}
\DoxyCodeLine{          \}}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}i"{}}))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(video\_objs, l, o)}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             printf(\textcolor{stringliteral}{"{}audio channels: \%i\(\backslash\)n"{}}, emotion\_object\_audio\_channel\_count(o));}
\DoxyCodeLine{             printf(\textcolor{stringliteral}{"{}video channels: \%i\(\backslash\)n"{}}, \mbox{\hyperlink{group__Emotion__Video_ga546ab50af17f2fd620fb14a4827b066e}{emotion\_object\_video\_channel\_count}}(o));}
\DoxyCodeLine{             printf(\textcolor{stringliteral}{"{}spu channels: \%i\(\backslash\)n"{}}, emotion\_object\_spu\_channel\_count(o));}
\DoxyCodeLine{             printf(\textcolor{stringliteral}{"{}seekable: \%i\(\backslash\)n"{}}, \mbox{\hyperlink{group__Emotion__Play_gae83146066bfc2eb13066571fad3e1fdd}{emotion\_object\_seekable\_get}}(o));}
\DoxyCodeLine{          \}}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}f"{}}))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{       \textcolor{keywordflow}{if} (!\mbox{\hyperlink{group__Ecore__Evas__Group_gabc1e1a100feaf2aea18670a44ece08e4}{ecore\_evas\_fullscreen\_get}}(ecore\_evas))}
\DoxyCodeLine{         \mbox{\hyperlink{group__Ecore__Evas__Group_ga6486facb82cd19cab0d775c25fb0f4e1}{ecore\_evas\_fullscreen\_set}}(ecore\_evas, 1);}
\DoxyCodeLine{       \textcolor{keywordflow}{else}}
\DoxyCodeLine{         \mbox{\hyperlink{group__Ecore__Evas__Group_ga6486facb82cd19cab0d775c25fb0f4e1}{ecore\_evas\_fullscreen\_set}}(ecore\_evas, 0);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}d"{}}))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \textcolor{keywordflow}{if} (!\mbox{\hyperlink{group__Ecore__Evas__Group_ga52ab258bbe625e69dac7d07ca306fe1d}{ecore\_evas\_avoid\_damage\_get}}(ecore\_evas))}
\DoxyCodeLine{          \mbox{\hyperlink{group__Ecore__Evas__Group_ga26eee540e9a62d917f9f5ce5e0a0bf5a}{ecore\_evas\_avoid\_damage\_set}}(ecore\_evas, 1);}
\DoxyCodeLine{        \textcolor{keywordflow}{else}}
\DoxyCodeLine{          \mbox{\hyperlink{group__Ecore__Evas__Group_ga26eee540e9a62d917f9f5ce5e0a0bf5a}{ecore\_evas\_avoid\_damage\_set}}(ecore\_evas, 0);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}s"{}}))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \textcolor{keywordflow}{if} (!\mbox{\hyperlink{group__Ecore__Evas__Group_ga0aa24dba4f09abfcb516dd02a7df4ddc}{ecore\_evas\_shaped\_get}}(ecore\_evas))}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             \mbox{\hyperlink{group__Ecore__Evas__Group_ga7fbad368dc0ac554ba8bfa0f76436491}{ecore\_evas\_shaped\_set}}(ecore\_evas, 1);}
\DoxyCodeLine{             \mbox{\hyperlink{group__Evas__Object__Group__Basic_gae66f71e09a0dc71675f15ebff6765c64}{evas\_object\_hide}}(o\_bg);}
\DoxyCodeLine{          \}}
\DoxyCodeLine{        \textcolor{keywordflow}{else}}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             \mbox{\hyperlink{group__Ecore__Evas__Group_ga7fbad368dc0ac554ba8bfa0f76436491}{ecore\_evas\_shaped\_set}}(ecore\_evas, 0);}
\DoxyCodeLine{             \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga07208fcafd4739de606bc35fff684bf5}{evas\_object\_show}}(o\_bg);}
\DoxyCodeLine{          \}}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}b"{}}))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \textcolor{keywordflow}{if} (!\mbox{\hyperlink{group__Ecore__Evas__Group_ga68b1405d2f3484f72c2140771f41e66c}{ecore\_evas\_borderless\_get}}(ecore\_evas))}
\DoxyCodeLine{          \mbox{\hyperlink{group__Ecore__Evas__Group_gac7565fa43179634ecb869ba770226a03}{ecore\_evas\_borderless\_set}}(ecore\_evas, 1);}
\DoxyCodeLine{        \textcolor{keywordflow}{else}}
\DoxyCodeLine{          \mbox{\hyperlink{group__Ecore__Evas__Group_gac7565fa43179634ecb869ba770226a03}{ecore\_evas\_borderless\_set}}(ecore\_evas, 0);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}q"{}}))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Ecore__Main__Loop__Group_ga95cf8e97dff0716433c2c5474d606a98}{ecore\_main\_loop\_quit}}();}
\DoxyCodeLine{        \textcolor{keywordflow}{while} (video\_objs)}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             printf(\textcolor{stringliteral}{"{}del obj!\(\backslash\)n"{}});}
\DoxyCodeLine{             \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga9217cf1d90690dbd1960db155d1c7476}{evas\_object\_del}}(video\_objs-\/>\mbox{\hyperlink{struct__Eina__List_a043e22d601d3a0504f30255a43a25e7a}{data}});}
\DoxyCodeLine{             video\_objs = \mbox{\hyperlink{group__Eina__List__Group_gaf86ee0fd9fe0643ece301fc86f04e720}{eina\_list\_remove\_list}}(video\_objs, video\_objs);}
\DoxyCodeLine{             printf(\textcolor{stringliteral}{"{}done\(\backslash\)n"{}});}
\DoxyCodeLine{          \}}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (!strcmp(ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}}, \textcolor{stringliteral}{"{}z"{}}))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        vis = (vis + 1) \% EMOTION\_VIS\_LAST;}
\DoxyCodeLine{        printf(\textcolor{stringliteral}{"{}new visualization: \%d\(\backslash\)n"{}}, vis);}
\DoxyCodeLine{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(video\_objs, l, o)}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}} supported;}
\DoxyCodeLine{}
\DoxyCodeLine{             supported = \mbox{\hyperlink{group__Emotion__Visualization_ga0ee9a7c9ea7c4c9ae2bb708391dfbb38}{emotion\_object\_vis\_supported}}(o, vis);}
\DoxyCodeLine{             \textcolor{keywordflow}{if} (supported)}
\DoxyCodeLine{               \mbox{\hyperlink{group__Emotion__Visualization_gaf00a8347f3d436f2d071fee696bfaca0}{emotion\_object\_vis\_set}}(o, vis);}
\DoxyCodeLine{             \textcolor{keywordflow}{else}}
\DoxyCodeLine{               \{}
\DoxyCodeLine{                  \textcolor{keyword}{const} \textcolor{keywordtype}{char} *file;}
\DoxyCodeLine{}
\DoxyCodeLine{                  file = \mbox{\hyperlink{group__Emotion__Init_gab1fff521e413af0613372c9ff11ed268}{emotion\_object\_file\_get}}(o);}
\DoxyCodeLine{                  printf(\textcolor{stringliteral}{"{}object \%p (\%s) does not support visualization \%d\(\backslash\)n"{}},}
\DoxyCodeLine{                  o, file, vis);}
\DoxyCodeLine{               \}}
\DoxyCodeLine{          \}}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else}}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        printf(\textcolor{stringliteral}{"{}UNHANDLED: \%s\(\backslash\)n"{}}, ev-\/>\mbox{\hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}});}
\DoxyCodeLine{     \}}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{\_oe\_free\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}} *e \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}},}
\DoxyCodeLine{            \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   free(data);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_time\_changed(\mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *edje)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{keywordtype}{double} pos, len, scale;}
\DoxyCodeLine{   \textcolor{keywordtype}{char} buf[256];}
\DoxyCodeLine{   \textcolor{keywordtype}{int} ph, pm, ps, pf, lh, lm, ls;}
\DoxyCodeLine{}
\DoxyCodeLine{   pos = \mbox{\hyperlink{group__Emotion__Play_ga9beedba3ec525744c059d584c9bb1ddd}{emotion\_object\_position\_get}}(obj);}
\DoxyCodeLine{   len = \mbox{\hyperlink{group__Emotion__Play_ga9b082b70fd1fba55a5fb0d9d72859888}{emotion\_object\_play\_length\_get}}(obj);}
\DoxyCodeLine{   scale = (len > 0.0) ? pos / len : 0.0;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Part__Drag_ga723989052928c090213c79569cb04177}{edje\_object\_part\_drag\_value\_set}}(edje, \textcolor{stringliteral}{"{}video\_progress"{}}, scale, 0.0);}
\DoxyCodeLine{}
\DoxyCodeLine{   lh = len / 3600;}
\DoxyCodeLine{   lm = len / 60 -\/ (lh * 60);}
\DoxyCodeLine{   ls = len -\/ (lh * 3600) -\/ (lm * 60);}
\DoxyCodeLine{}
\DoxyCodeLine{   ph = pos / 3600;}
\DoxyCodeLine{   pm = pos / 60 -\/ (ph * 60);}
\DoxyCodeLine{   ps = pos -\/ (ph * 3600) -\/ (pm * 60);}
\DoxyCodeLine{}
\DoxyCodeLine{   pf = pos * 100 -\/ (ps * 100) -\/ (pm * 60 * 100) -\/ (ph * 60 * 60 * 100);}
\DoxyCodeLine{}
\DoxyCodeLine{   snprintf(buf, \textcolor{keyword}{sizeof}(buf), \textcolor{stringliteral}{"{}\%i:\%02i:\%02i.\%02i / \%i:\%02i:\%02i"{}},}
\DoxyCodeLine{            ph, pm, ps, pf, lh, lm, ls);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Part_gafd2241781aedc44a0f4cdc63bb029784}{edje\_object\_part\_text\_set}}(edje, \textcolor{stringliteral}{"{}video\_progress\_txt"{}}, buf);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_frame\_decode\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   video\_obj\_time\_changed(obj, data);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (0)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \textcolor{keywordtype}{double} t;}
\DoxyCodeLine{        \textcolor{keyword}{static} \textcolor{keywordtype}{double} pt = 0.0;}
\DoxyCodeLine{        t = \mbox{\hyperlink{group__Ecore__Time__Group_ga98f2439b5d3e7114a75bfe2f0c22c4e9}{ecore\_time\_get}}();}
\DoxyCodeLine{        printf(\textcolor{stringliteral}{"{}FPS: \%3.3f\(\backslash\)n"{}}, 1.0 / (t -\/ pt));}
\DoxyCodeLine{        pt = t;}
\DoxyCodeLine{     \}}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_frame\_resize\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *oe;}
\DoxyCodeLine{   \textcolor{keywordtype}{int} iw, ih;}
\DoxyCodeLine{   \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} w, h;}
\DoxyCodeLine{   \textcolor{keywordtype}{double} ratio;}
\DoxyCodeLine{}
\DoxyCodeLine{   oe = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Video_gae454b8c2d733de79da8013d64b7a2384}{emotion\_object\_size\_get}}(obj, \&iw, \&ih);}
\DoxyCodeLine{   ratio = \mbox{\hyperlink{group__Emotion__Video_gaf1bc96bcdbba85bdf19e9b960c9e9f6c}{emotion\_object\_ratio\_get}}(obj);}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}HANDLE \%ix\%i @ \%3.3f\(\backslash\)n"{}}, iw, ih, ratio);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (ratio > 0.0) iw = (ih * ratio) + 0.5;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_gaf20fdb7dc524a95091d72d24cf6a05e8}{evas\_object\_size\_hint\_min\_set}}(obj, iw, ih);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Part_ga97d1419f89bff20ba971e47c78641271}{edje\_object\_part\_swallow}}(oe, \textcolor{stringliteral}{"{}video\_swallow"{}}, obj);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gae8dc1397ff94126f3083280a0400cfbc}{edje\_object\_size\_min\_calc}}(oe, \&w, \&h);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_gacad94595f83580c18908cb3b69b08d1a}{evas\_object\_resize}}(oe, w, h);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_gaf20fdb7dc524a95091d72d24cf6a05e8}{evas\_object\_size\_hint\_min\_set}}(obj, 0, 0);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Part_ga97d1419f89bff20ba971e47c78641271}{edje\_object\_part\_swallow}}(oe, \textcolor{stringliteral}{"{}video\_swallow"{}}, obj);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_length\_change\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}len change!\(\backslash\)n"{}});}
\DoxyCodeLine{   video\_obj\_time\_changed(obj, data);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_position\_update\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}pos up!\(\backslash\)n"{}});}
\DoxyCodeLine{   video\_obj\_time\_changed(obj, data);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_stopped\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}video stopped!!!\(\backslash\)n"{}});}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (loop)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Emotion__Play_ga70ec123dfb6de21b6184ad1c3d4afbcd}{emotion\_object\_position\_set}}(obj, 0.0);}
\DoxyCodeLine{        \mbox{\hyperlink{group__Emotion__Play_ga63c5faf9e23046ccb292027df2486cbb}{emotion\_object\_play\_set}}(obj, 1);}
\DoxyCodeLine{     \}}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_channels\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}channels changed: [AUD \%i][VID \%i][SPU \%i]\(\backslash\)n"{}},}
\DoxyCodeLine{          emotion\_object\_audio\_channel\_count(obj),}
\DoxyCodeLine{          \mbox{\hyperlink{group__Emotion__Video_ga546ab50af17f2fd620fb14a4827b066e}{emotion\_object\_video\_channel\_count}}(obj),}
\DoxyCodeLine{          emotion\_object\_spu\_channel\_count(obj));}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_title\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}video title to: \(\backslash\)"{}\%s\(\backslash\)"{}\(\backslash\)n"{}}, \mbox{\hyperlink{group__Emotion__Info_ga90ad5c2876017932a23190baac63ce54}{emotion\_object\_title\_get}}(obj));}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_progress\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}progress: \(\backslash\)"{}\%s\(\backslash\)"{} \%3.3f\(\backslash\)n"{}},}
\DoxyCodeLine{          \mbox{\hyperlink{group__Emotion__Play_ga2d1a393d1231baad40950f6ee1adbfa4}{emotion\_object\_progress\_info\_get}}(obj),}
\DoxyCodeLine{          \mbox{\hyperlink{group__Emotion__Play_ga1a291bce40fe64757116df62b4c78283}{emotion\_object\_progress\_status\_get}}(obj));}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_ref\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}video ref to: \(\backslash\)"{}\%s\(\backslash\)"{} \%i\(\backslash\)n"{}},}
\DoxyCodeLine{          emotion\_object\_ref\_file\_get(obj),}
\DoxyCodeLine{          emotion\_object\_ref\_num\_get(obj));}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_button\_num\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}video spu buttons to: \%i\(\backslash\)n"{}},}
\DoxyCodeLine{          emotion\_object\_spu\_button\_count\_get(obj));}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_button\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *obj, \textcolor{keywordtype}{void} *event\_info \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}video selected spu button: \%i\(\backslash\)n"{}},}
\DoxyCodeLine{          emotion\_object\_spu\_button\_get(obj));}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_play\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ov = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Play_ga63c5faf9e23046ccb292027df2486cbb}{emotion\_object\_play\_set}}(ov, 1);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_ga2a6422befdfb9c9757414122ff23cb8e}{edje\_object\_signal\_emit}}(o, \textcolor{stringliteral}{"{}video\_state"{}}, \textcolor{stringliteral}{"{}play"{}});}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_pause\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ov = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Play_ga63c5faf9e23046ccb292027df2486cbb}{emotion\_object\_play\_set}}(ov, 0);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_ga2a6422befdfb9c9757414122ff23cb8e}{edje\_object\_signal\_emit}}(o, \textcolor{stringliteral}{"{}video\_state"{}}, \textcolor{stringliteral}{"{}pause"{}});}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_stop\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ov = data;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Play_ga63c5faf9e23046ccb292027df2486cbb}{emotion\_object\_play\_set}}(ov, 0);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Play_ga70ec123dfb6de21b6184ad1c3d4afbcd}{emotion\_object\_position\_set}}(ov, 0);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_ga2a6422befdfb9c9757414122ff23cb8e}{edje\_object\_signal\_emit}}(o, \textcolor{stringliteral}{"{}video\_state"{}}, \textcolor{stringliteral}{"{}stop"{}});}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_jump\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ov = data;}
\DoxyCodeLine{   \textcolor{keywordtype}{double} len;}
\DoxyCodeLine{   \textcolor{keywordtype}{double} x, y;}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Part__Drag_gacfa53c87deef43bee116cbc86d25b5eb}{edje\_object\_part\_drag\_value\_get}}(o, source, \&x, \&y);}
\DoxyCodeLine{   len = \mbox{\hyperlink{group__Emotion__Play_ga9b082b70fd1fba55a5fb0d9d72859888}{emotion\_object\_play\_length\_get}}(ov);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Play_ga70ec123dfb6de21b6184ad1c3d4afbcd}{emotion\_object\_position\_set}}(ov, x * len);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_alpha\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ov = data;}
\DoxyCodeLine{   \textcolor{keywordtype}{double} alpha;}
\DoxyCodeLine{   \textcolor{keywordtype}{double} x, y;}
\DoxyCodeLine{   \textcolor{keywordtype}{char} buf[256];}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Part__Drag_gacfa53c87deef43bee116cbc86d25b5eb}{edje\_object\_part\_drag\_value\_get}}(o, source, \&x, \&y);}
\DoxyCodeLine{   alpha = 255 * y;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_gab751e9d24c16e74af6f7c08ea5b930c2}{evas\_object\_color\_set}}(ov, alpha, alpha, alpha, alpha);}
\DoxyCodeLine{   snprintf(buf, \textcolor{keyword}{sizeof}(buf), \textcolor{stringliteral}{"{}alpha \%.0f"{}}, alpha);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Part_gafd2241781aedc44a0f4cdc63bb029784}{edje\_object\_part\_text\_set}}(o, \textcolor{stringliteral}{"{}video\_alpha\_txt"{}}, buf);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_vol\_cb(\textcolor{keywordtype}{void} *data, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *ov = data;}
\DoxyCodeLine{   \textcolor{keywordtype}{double} vol;}
\DoxyCodeLine{   \textcolor{keywordtype}{char} buf[256];}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Part__Drag_gacfa53c87deef43bee116cbc86d25b5eb}{edje\_object\_part\_drag\_value\_get}}(o, source, NULL, \&vol);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Audio_gafbe5c4943539f93c78bbc7adcc139572}{emotion\_object\_audio\_volume\_set}}(ov, vol);}
\DoxyCodeLine{   snprintf(buf, \textcolor{keyword}{sizeof}(buf), \textcolor{stringliteral}{"{}vol \%.2f"{}}, vol);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Part_gafd2241781aedc44a0f4cdc63bb029784}{edje\_object\_part\_text\_set}}(o, \textcolor{stringliteral}{"{}video\_volume\_txt"{}}, buf);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_frame\_move\_start\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   Frame\_Data *fd;}
\DoxyCodeLine{   \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} x, y;}
\DoxyCodeLine{}
\DoxyCodeLine{   fd = \mbox{\hyperlink{group__Evas__Object__Group__Extras_ga3b85d805f879e71beed360650dda697b}{evas\_object\_data\_get}}(o, \textcolor{stringliteral}{"{}frame\_data"{}});}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!fd) \textcolor{keywordflow}{return};}
\DoxyCodeLine{   fd-\/>moving = 1;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Canvas_ga78be2fedcc19c00c61ad8df95f2496f8}{evas\_pointer\_canvas\_xy\_get}}(\mbox{\hyperlink{group__Evas__Object__Group_ga7e211219d11abced5f3089362f7476b9}{evas\_object\_evas\_get}}(o), \&x, \&y);}
\DoxyCodeLine{   fd-\/>x = x;}
\DoxyCodeLine{   fd-\/>y = y;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga4327cbfab244f0bb1cf8354c8b6c160d}{evas\_object\_raise}}(o);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_frame\_move\_stop\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   Frame\_Data *fd;}
\DoxyCodeLine{}
\DoxyCodeLine{   fd = \mbox{\hyperlink{group__Evas__Object__Group__Extras_ga3b85d805f879e71beed360650dda697b}{evas\_object\_data\_get}}(o, \textcolor{stringliteral}{"{}frame\_data"{}});}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!fd) \textcolor{keywordflow}{return};}
\DoxyCodeLine{   fd-\/>moving = 0;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_frame\_resize\_start\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   Frame\_Data *fd;}
\DoxyCodeLine{   \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} x, y;}
\DoxyCodeLine{}
\DoxyCodeLine{   fd = \mbox{\hyperlink{group__Evas__Object__Group__Extras_ga3b85d805f879e71beed360650dda697b}{evas\_object\_data\_get}}(o, \textcolor{stringliteral}{"{}frame\_data"{}});}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!fd) \textcolor{keywordflow}{return};}
\DoxyCodeLine{   fd-\/>resizing = 1;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Canvas_ga78be2fedcc19c00c61ad8df95f2496f8}{evas\_pointer\_canvas\_xy\_get}}(\mbox{\hyperlink{group__Evas__Object__Group_ga7e211219d11abced5f3089362f7476b9}{evas\_object\_evas\_get}}(o), \&x, \&y);}
\DoxyCodeLine{   fd-\/>x = x;}
\DoxyCodeLine{   fd-\/>y = y;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga4327cbfab244f0bb1cf8354c8b6c160d}{evas\_object\_raise}}(o);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_frame\_resize\_stop\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   Frame\_Data *fd;}
\DoxyCodeLine{}
\DoxyCodeLine{   fd = \mbox{\hyperlink{group__Evas__Object__Group__Extras_ga3b85d805f879e71beed360650dda697b}{evas\_object\_data\_get}}(o, \textcolor{stringliteral}{"{}frame\_data"{}});}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!fd) \textcolor{keywordflow}{return};}
\DoxyCodeLine{   fd-\/>resizing = 0;}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{video\_obj\_signal\_frame\_move\_cb(\textcolor{keywordtype}{void} *data \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *emission \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}}, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *source \mbox{\hyperlink{group__Eina__Types__Group_ga82d751be730f849719ca292f9558be87}{EINA\_UNUSED}})}
\DoxyCodeLine{\{}
\DoxyCodeLine{   Frame\_Data *fd;}
\DoxyCodeLine{}
\DoxyCodeLine{   fd = \mbox{\hyperlink{group__Evas__Object__Group__Extras_ga3b85d805f879e71beed360650dda697b}{evas\_object\_data\_get}}(o, \textcolor{stringliteral}{"{}frame\_data"{}});}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!fd) \textcolor{keywordflow}{return};}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (fd-\/>moving)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} x, y, ox, oy;}
\DoxyCodeLine{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Evas__Canvas_ga78be2fedcc19c00c61ad8df95f2496f8}{evas\_pointer\_canvas\_xy\_get}}(\mbox{\hyperlink{group__Evas__Object__Group_ga7e211219d11abced5f3089362f7476b9}{evas\_object\_evas\_get}}(o), \&x, \&y);}
\DoxyCodeLine{        \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga6e8e78e110392480dd612df86a16b630}{evas\_object\_geometry\_get}}(o, \&ox, \&oy, NULL, NULL);}
\DoxyCodeLine{        \mbox{\hyperlink{group__Evas__Object__Group_ga335c8ee6eaeaac9710656af4f8b0db91}{evas\_object\_move}}(o, ox + (x -\/ fd-\/>x), oy + (y -\/ fd-\/>y));}
\DoxyCodeLine{        fd-\/>x = x;}
\DoxyCodeLine{        fd-\/>y = y;}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (fd-\/>resizing)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} x, y, ow, oh;}
\DoxyCodeLine{}
\DoxyCodeLine{        \mbox{\hyperlink{group__Evas__Canvas_ga78be2fedcc19c00c61ad8df95f2496f8}{evas\_pointer\_canvas\_xy\_get}}(\mbox{\hyperlink{group__Evas__Object__Group_ga7e211219d11abced5f3089362f7476b9}{evas\_object\_evas\_get}}(o), \&x, \&y);}
\DoxyCodeLine{        \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga6e8e78e110392480dd612df86a16b630}{evas\_object\_geometry\_get}}(o, NULL, NULL, \&ow, \&oh);}
\DoxyCodeLine{        \mbox{\hyperlink{group__Evas__Object__Group_gacad94595f83580c18908cb3b69b08d1a}{evas\_object\_resize}}(o, ow + (x -\/ fd-\/>x), oh + (y -\/ fd-\/>y));}
\DoxyCodeLine{        fd-\/>x = x;}
\DoxyCodeLine{        fd-\/>y = y;}
\DoxyCodeLine{     \}}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keywordtype}{void}}
\DoxyCodeLine{init\_video\_object(\textcolor{keyword}{const} \textcolor{keywordtype}{char} *module\_filename, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *filename)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_Object}} *o, *oe;}
\DoxyCodeLine{   \mbox{\hyperlink{Evas__Common_8h_a2453e92182bad3b0e0d84e5aff433b07}{Evas\_Coord}} w, h, offset;}
\DoxyCodeLine{   Frame\_Data *fd;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{/* basic video object setup */}}
\DoxyCodeLine{   o = \mbox{\hyperlink{group__Emotion__Init_ga24f8978589d49e62ca8829f61fac83a9}{emotion\_object\_add}}(evas);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} ((module\_filename) \&\& (!emotion\_object\_init(o, module\_filename)))}
\DoxyCodeLine{     \textcolor{keywordflow}{return};}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Visualization_gaf00a8347f3d436f2d071fee696bfaca0}{emotion\_object\_vis\_set}}(o, vis);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!\mbox{\hyperlink{group__Emotion__Init_gaf0373828f33bd62aa6070f6c890f91a6}{emotion\_object\_file\_set}}(o, filename))}
\DoxyCodeLine{     \textcolor{keywordflow}{return};}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (last\_position\_load)}
\DoxyCodeLine{     \mbox{\hyperlink{group__Emotion__Info_ga6d87df6c91a4a684d90d79a6c749021e}{emotion\_object\_last\_position\_load}}(o);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Play_ga63c5faf9e23046ccb292027df2486cbb}{emotion\_object\_play\_set}}(o, 1);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Audio_gafbe5c4943539f93c78bbc7adcc139572}{emotion\_object\_audio\_volume\_set}}(o, 0.5);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga335c8ee6eaeaac9710656af4f8b0db91}{evas\_object\_move}}(o, 0, 0);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_gacad94595f83580c18908cb3b69b08d1a}{evas\_object\_resize}}(o, 320, 240);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__Video_ga4e33cce625b5e12a2a9c65e86b0bdaf3}{emotion\_object\_smooth\_scale\_set}}(o, 1);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga07208fcafd4739de606bc35fff684bf5}{evas\_object\_show}}(o);}
\DoxyCodeLine{}
\DoxyCodeLine{   video\_objs = \mbox{\hyperlink{group__Eina__List__Group_ga625698a383dda8fc0db245a1c7608c49}{eina\_list\_append}}(video\_objs, o);}
\DoxyCodeLine{   \textcolor{comment}{/* end basic video setup. all the rest here is just to be fancy */}}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{   fd = calloc(1, \textcolor{keyword}{sizeof}(Frame\_Data));}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!fd) exit(1);}
\DoxyCodeLine{}
\DoxyCodeLine{   oe = \mbox{\hyperlink{group__Edje__Object__Group_ga5548cef32568746f40df9bd0be339bea}{edje\_object\_add}}(evas);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Events_gac71a1038dad71da36f57b70c8ad10252}{evas\_object\_event\_callback\_add}}(oe, \mbox{\hyperlink{Evas__Common_8h_ad64cde0da38a60e7cb7905b3ab216968aab869b5d534f02f1b3e151e2406a8c24}{EVAS\_CALLBACK\_FREE}}, \_oe\_free\_cb, fd);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Extras_ga3061f8abe8f1a1f657d622ae0409d8e3}{evas\_object\_data\_set}}(oe, \textcolor{stringliteral}{"{}frame\_data"{}}, fd);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (reflex)}
\DoxyCodeLine{     \mbox{\hyperlink{group__Edje__Object__Group_gaec1edd24b5bd8e82823759a8dddc1996}{edje\_object\_file\_set}}(oe, theme\_file, \textcolor{stringliteral}{"{}video\_controller/reflex"{}});}
\DoxyCodeLine{   \textcolor{keywordflow}{else}}
\DoxyCodeLine{     \mbox{\hyperlink{group__Edje__Object__Group_gaec1edd24b5bd8e82823759a8dddc1996}{edje\_object\_file\_set}}(oe, theme\_file, \textcolor{stringliteral}{"{}video\_controller"{}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Part_ga97d1419f89bff20ba971e47c78641271}{edje\_object\_part\_swallow}}(oe, \textcolor{stringliteral}{"{}video\_swallow"{}}, o);}
\DoxyCodeLine{}
\DoxyCodeLine{   offset = 20 * (\mbox{\hyperlink{group__Eina__List__Group_ga301729054a498a2df09a5f1dd760697e}{eina\_list\_count}}(video\_objs) -\/ 1);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_ga335c8ee6eaeaac9710656af4f8b0db91}{evas\_object\_move}}(oe, offset, offset);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gae8dc1397ff94126f3083280a0400cfbc}{edje\_object\_size\_min\_calc}}(oe, \&w, \&h);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group_gacad94595f83580c18908cb3b69b08d1a}{evas\_object\_resize}}(oe, w, h);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}frame\_decode"{}}, video\_obj\_frame\_decode\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}frame\_resize"{}}, video\_obj\_frame\_resize\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}length\_change"{}}, video\_obj\_length\_change\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}position\_update"{}}, video\_obj\_position\_update\_cb, oe);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}decode\_stop"{}}, video\_obj\_stopped\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}channels\_change"{}}, video\_obj\_channels\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}title\_change"{}}, video\_obj\_title\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}progress\_change"{}}, video\_obj\_progress\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}ref\_change"{}}, video\_obj\_ref\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}button\_num\_change"{}}, video\_obj\_button\_num\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Smart__Object__Group_gac12dd6655f488cc47ce6cf00eb7d12b2}{evas\_object\_smart\_callback\_add}}(o, \textcolor{stringliteral}{"{}button\_change"{}}, video\_obj\_button\_cb, oe);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}video\_control"{}}, \textcolor{stringliteral}{"{}play"{}}, video\_obj\_signal\_play\_cb, o);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}video\_control"{}}, \textcolor{stringliteral}{"{}pause"{}}, video\_obj\_signal\_pause\_cb, o);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}video\_control"{}}, \textcolor{stringliteral}{"{}stop"{}}, video\_obj\_signal\_stop\_cb, o);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}drag"{}}, \textcolor{stringliteral}{"{}video\_progress"{}}, video\_obj\_signal\_jump\_cb, o);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}drag"{}}, \textcolor{stringliteral}{"{}video\_alpha"{}}, video\_obj\_signal\_alpha\_cb, o);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}drag"{}}, \textcolor{stringliteral}{"{}video\_volume"{}}, video\_obj\_signal\_vol\_cb, o);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}frame\_move"{}}, \textcolor{stringliteral}{"{}start"{}}, video\_obj\_signal\_frame\_move\_start\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}frame\_move"{}}, \textcolor{stringliteral}{"{}stop"{}}, video\_obj\_signal\_frame\_move\_stop\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}frame\_resize"{}}, \textcolor{stringliteral}{"{}start"{}}, video\_obj\_signal\_frame\_resize\_start\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}frame\_resize"{}}, \textcolor{stringliteral}{"{}stop"{}}, video\_obj\_signal\_frame\_resize\_stop\_cb, oe);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_gab7a1542309f1ffdc76c07f280842d4b1}{edje\_object\_signal\_callback\_add}}(oe, \textcolor{stringliteral}{"{}mouse,move"{}}, \textcolor{stringliteral}{"{}*"{}}, video\_obj\_signal\_frame\_move\_cb, oe);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Part__Drag_ga723989052928c090213c79569cb04177}{edje\_object\_part\_drag\_value\_set}}(oe, \textcolor{stringliteral}{"{}video\_alpha"{}}, 0.0, 1.0);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Part_gafd2241781aedc44a0f4cdc63bb029784}{edje\_object\_part\_text\_set}}(oe, \textcolor{stringliteral}{"{}video\_alpha\_txt"{}}, \textcolor{stringliteral}{"{}alpha 255"{}});}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Part__Drag_ga723989052928c090213c79569cb04177}{edje\_object\_part\_drag\_value\_set}}(oe, \textcolor{stringliteral}{"{}video\_volume"{}}, 0.0, 0.5);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Part_gafd2241781aedc44a0f4cdc63bb029784}{edje\_object\_part\_text\_set}}(oe, \textcolor{stringliteral}{"{}video\_volume\_txt"{}}, \textcolor{stringliteral}{"{}vol 0.50"{}});}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__Object__Group_ga2a6422befdfb9c9757414122ff23cb8e}{edje\_object\_signal\_emit}}(oe, \textcolor{stringliteral}{"{}video\_state"{}}, \textcolor{stringliteral}{"{}play"{}});}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Object__Group__Basic_ga07208fcafd4739de606bc35fff684bf5}{evas\_object\_show}}(oe);}
\DoxyCodeLine{\}}
\DoxyCodeLine{}
\DoxyCodeLine{\textcolor{keywordtype}{int}}
\DoxyCodeLine{main(\textcolor{keywordtype}{int} argc, \textcolor{keywordtype}{char} **argv)}
\DoxyCodeLine{\{}
\DoxyCodeLine{   \textcolor{keywordtype}{int} args;}
\DoxyCodeLine{   \mbox{\hyperlink{struct__Eina__Rectangle}{Eina\_Rectangle}}     geometry = \{0, 0, startw, starth\};}
\DoxyCodeLine{   \textcolor{keywordtype}{char}              *engine = NULL;}
\DoxyCodeLine{   \textcolor{keywordtype}{char}              *backend = NULL;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Eina__Types__Group_ga3fe0caf72e93b1bab1ca8ee3ccf3f226}{Eina\_Bool}}          webcams = \mbox{\hyperlink{group__Eina__Types__Group_ga1feb115f8e9913e806e090d9bd5a7301}{EINA\_FALSE}};}
\DoxyCodeLine{   \textcolor{keywordtype}{int}                visual = \mbox{\hyperlink{Emotion_8h_ga76e28adb488323ae8a57eafe1bf8141caee942284d51ca5ad123703ab7a71dd9d}{EMOTION\_VIS\_NONE}};}
\DoxyCodeLine{   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}      help = 0;}
\DoxyCodeLine{   \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char}      engines\_listed = 0;}
\DoxyCodeLine{   \mbox{\hyperlink{union__Ecore__Getopt__Value}{Ecore\_Getopt\_Value}} values[] = \{}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga123b1c8494301b8f76554675e8606d94}{ECORE\_GETOPT\_VALUE\_STR}}(engine),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga832f91eecd39de313b8351305cba80d3}{ECORE\_GETOPT\_VALUE\_BOOL}}(engines\_listed),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga1eb7ca0875881d8386781448a7bc9304}{ECORE\_GETOPT\_VALUE\_PTR\_CAST}}(geometry),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga123b1c8494301b8f76554675e8606d94}{ECORE\_GETOPT\_VALUE\_STR}}(backend),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga048498f4546a0dd78c541168db62494e}{ECORE\_GETOPT\_VALUE\_INT}}(visual),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga832f91eecd39de313b8351305cba80d3}{ECORE\_GETOPT\_VALUE\_BOOL}}(webcams),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga832f91eecd39de313b8351305cba80d3}{ECORE\_GETOPT\_VALUE\_BOOL}}(reflex),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga832f91eecd39de313b8351305cba80d3}{ECORE\_GETOPT\_VALUE\_BOOL}}(loop),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga832f91eecd39de313b8351305cba80d3}{ECORE\_GETOPT\_VALUE\_BOOL}}(last\_position\_load),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga0440d57be0af2a77dc5de02be19aeae2}{ECORE\_GETOPT\_VALUE\_NONE}},}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga0440d57be0af2a77dc5de02be19aeae2}{ECORE\_GETOPT\_VALUE\_NONE}},}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga0440d57be0af2a77dc5de02be19aeae2}{ECORE\_GETOPT\_VALUE\_NONE}},}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga832f91eecd39de313b8351305cba80d3}{ECORE\_GETOPT\_VALUE\_BOOL}}(help),}
\DoxyCodeLine{      \mbox{\hyperlink{group__Ecore__Getopt__Group_ga0440d57be0af2a77dc5de02be19aeae2}{ECORE\_GETOPT\_VALUE\_NONE}}}
\DoxyCodeLine{    \};}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// init ecore\_evas}}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!\mbox{\hyperlink{group__Ecore__Evas__Group_ga32ddbb6457033ad435a177eb0c4fe235}{ecore\_evas\_init}}())}
\DoxyCodeLine{     \textcolor{keywordflow}{return} -\/1;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// init edje}}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!\mbox{\hyperlink{group__Edje__General__Group_ga1c9c6594f38023c29fbfb2d0c8c675db}{edje\_init}}())}
\DoxyCodeLine{     \textcolor{keywordflow}{goto} shutdown\_ecore\_evas;}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// search the theme file}}
\DoxyCodeLine{   \textcolor{keyword}{struct }stat st;}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (stat(PACKAGE\_BUILD\_DIR\textcolor{stringliteral}{"{}/src/tests/emotion/data/theme.edj"{}}, \&st) == 0)}
\DoxyCodeLine{      theme\_file = PACKAGE\_BUILD\_DIR\textcolor{stringliteral}{"{}/src/tests/emotion/data/theme.edj"{}};}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (stat(PACKAGE\_DATA\_DIR\textcolor{stringliteral}{"{}/data/theme.edj"{}}, \&st) == 0)}
\DoxyCodeLine{      theme\_file = PACKAGE\_DATA\_DIR\textcolor{stringliteral}{"{}/data/theme.edj"{}};}
\DoxyCodeLine{   \textcolor{keywordflow}{else}}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        printf(\textcolor{stringliteral}{"{}Cannot find the theme file\(\backslash\)n"{}});}
\DoxyCodeLine{        \textcolor{keywordflow}{goto} shutdown\_edje;}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}theme file: \%s\(\backslash\)n"{}}, theme\_file);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// parse command line arguments}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Application__Group_ga70bce8ffb6e2dc2c0fdab005d566532e}{ecore\_app\_args\_set}}(argc, (\textcolor{keyword}{const} \textcolor{keywordtype}{char} **)argv);}
\DoxyCodeLine{   args = \mbox{\hyperlink{group__Ecore__Getopt__Group_gab9fb5bf2f2edd9bd3a3519faa8e3ebfa}{ecore\_getopt\_parse}}(\&options, values, argc, argv);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (args < 0) \textcolor{keywordflow}{goto} shutdown\_edje;}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (help) \textcolor{keywordflow}{goto} shutdown\_edje;}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} (engines\_listed) \textcolor{keywordflow}{goto} shutdown\_edje;}
\DoxyCodeLine{   \textcolor{keywordflow}{else} \textcolor{keywordflow}{if} ((args == argc) \&\& (!webcams))}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        printf(\textcolor{stringliteral}{"{}must provide at least one file to play!\(\backslash\)n"{}});}
\DoxyCodeLine{        \textcolor{keywordflow}{goto} shutdown\_edje;}
\DoxyCodeLine{     \}}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (geometry.\mbox{\hyperlink{struct__Eina__Rectangle_af6a92d51ec25ee3464c81297ffc3a330}{w}} == 0) geometry.\mbox{\hyperlink{struct__Eina__Rectangle_af6a92d51ec25ee3464c81297ffc3a330}{w}} = 320;}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (geometry.\mbox{\hyperlink{struct__Eina__Rectangle_a7570ed17f58fc94be997414a86130074}{h}} == 0) geometry.\mbox{\hyperlink{struct__Eina__Rectangle_a7570ed17f58fc94be997414a86130074}{h}} = 240;}
\DoxyCodeLine{   vis = visual;}
\DoxyCodeLine{}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}evas engine: \%s\(\backslash\)n"{}}, engine ? engine : \textcolor{stringliteral}{"{}<auto>"{}});}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}emotion backend: \%s\(\backslash\)n"{}}, backend ? backend : \textcolor{stringliteral}{"{}<auto>"{}});}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}vis: \%d\(\backslash\)n"{}}, vis);}
\DoxyCodeLine{   printf(\textcolor{stringliteral}{"{}geometry: \%d \%d \%dx\%d\(\backslash\)n"{}}, geometry.\mbox{\hyperlink{struct__Eina__Rectangle_a8358c0791dcf476432687510ca4e5d5c}{x}}, geometry.\mbox{\hyperlink{struct__Eina__Rectangle_ae74dc834fb71a1f4cd9e3fe11dec3940}{y}}, geometry.\mbox{\hyperlink{struct__Eina__Rectangle_af6a92d51ec25ee3464c81297ffc3a330}{w}}, geometry.\mbox{\hyperlink{struct__Eina__Rectangle_a7570ed17f58fc94be997414a86130074}{h}});}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Event__Group_ga886c90c3f917f87b3b4c931adcbc41c5}{ecore\_event\_handler\_add}}(\mbox{\hyperlink{group__Ecore__Event__Group_ga0dd1e36930ae8fa8decc97564d57f310}{ECORE\_EVENT\_SIGNAL\_EXIT}}, main\_signal\_exit, NULL);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// create the ecore\_evas window}}
\DoxyCodeLine{   ecore\_evas = \mbox{\hyperlink{group__Ecore__Evas__Group_gaaa770b6f2f1395f9eeb0e50e26c3f933}{ecore\_evas\_new}}(engine, geometry.\mbox{\hyperlink{struct__Eina__Rectangle_a8358c0791dcf476432687510ca4e5d5c}{x}}, geometry.\mbox{\hyperlink{struct__Eina__Rectangle_ae74dc834fb71a1f4cd9e3fe11dec3940}{y}},}
\DoxyCodeLine{                               geometry.\mbox{\hyperlink{struct__Eina__Rectangle_af6a92d51ec25ee3464c81297ffc3a330}{w}}, geometry.\mbox{\hyperlink{struct__Eina__Rectangle_a7570ed17f58fc94be997414a86130074}{h}}, NULL);}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (!ecore\_evas) \textcolor{keywordflow}{goto} shutdown\_edje;}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Evas__Group_ga3d478e975e2101b9b821ef24baf3dd9e}{ecore\_evas\_callback\_delete\_request\_set}}(ecore\_evas, main\_delete\_request);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Evas__Group_gaac67f679c9027059a34519fbdea360df}{ecore\_evas\_callback\_resize\_set}}(ecore\_evas, main\_resize);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Evas__Group_ga3b2832e0373bbafae2bb7143618535c1}{ecore\_evas\_title\_set}}(ecore\_evas, \textcolor{stringliteral}{"{}Evas Media Test Program"{}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Evas__Group_ga14bbe9c52d2d85e18e0a35819fb0330a}{ecore\_evas\_name\_class\_set}}(ecore\_evas, \textcolor{stringliteral}{"{}evas\_media\_test"{}}, \textcolor{stringliteral}{"{}main"{}});}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Evas__Group_ga4953047ff97d4f1b0d75a7d513d4f317}{ecore\_evas\_show}}(ecore\_evas);}
\DoxyCodeLine{   evas = \mbox{\hyperlink{group__Ecore__Evas__Group_ga6f8d214cd55bc940d7cc62fecd8dbc06}{ecore\_evas\_get}}(ecore\_evas);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Canvas_ga968279c97277ced053c8bd5c36158da7}{evas\_image\_cache\_set}}(evas, 8 * 1024 * 1024);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Evas__Canvas_ga7dacff7508fac197e96c4a20d50e0ade}{evas\_font\_cache\_set}}(evas, 1 * 1024 * 1024);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// init emotion}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__API_ga5959f96c419207924c9935a9793706a5}{emotion\_init}}();}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// create the checkboard background edje object}}
\DoxyCodeLine{   bg\_setup();}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// open files and webcams}}
\DoxyCodeLine{   \textcolor{keywordflow}{for} (; args < argc; args++)}
\DoxyCodeLine{     init\_video\_object(backend, argv[args]);}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{if} (webcams)}
\DoxyCodeLine{     \{}
\DoxyCodeLine{        \textcolor{keyword}{const} \mbox{\hyperlink{struct__Eina__List}{Eina\_List}} *wl, *l;}
\DoxyCodeLine{        \mbox{\hyperlink{group__Emotion__API_gaab2660883f5966ba24784ddd3e78138a}{Emotion\_Webcam}} *webcam;}
\DoxyCodeLine{}
\DoxyCodeLine{        wl = \mbox{\hyperlink{group__Emotion__Webcam_gabc867d5372bebb424d632ebb40e63973}{emotion\_webcams\_get}}();}
\DoxyCodeLine{        \mbox{\hyperlink{group__Eina__List__Group_gac6efafc19f526d916cdb9757240a8773}{EINA\_LIST\_FOREACH}}(wl, l, webcam)}
\DoxyCodeLine{          \{}
\DoxyCodeLine{             printf(\textcolor{stringliteral}{"{}Playing stream: '\%s' url: '\%s'\(\backslash\)n"{}},}
\DoxyCodeLine{                     \mbox{\hyperlink{group__Emotion__Webcam_ga8c53720dc0b39ea954bc821898f8e997}{emotion\_webcam\_name\_get}}(webcam),}
\DoxyCodeLine{                     \mbox{\hyperlink{group__Emotion__Webcam_ga0c2e6ba11fce0fb3d8ea50d573a01424}{emotion\_webcam\_device\_get}}(webcam));}
\DoxyCodeLine{             init\_video\_object(backend, \mbox{\hyperlink{group__Emotion__Webcam_ga0c2e6ba11fce0fb3d8ea50d573a01424}{emotion\_webcam\_device\_get}}(webcam));}
\DoxyCodeLine{          \}}
\DoxyCodeLine{     \}}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// start the main loop}}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Main__Loop__Group_gaf103b9f668bb3e4fed12e52c6180132d}{ecore\_main\_loop\_begin}}();}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{comment}{// shutdown}}
\DoxyCodeLine{   main\_signal\_exit(NULL, 0, NULL);}
\DoxyCodeLine{}
\DoxyCodeLine{   \mbox{\hyperlink{group__Emotion__API_gac2efae65442ca95289fb273693195265}{emotion\_shutdown}}();}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Evas__Group_gad3ec61f2aa03df4d3dbfd0d311e0c8dc}{ecore\_evas\_free}}(ecore\_evas);}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Evas__Group_gab8fa311077f749190c9b622f672b2214}{ecore\_evas\_shutdown}}();}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__General__Group_ga01041f6702f2d81bf10c3e41899805cb}{edje\_shutdown}}();}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{return} 0;}
\DoxyCodeLine{}
\DoxyCodeLine{ shutdown\_edje:}
\DoxyCodeLine{   \mbox{\hyperlink{group__Edje__General__Group_ga01041f6702f2d81bf10c3e41899805cb}{edje\_shutdown}}();}
\DoxyCodeLine{ shutdown\_ecore\_evas:}
\DoxyCodeLine{   \mbox{\hyperlink{group__Ecore__Evas__Group_gab8fa311077f749190c9b622f672b2214}{ecore\_evas\_shutdown}}();}
\DoxyCodeLine{}
\DoxyCodeLine{   \textcolor{keywordflow}{return} -\/1;}
\DoxyCodeLine{\}}

\end{DoxyCodeInclude}
 