hermet pushed a commit to branch master. http://git.enlightenment.org/games/etypers.git/commit/?id=218fbed02ffbc9ffe933373ec21c6519bf138d57
commit 218fbed02ffbc9ffe933373ec21c6519bf138d57 Author: Hermet Park <her...@hermet.pe.kr> Date: Sat Feb 13 13:16:11 2016 +0900 support large text --- src/bin/etypers.c | 52 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 15 deletions(-) diff --git a/src/bin/etypers.c b/src/bin/etypers.c index 076a1af..8219f3c 100644 --- a/src/bin/etypers.c +++ b/src/bin/etypers.c @@ -9,6 +9,8 @@ #define WALL_COLOR 100, 100, 100, 170 #define MINUS_SCORE 25 #define ITEM_TIME 55 +#define LARGE_TEXT_SCALE 1.15 +#define DEFAULT_TEXT_SCALE 1 typedef enum _GameState { @@ -31,6 +33,7 @@ typedef struct _AppData long score; float hit_cnt; float hit_try_cnt; + float text_scale; unsigned long combo; Evas_Coord bound_w; Evas_Coord bound_h; @@ -41,7 +44,8 @@ typedef struct _AppData Evas_Object *entry; Evas_Object *table; Evas_Object *popup; - Evas_Object *check; + Evas_Object *item_check; + Evas_Object *text_check; GameState state; Ecore_Timer *timer; Ecore_Animator *animator; @@ -116,12 +120,14 @@ remove_all_enemies(AppData *appdata) static Enemy * enemy_new(Evas_Object *parent, const char *str, Evas_Coord x, Evas_Coord y, - Evas_Coord max_w, Evas_Coord max_h, Eina_Bool item) + Evas_Coord max_w, Evas_Coord max_h, float text_scale, Eina_Bool item) { Enemy *enemy = calloc(1, sizeof(Enemy)); if (!enemy) return NULL; Evas_Object *entry = elm_entry_add(parent); + elm_object_scale_set(entry, text_scale); + if (!entry) { free(enemy); @@ -173,9 +179,12 @@ enemy_add(AppData *appdata) { unsigned int words_cnt = eina_array_count(appdata->words_array); char *word = eina_array_data_get(appdata->words_array,(rand() % words_cnt)); + Enemy *enemy = enemy_new(appdata->bx, word, (rand() % appdata->bound_w), 0, appdata->bound_w, - appdata->bound_h, appdata->item_time); + appdata->bound_h, appdata->text_scale, + appdata->item_time); + appdata->item_time = EINA_FALSE; appdata->enemies = eina_inlist_append(appdata->enemies, (Eina_Inlist *) enemy); @@ -680,7 +689,11 @@ game_level_cb(void *data, Evas_Object *obj, void *event_info) { AppData *appdata = evas_object_data_get(obj, "appdata"); - appdata->item = elm_check_state_get(appdata->check); + appdata->item = elm_check_state_get(appdata->item_check); + if (elm_check_state_get(appdata->text_check)) + appdata->text_scale = LARGE_TEXT_SCALE; + else + appdata->text_scale = DEFAULT_TEXT_SCALE; evas_object_del(appdata->popup); appdata->popup = NULL; @@ -754,17 +767,28 @@ game_start_cb(void *data, Evas_Object *obj, void *event_info) elm_box_pack_end(box, list); //Item - Evas_Object *check = elm_check_add(box); - elm_check_state_set(check, EINA_TRUE); - elm_object_text_set(check, "Random Item"); - evas_object_show(check); - elm_box_pack_end(box, check); + Evas_Object *item_check = elm_check_add(box); + evas_object_size_hint_weight_set(item_check, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_align_set(item_check, 0, 0); + elm_check_state_set(item_check, EINA_TRUE); + elm_object_text_set(item_check, "Random Item"); + evas_object_show(item_check); + elm_box_pack_end(box, item_check); + + //Size + Evas_Object *text_check = elm_check_add(box); + elm_object_text_set(text_check, "Large Text"); + evas_object_size_hint_weight_set(text_check, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_align_set(text_check, 0, 0); + evas_object_show(text_check); + elm_box_pack_end(box, text_check); elm_object_content_set(notify, box); evas_object_show(notify); appdata->popup = notify; - appdata->check = check; + appdata->item_check = item_check; + appdata->text_check = text_check; } static void @@ -1008,17 +1032,15 @@ int elm_main(int argc, char **argv) { srand((unsigned int) time(NULL)); - AppData *appdata = calloc(1, sizeof(AppData)); - if (!appdata) return 0; + AppData appdata; + memset(&appdata, 0x0, sizeof(AppData)); elm_steup(); - app_init(appdata); + app_init(&appdata); elm_run(); - free(appdata); - return 0; } ELM_MAIN() --