Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
build/
node_modules/
.DS_Store
.lock-waf_linux2_build
.claude/
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@
"WeatherUseNightIcon",
"SettingWidget0ID",
"SettingWidget1ID",
"SettingWidget2ID"
"SettingWidget2ID",
"SettingSevenCrossbar"
],
"resources": {
"media": [
Expand Down
19 changes: 18 additions & 1 deletion src/c/brutal_clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -397,8 +397,25 @@ get_glyph(enum font font, char c, uint8_t **pixels)
*pixels = gbitmap_get_data(glyphs);

#ifndef PBL_PLATFORM_APLITE
if (font == BIG)
if (font == BIG) {
glyph = scale_glyph(glyph, pixels);

if (c == '7' && settings.sevenCrossbar) {
// Crossbar delta (glyph-relative col, row): 3-2-1 taper
static const int8_t crossbar[][2] = {
{2,5},{3,5},{4,5},
{3,6},{4,6},
{4,7}
};
for (unsigned ci = 0; ci < ARRAY_LENGTH(crossbar); ci++) {
int bx0 = crossbar[ci][0] * s_scale_x;
int by0 = crossbar[ci][1] * s_scale_y;
for (int dy = 0; dy < s_scale_y; dy++)
for (int dx = 0; dx < s_scale_x; dx++)
SET_BIT(s_scale_buf, BUFW, bx0+dx, by0+dy);
}
}
}
#endif

return glyph;
Expand Down
5 changes: 5 additions & 0 deletions src/c/messaging.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ void inbox_received_callback(DictionaryIterator *iterator, void *context) {

Tuple *activateDisconnectIcon_tuple = dict_find(iterator, MESSAGE_KEY_SettingDisconnectIcon);
Tuple *shadow_tuple = dict_find(iterator, MESSAGE_KEY_SHADOW);
Tuple *sevenCrossbar_tuple = dict_find(iterator, MESSAGE_KEY_SettingSevenCrossbar);


if(timeColor_tuple != NULL) {
Expand Down Expand Up @@ -213,6 +214,10 @@ void inbox_received_callback(DictionaryIterator *iterator, void *context) {
settings.shadow = (uint8_t)shadow_tuple->value->int32;
}

if(sevenCrossbar_tuple != NULL) {
settings.sevenCrossbar = (bool)sevenCrossbar_tuple->value->int8;
}

// save the new settings to persistent storage
Settings_saveToStorage();

Expand Down
4 changes: 3 additions & 1 deletion src/c/settings.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,10 @@ void Settings_loadFromStorage() {
settings.activateDisconnectIcon = s.activateDisconnectIcon;
// shadow setting is new, default to 0
settings.shadow = 0;
// sevenCrossbar is new, default to false
settings.sevenCrossbar = false;

// re-save in new v7 format
// re-save in new v8 format
Settings_saveToStorage();
} else {
// v7 settings: load directly via single persist read
Expand Down
3 changes: 2 additions & 1 deletion src/c/settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#include <pebble.h>
#include "sidebar_widgets.h"

#define CURRENT_SETTINGS_VERSION 7
#define CURRENT_SETTINGS_VERSION 8

// persistent storage keys
#define SETTINGS_PERSIST_KEY 100
Expand Down Expand Up @@ -59,6 +59,7 @@ typedef struct {
bool healthUseDistance;
bool healthUseRestfulSleep;
char decimalSeparator;
bool sevenCrossbar;
} Settings;

// Dynamic settings (calculated at runtime based on currently-selected widgets)
Expand Down
6 changes: 6 additions & 0 deletions src/pkjs/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,12 @@
"label": "Show Leading Zero for Hours",
"defaultValue": false
},
{
"type": "toggle",
"messageKey": "SettingSevenCrossbar",
"label": "Crossbar on 7",
"defaultValue": false
},
{
"type": "select",
"messageKey": "SettingClockFontId",
Expand Down
6 changes: 6 additions & 0 deletions src/pkjs/indexbrutal.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ new Clay([
"label": "Show Leading Zero for Hours",
"defaultValue": false
},
{
"type": "toggle",
"messageKey": "SettingSevenCrossbar",
"label": "Crossbar on 7",
"defaultValue": false
},
{
"type": "select",
"messageKey": "SettingClockFontId",
Expand Down