Samsung Gear S2 İçin Kendi Yaptığım Tasarım

Güzel mi?

  • Evet.

    Kullanılan: 3 75.0%
  • Hayır.

    Kullanılan: 1 25.0%

  • Kullanılan toplam oy
    4

Minecraftplayerr

Java, Skript, Php, Html, Css, Javascript, Anime
Mesajlar
3,980
En iyi cevaplar
6
Beğeniler
3,787
Puanları
7,080
Ruh hali
Merhabalar, Samsung Gear S2 için bana uyan güzel bir saat tasarımı bulamadığım için kendi tasarımımı yapayım istedim. Siyah beyazdır bu yüzden fazla şarj harcamaz.

"Ben de yapmak istiyorum, yardımcı olur musun?" diyenlere yardımcı olurum ancak C dilini bilmediğim için çok fazla yardım edemem.

Gerekli izinler: Hiçbir izin gerektirmez.

Kod:
Kod:
#include <tizen.h>
#include "saat.h"

typedef struct appdata {
    Evas_Object *win;
    Evas_Object *conform;
    Evas_Object *label;
} appdata_s;

#define TEXT_BUF_SIZE 256

static void
update_watch(appdata_s *ad, watch_time_h watch_time, int ambient)
{
    char watch_text[TEXT_BUF_SIZE];
    int year,month,day7,day,hour24,minute,second;

    if (watch_time==NULL)
        return;


    watch_time_get_year(watch_time,&year);
    watch_time_get_month(watch_time,&month);
    watch_time_get_day(watch_time,&day);
    watch_time_get_hour24(watch_time,&hour24);
    watch_time_get_minute(watch_time,&minute);
    watch_time_get_second(watch_time,&second);

    if (!ambient) {
        watch_time_get_day_of_week(watch_time,&day7);
        if(day7==01){
            snprintf(watch_text, TEXT_BUF_SIZE, "<align=center><font font_size=90><br/>%02d:%02d:%02d</font> <br> %02d/%02d/%02d<br>Pazar</align>",
            hour24, minute, second, day, month, year);
        }
        if(day7==02){
            snprintf(watch_text, TEXT_BUF_SIZE, "<align=center><font font_size=90><br/>%02d:%02d:%02d</font> <br> %02d/%02d/%02d<br>Pazartesi</align>",
            hour24, minute, second, day, month, year);
        }
        if(day7==03){
            snprintf(watch_text, TEXT_BUF_SIZE, "<align=center><font font_size=90><br/>%02d:%02d:%02d</font> <br> %02d/%02d/%02d<br>Salı</align>",
            hour24, minute, second, day, month, year);
        }
        if(day7==04){
            snprintf(watch_text, TEXT_BUF_SIZE, "<align=center><font font_size=90><br/>%02d:%02d:%02d</font> <br> %02d/%02d/%02d<br>Çarşamba</align>",
            hour24, minute, second, day, month, year);
        }
        if(day7==05){
            snprintf(watch_text, TEXT_BUF_SIZE, "<align=center><font font_size=90><br/>%02d:%02d:%02d</font> <br> %02d/%02d/%02d<br>Perşembe</align>",
            hour24, minute, second, day, month, year);
        }
        if(day7==06){
            snprintf(watch_text, TEXT_BUF_SIZE, "<align=center><font font_size=90><br/>%02d:%02d:%02d</font> <br> %02d/%02d/%02d<br>Cuma</align>",
            hour24, minute, second, day, month, year);
        }
        if(day7==07){
            snprintf(watch_text, TEXT_BUF_SIZE, "<align=center><font font_size=90><br/>%02d:%02d:%02d</font> <br> %02d/%02d/%02d<br>Cumartesi</align>",
            hour24, minute, second, day, month, year);
        }
    } else {
        snprintf(watch_text, TEXT_BUF_SIZE, "<align=center><br/>%02d:%02d</align>",
            hour24, minute);
    }

    elm_object_text_set(ad->label, watch_text);
}

static void
create_base_gui(appdata_s *ad, int width, int height)
{
    int ret;
    watch_time_h watch_time = NULL;

    /* Window */
    ret = watch_app_get_elm_win(&ad->win);
    if (ret != APP_ERROR_NONE) {
        dlog_print(DLOG_ERROR, LOG_TAG, "failed to get window. err = %d", ret);
        return;
    }

    evas_object_resize(ad->win, width, height);

    /* Conformant */
    ad->conform = elm_conformant_add(ad->win);
    evas_object_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    elm_win_resize_object_add(ad->win, ad->conform);
    evas_object_show(ad->conform);

    /* Label*/
    ad->label = elm_label_add(ad->conform);
    evas_object_resize(ad->label, width, height);
    evas_object_move(ad->label, 0, 0);
    evas_object_show(ad->label);

    ret = watch_time_get_current_time(&watch_time);
    if (ret != APP_ERROR_NONE)
        dlog_print(DLOG_ERROR, LOG_TAG, "saat alinamadi. err = %d", ret);

    update_watch(ad, watch_time, 0);
    watch_time_delete(watch_time);

    /* Show window after base gui is set up */
    evas_object_show(ad->win);
}

static bool
app_create(int width, int height, void *data){
    appdata_s *ad = data;
    create_base_gui(ad, width, height);
    return true;
}

static void
app_control(app_control_h app_control, void *data){}

static void
app_pause(void *data){}

static void
app_resume(void *data){}

static void
app_terminate(void *data){}

static void
app_time_tick(watch_time_h watch_time, void *data){
    appdata_s *ad = data;
    update_watch(ad, watch_time, 0);
}

static void
app_ambient_tick(watch_time_h watch_time, void *data){
    appdata_s *ad = data;
    update_watch(ad, watch_time, 1);
}

static void
app_ambient_changed(bool ambient_mode, void *data){}

static void
watch_app_lang_changed(app_event_info_h event_info, void *user_data){
    char *locale = NULL;
    app_event_get_language(event_info, &locale);
    elm_language_set(locale);
    free(locale);
    return;
}

static void
watch_app_region_changed(app_event_info_h event_info, void *user_data){}

int
main(int argc, char *argv[])
{
    appdata_s ad = {0,};
    int ret = 0;

    watch_app_lifecycle_callback_s event_callback = {0,};
    app_event_handler_h handlers[5] = {NULL, };

    event_callback.create = app_create;
    event_callback.terminate = app_terminate;
    event_callback.pause = app_pause;
    event_callback.resume = app_resume;
    event_callback.app_control = app_control;
    event_callback.time_tick = app_time_tick;
    event_callback.ambient_tick = app_ambient_tick;
    event_callback.ambient_changed = app_ambient_changed;

    watch_app_add_event_handler(&handlers[APP_EVENT_LANGUAGE_CHANGED],
        APP_EVENT_LANGUAGE_CHANGED, watch_app_lang_changed, &ad);
    watch_app_add_event_handler(&handlers[APP_EVENT_REGION_FORMAT_CHANGED],
        APP_EVENT_REGION_FORMAT_CHANGED, watch_app_region_changed, &ad);

    ret = watch_app_main(argc, argv, &event_callback, &ad);
    if (ret != APP_ERROR_NONE) {
        dlog_print(DLOG_ERROR, LOG_TAG, "watch_app_main() is failed. err = %d", ret);
    }

    return ret;
}





@Admicos , @MegaCrafter , @NoMan
 


Mr_Obliviate

Play.BlokDunyasi.Net
Mesajlar
1,002
En iyi cevaplar
18
Beğeniler
749
Puanları
1,480
Ruh hali
Apple watch içinde yaparmısın :p
 

Bernard

Бернард
Site Danışmanı
Geliştirici
Mesajlar
1,286
En iyi cevaplar
61
Beğeniler
2,129
Puanları
5,790
Bernard bunu beğendi. Hocam Xiaomi Mi Band 2 için tema falan desteklemiyor ama yapabilirmisiniz :D
 

Shrike

Lapis Toplayıcısı
Mesajlar
1,053
En iyi cevaplar
0
Beğeniler
1,895
Puanları
3,200
güzel olmuşda gereklimiydi
 

Üst