make scalable positioning
authorHyoyoung Chang <hyoyoung.chang@samsung.com>
Tue, 26 Oct 2010 06:07:38 +0000 (15:07 +0900)
committerHyoyoung Chang <hyoyoung.chang@samsung.com>
Tue, 26 Oct 2010 06:07:38 +0000 (15:07 +0900)
src/cbhm_main.c
src/cbhm_main.h
src/clipdrawer.c

index d7aebaf..c8ea253 100644 (file)
@@ -19,7 +19,7 @@
 // FIXME: how to remove g_main_ad? 
 static struct appdata *g_main_ad = NULL;
 
-static Evas_Object* create_win(const char *name);
+static Evas_Object* create_win(void *data, const char *name);
 static Evas_Object* load_edj(Evas_Object *parent, const char *file, const char *group);
 
 static void win_del_cb(void *data, Evas_Object *obj, void *event)
@@ -45,7 +45,7 @@ int init_appview(void *data)
        struct appdata *ad = (struct appdata *) data;
        Evas_Object *win, *ly;
 
-       win = create_win(APPNAME);
+       win = create_win(ad, APPNAME);
        if(win == NULL)
                return -1;
        ad->evas = evas_object_evas_get(win);
@@ -70,8 +70,9 @@ int init_appview(void *data)
        return 0;
 }
 
-static Evas_Object* create_win(const char *name)
+static Evas_Object* create_win(void *data, const char *name)
 {
+       struct appdata *ad = (struct appdata *) data;
        Evas_Object *eo;
        int w, h;
 
@@ -81,6 +82,8 @@ static Evas_Object* create_win(const char *name)
                elm_win_title_set(eo, name);
                elm_win_borderless_set(eo, EINA_TRUE);
                ecore_x_window_size_get(ecore_x_window_root_first_get(), &w, &h);
+               ad->root_w = w;
+               ad->root_h = h;
                evas_object_resize(eo, w, h);
        }
 
index a55d114..e762785 100755 (executable)
@@ -12,6 +12,8 @@
 
 struct appdata
 {
+       int root_w;
+       int root_h;
        Evas *evas;
        Evas_Object *win_main;
        Evas_Object *ly_main; /* layout widget based on EDJ */
index 24a9577..2ccea2c 100644 (file)
@@ -168,11 +168,15 @@ clipdrawer_ly_clicked(void *data, Evas_Object *obj, const char *emission, const
 int clipdrawer_init(void *data)
 {
        struct appdata *ad = data;
+       double cdy, cdw;
 
-       evas_object_resize(ad->win_main, CLIPDRAWER_WIDTH, CLIPDRAWER_HEIGHT);
-       evas_object_move(ad->win_main, CLIPDRAWER_POS_X, CLIPDRAWER_POS_Y);
-       evas_object_resize(ad->ly_main, CLIPDRAWER_WIDTH, CLIPDRAWER_HEIGHT);
-       evas_object_move(ad->ly_main, CLIPDRAWER_POS_X, CLIPDRAWER_POS_Y);
+       cdy = (1.0*CLIPDRAWER_HEIGHT/800)*ad->root_h;
+       cdw = (1.0*CLIPDRAWER_POS_Y/800*1.0)*ad->root_h;
+
+       evas_object_resize(ad->win_main, ad->root_w, (int)cdy);
+       evas_object_move(ad->win_main, CLIPDRAWER_POS_X, (int)cdw);
+       evas_object_resize(ad->ly_main, ad->root_w, (int)cdy);
+       evas_object_move(ad->ly_main, CLIPDRAWER_POS_X, (int)cdw);
 
        edje_object_signal_callback_add(elm_layout_edje_get(ad->ly_main), "mouse,up,1", "*", clipdrawer_ly_clicked, ad);
 
@@ -243,7 +247,7 @@ int clipdrawer_create_view(void *data)
 
        // for debug
        // at starting, showing app view
-       //clipdrawer_activate_view(ad);
+       clipdrawer_activate_view(ad);
 
        return 0;
 }