00001 #include "dEvian.h"
00002
00003 static void _devian_source_del(dEvian *devian);
00004
00005
00006
00007 int devian_source_change(dEvian *devian, int source)
00008 {
00009
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
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
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
00099
00100
00101
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
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 }