added shadow-toggle to the settings page

master
Alina Marquardt 2015-11-18 22:25:45 +01:00
parent e3216b3352
commit e7c01919d4
3 changed files with 42 additions and 22 deletions

View File

@ -3,7 +3,8 @@
"colorbg": 0, "colorbg": 0,
"colorh": 2, "colorh": 2,
"colorm": 1, "colorm": 1,
"colorp": 3 "colorp": 3,
"shadows": 4
}, },
"capabilities": [ "capabilities": [
"configurable" "configurable"
@ -21,7 +22,7 @@
"chalk" "chalk"
], ],
"uuid": "ceeae81b-6b50-43b6-8bbb-6d6f6eb62b69", "uuid": "ceeae81b-6b50-43b6-8bbb-6d6f6eb62b69",
"versionLabel": "1.1", "versionLabel": "1.2",
"watchapp": { "watchapp": {
"watchface": true "watchface": true
} }

View File

@ -3,7 +3,7 @@ Pebble.addEventListener('ready', function() {
}); });
Pebble.addEventListener('showConfiguration', function() { Pebble.addEventListener('showConfiguration', function() {
var url='http://pebble.lastfuture.de/config/supersimple/'; var url='http://pebble.lastfuture.de/config/supersimple12/';
console.log('Showing configuration page: '+url); console.log('Showing configuration page: '+url);
Pebble.openURL(url); Pebble.openURL(url);
}); });
@ -16,7 +16,8 @@ Pebble.addEventListener('webviewclosed', function(e) {
colorbg: parseInt(configData.colorbg, 16), colorbg: parseInt(configData.colorbg, 16),
colorm: parseInt(configData.colorm, 16), colorm: parseInt(configData.colorm, 16),
colorh: parseInt(configData.colorh, 16), colorh: parseInt(configData.colorh, 16),
colorp: parseInt(configData.colorp, 16) colorp: parseInt(configData.colorp, 16),
shadows: configData.shadows === true
}, function() { }, function() {
console.log('Send successful!'); console.log('Send successful!');
}, function() { }, function() {

View File

@ -4,6 +4,7 @@
#define KEY_MINUTE_COLOR 1 #define KEY_MINUTE_COLOR 1
#define KEY_HOUR_COLOR 2 #define KEY_HOUR_COLOR 2
#define KEY_PEG_COLOR 3 #define KEY_PEG_COLOR 3
#define KEY_SHADOWS 4
#define ANTIALIASING true #define ANTIALIASING true
@ -49,7 +50,7 @@ static Layer *s_canvas_layer;
static GPoint s_center; static GPoint s_center;
static Time s_last_time; static Time s_last_time;
static int s_radius = 0; static int s_radius = 0;
static bool s_animating = false; static bool s_animating = false, shadows = false;
static float anim_offset; static float anim_offset;
static GColor gcolorbg, gcolorm, gcolorh, gcolorp, gcolorshadow; static GColor gcolorbg, gcolorm, gcolorh, gcolorp, gcolorshadow;
@ -59,6 +60,7 @@ static void inbox_received_handler(DictionaryIterator *iter, void *context) {
Tuple *colorm_t = dict_find(iter, KEY_MINUTE_COLOR); Tuple *colorm_t = dict_find(iter, KEY_MINUTE_COLOR);
Tuple *colorh_t = dict_find(iter, KEY_HOUR_COLOR); Tuple *colorh_t = dict_find(iter, KEY_HOUR_COLOR);
Tuple *colorp_t = dict_find(iter, KEY_PEG_COLOR); Tuple *colorp_t = dict_find(iter, KEY_PEG_COLOR);
Tuple *shadows_t = dict_find(iter, KEY_SHADOWS);
if(colorbg_t) { if(colorbg_t) {
int colorbg = colorbg_t->value->int32; int colorbg = colorbg_t->value->int32;
@ -81,6 +83,13 @@ static void inbox_received_handler(DictionaryIterator *iter, void *context) {
persist_write_int(KEY_PEG_COLOR, colorp); persist_write_int(KEY_PEG_COLOR, colorp);
gcolorp = GColorFromHEX(colorp); gcolorp = GColorFromHEX(colorp);
} }
if(shadows_t && shadows_t->value->int32 > 0) {
persist_write_bool(KEY_SHADOWS, true);
shadows = true;
} else {
persist_write_bool(KEY_SHADOWS, false);
shadows = false;
}
if(s_canvas_layer) { if(s_canvas_layer) {
layer_mark_dirty(s_canvas_layer); layer_mark_dirty(s_canvas_layer);
} }
@ -164,6 +173,7 @@ static void update_proc(Layer *layer, GContext *ctx) {
// Draw hands with positive length only // Draw hands with positive length only
//gcolorshadow gcolorh gcolorm //gcolorshadow gcolorh gcolorm
if((s_radius - HAND_MARGIN_OUTER) > HAND_MARGIN_INNER) { if((s_radius - HAND_MARGIN_OUTER) > HAND_MARGIN_INNER) {
if(shadows) {
if(s_radius > 2 * HAND_MARGIN_OUTER) { if(s_radius > 2 * HAND_MARGIN_OUTER) {
graphics_context_set_stroke_color(ctx, gcolorshadow); graphics_context_set_stroke_color(ctx, gcolorshadow);
graphics_context_set_stroke_width(ctx, HAND_WIDTH); graphics_context_set_stroke_width(ctx, HAND_WIDTH);
@ -178,6 +188,7 @@ static void update_proc(Layer *layer, GContext *ctx) {
graphics_draw_line(ctx, minute_hand_inner, minute_hand_outer); graphics_draw_line(ctx, minute_hand_inner, minute_hand_outer);
minute_hand_inner.y -= SHADOW_OFFSET+1; minute_hand_outer.y -= SHADOW_OFFSET+1; minute_hand_inner.y -= SHADOW_OFFSET+1; minute_hand_outer.y -= SHADOW_OFFSET+1;
} }
}
if(s_radius > 2 * HAND_MARGIN_OUTER) { if(s_radius > 2 * HAND_MARGIN_OUTER) {
graphics_context_set_stroke_color(ctx, gcolorh); graphics_context_set_stroke_color(ctx, gcolorh);
graphics_context_set_stroke_width(ctx, HAND_WIDTH); graphics_context_set_stroke_width(ctx, HAND_WIDTH);
@ -225,6 +236,11 @@ static void window_load(Window *window) {
} else { } else {
gcolorp = GColorDarkGray; gcolorp = GColorDarkGray;
} }
if (persist_exists(KEY_SHADOWS)) {
shadows = persist_read_bool(KEY_SHADOWS);
} else {
shadows = false;
}
s_canvas_layer = layer_create(window_bounds); s_canvas_layer = layer_create(window_bounds);
layer_set_update_proc(s_canvas_layer, update_proc); layer_set_update_proc(s_canvas_layer, update_proc);
@ -249,6 +265,8 @@ static void radius_update(Animation *anim, AnimationProgress dist_normalized) {
static void init() { static void init() {
srand(time(NULL)); srand(time(NULL));
//light_enable(true);
time_t t = time(NULL); time_t t = time(NULL);
struct tm *time_now = localtime(&t); struct tm *time_now = localtime(&t);
tick_handler(time_now, MINUTE_UNIT); tick_handler(time_now, MINUTE_UNIT);