Main Page | Data Structures | Directories | File List | Data Fields | Globals

e_mod_source.c

Go to the documentation of this file.
00001 #include "dEvian.h"
00002 
00003 static void _devian_source_del(dEvian *devian);
00004 
00005 /* Public functions */
00006 
00007 int devian_source_change(dEvian *devian, int source)
00008 {
00009   /* CHECK: if already one source, remove it, except if its the one we want */
00010   if (devian->source)
00011     {
00012       if (devian->conf->source_type == source)
00013   return 0;
00014       else
00015   _devian_source_del(devian);
00016     }
00017 
00018   /* Add the new container to the devian */
00019   switch (source)
00020     {
00021     case SOURCE_PICTURE:
00022       {
00023   if ( devian_source_picture_add(devian) )
00024     return 1;
00025   break;
00026       }
00027 
00028     case SOURCE_TEXT:
00029       {
00030   return 1;
00031       }
00032 
00033     case SOURCE_NO:
00034       {
00035   /* I want no source attached, thank you */
00036   return 0;
00037       }
00038 
00039     default : return 1;
00040     }
00041   
00042   return 0;
00043 }
00044 
00045 void devian_source_detach(dEvian *devian, int part)
00046 {
00047   switch (devian->conf->source_type)
00048     {
00049     case SOURCE_PICTURE:
00050       devian_data_picture_cache_detach(devian->source, part);
00051       break;
00052     case SOURCE_TEXT:
00053       break;
00054     }
00055   return;
00056 }
00057 
00058 int devian_source_refresh(dEvian *devian)
00059 {
00060   switch (devian->conf->source_type)
00061     {
00062     case SOURCE_PICTURE:
00063       return devian_source_picture_change(devian->source);
00064     case SOURCE_TEXT:
00065       return 0;
00066     }
00067 
00068   return 0;
00069 }
00070 
00071 int devian_source_set_bg(dEvian *devian)
00072 {
00073   switch (devian->conf->source_type)
00074     {
00075     case SOURCE_PICTURE:
00076       return devian_source_picture_set_bg(devian->source);
00077     case SOURCE_TEXT:
00078       return 0;
00079     }
00080 
00081   return 0;
00082 }
00083 
00084 int devian_source_viewer(dEvian *devian)
00085 {
00086   switch (devian->conf->source_type)
00087     {
00088     case SOURCE_PICTURE:
00089       return devian_source_picture_viewer(devian->source);
00090     case SOURCE_TEXT:
00091       return 0;
00092     }
00093 
00094   return 0;
00095 }
00096 
00097 /*
00098   Get the evas objects of a source
00099   Return:
00100     - 1 on success
00101     - 0 on fail
00102 */
00103 int devian_source_evas_object_get(dEvian *devian,
00104           Evas_Object **obj0,
00105           Evas_Object **obj1)
00106 {
00107   switch (devian->conf->source_type)
00108     {
00109     case SOURCE_PICTURE:
00110       return devian_source_picture_evas_object_get(devian, obj0, obj1);
00111     case SOURCE_TEXT:
00112   break;
00113     case SOURCE_NO:
00114   break;
00115     }
00116 
00117   return 0;
00118 }
00119 
00120 int devian_source_original_size_get(dEvian *devian,
00121            int part, int *w, int *h)
00122 {
00123   switch (devian->conf->source_type)
00124     {
00125     case SOURCE_PICTURE:
00126       return devian_source_picture_original_size_get(devian->source,
00127                 part, w, h);
00128     case SOURCE_TEXT:
00129   break;
00130     case SOURCE_NO:
00131   break;
00132     }
00133 
00134   return 0;
00135 }
00136 
00137 char *devian_source_name_get(dEvian *devian, int part)
00138 {
00139   switch (devian->conf->source_type)
00140     {
00141     case SOURCE_PICTURE:
00142       return devian_source_picture_name_get(devian->source, part);
00143     case SOURCE_TEXT:
00144       break;
00145     }
00146   return NULL;
00147 }
00148 
00149 void devian_source_dialog_infos(dEvian *devian)
00150 {
00151   switch (devian->conf->source_type)
00152     {
00153     case SOURCE_PICTURE:
00154       devian_source_picture_dialog_infos(devian->source);
00155       break;
00156     case SOURCE_TEXT:
00157       break;
00158     }
00159   
00160   return;
00161 }
00162 
00163 void devian_source_timer_change_set(dEvian *devian, int active, int time)
00164 {
00165   switch (devian->conf->source_type)
00166     {
00167     case SOURCE_PICTURE:
00168       devian_source_picture_timer_change_set(devian->source, active, time);
00169       break;
00170     case SOURCE_TEXT:
00171       break;
00172     }
00173   
00174   return;
00175 }
00176 
00177 /* Private functions */
00178 
00179 static void _devian_source_del(dEvian *devian)
00180 {
00181   switch (devian->conf->source_type)
00182     {
00183     case SOURCE_NO: return;
00184     case SOURCE_PICTURE: devian_source_picture_del(devian->source);
00185     case SOURCE_TEXT: return;
00186 
00187     default: return;
00188     }
00189 }

Generated on Fri Jan 6 02:26:26 2006 for dEvian by  doxygen 1.4.4