Skip to content

Commit

Permalink
optimize theme pallete code
Browse files Browse the repository at this point in the history
  • Loading branch information
RyanDam committed Apr 12, 2020
1 parent 71dcbb1 commit 6e16585
Show file tree
Hide file tree
Showing 3 changed files with 40 additions and 190 deletions.
2 changes: 2 additions & 0 deletions resources/jsons/resources.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@
<jsonData id="bar_pos_bottom" filename="bar_pos_bottom.json"/>
<jsonData id="bar_font_top" filename="bar_font_top.json"/>
<jsonData id="bar_pos_top" filename="bar_pos_top.json"/>

<jsonData id="theme_pallete" filename="theme.json"/>
</resources>
18 changes: 18 additions & 0 deletions resources/jsons/theme.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"0": [0, 16777215, 16711680, 5592405, 11184810, 5570560, 16776960, 255],
"1": [16777215, 0, 16711680, 11184810, 5592405, 11184810, 11162880, 255],
"2": [21930, 16777215, 85, 5592405, 85, 43775, 16776960, 255],
"3": [16733440, 16777215, 85, 5592405, 16777215, 85, 16776960, 255],
"4": [16776960, 0, 11184810, 5592405, 5592405, 11184810, 16711680, 255],
"7": [0, 16777215, 255, 5592405, 16777215, 85, 16776960, 43775],
"8": [16777215, 0, 255, 5592405, 5592405, 11184810, 11162880, 255],
"9": [5592405, 16777215, 0, 0, 16777215, 11184810, 16776960, 255],
"10": [11184810, 0, 5592405, 5592405, 0, 5592405, 11162880, 255],
"11": [16711765, 16777215, 11184810, 11184810, 16777215, 11141205, 16776960, 255],
"12": [85, 16777215, 255, 170, 16777215, 170, 16776960, 43775],
"13": [0, 16777215, 16711680, 11184810, 16777215, 5570560, 16777215, 16777215],
"14": [16777215, 0, 16711680, 5592405, 0, 11184810, 0, 0],
"15": [5614080, 0, 16776960, 5592320, 16776960, 5592320, 0, 0],
"16": [0, 16777215, 267735040, 5592405, 11184810, 5570560, 16733440, 16733440],
"17": [0, 16777215, 5635925, 5592405, 16777215, 21760, 65280, 65280]
}
210 changes: 20 additions & 190 deletions source/HuwaiiView.mc
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ class HuwaiiView extends WatchUi.WatchFace {

var did_clear = false;

var last_theme_code = -1;

function initialize() {
WatchFace.initialize();
}
Expand Down Expand Up @@ -219,8 +221,6 @@ class HuwaiiView extends WatchUi.WatchFace {
}
force_render_component = false;

// System.println("2");

onPartialUpdate(dc);
}

Expand All @@ -242,11 +242,9 @@ class HuwaiiView extends WatchUi.WatchFace {
if (current_is_analogue) {
// turned to digital
analogDisplay.removeFont();
// digitalDisplay.checkCurrentFont();
} else {
// turned to analogue
digitalDisplay.removeFont();
// analogDisplay.checkCurrentFont();
}
}

Expand All @@ -261,36 +259,24 @@ class HuwaiiView extends WatchUi.WatchFace {
var bbar2 = View.findDrawableById("tUBarDisplay");

bar1.draw(dc);
// System.println("4");
bar2.draw(dc);
// System.println("5");
bar3.draw(dc);
// System.println("6");
bar4.draw(dc);
// System.println("7");
bar5.draw(dc);
// System.println("8");
bar6.draw(dc);
// System.println("9");

dc.setColor(gbackground_color, Graphics.COLOR_TRANSPARENT);
// dc.setColor(0x555555, Graphics.COLOR_TRANSPARENT);
dc.fillCircle(centerX, centerY, face_radius);

backgroundView.draw(dc);
// System.println("10");

bbar1.draw(dc);
bbar2.draw(dc);
// System.println("11");


var bgraph1 = View.findDrawableById("tGraphDisplay");
var bgraph2 = View.findDrawableById("bGraphDisplay");
bgraph1.draw(dc);
bgraph2.draw(dc);
// System.println("12");


// Call the parent onUpdate function to redraw the layout
if (Application.getApp().getProperty("use_analog")) {
analogDisplay.draw(dc);
Expand All @@ -303,9 +289,6 @@ class HuwaiiView extends WatchUi.WatchFace {
function onPartialUpdate(dc) {
if (!((Application.getApp().getProperty("use_analog")))) {
if (Application.getApp().getProperty("always_on_second")) {
// var start = System.getTimer();


var clockTime = System.getClockTime();
var second_text = clockTime.sec.format("%02d");
var ss = dc.getTextDimensions(second_text, second_digi_font);
Expand All @@ -319,10 +302,6 @@ class HuwaiiView extends WatchUi.WatchFace {
second_text,
Graphics.TEXT_JUSTIFY_LEFT);
dc.clearClip();

// var end = System.getTimer();

// System.println("spatial draw " + (end-start) + "ms");
}

if (Application.getApp().getProperty("always_on_heart")) {
Expand All @@ -337,7 +316,7 @@ class HuwaiiView extends WatchUi.WatchFace {
var s2 = (second_clip_size[0]*1.25).toNumber();
dc.setClip(heart_x-s2-1, second_y, s2+2, second_clip_size[1]);
dc.setColor(Graphics.COLOR_TRANSPARENT, gbackground_color);
// dc.setColor(Graphics.COLOR_TRANSPARENT, 0x555555);

dc.clear();
dc.setColor(gmain_color, Graphics.COLOR_TRANSPARENT);
dc.drawText(heart_x-1, second_y-font_padding,
Expand All @@ -360,8 +339,8 @@ class HuwaiiView extends WatchUi.WatchFace {

// The user has just looked at their watch. Timers and animations may be started here.
function onExitSleep() {
// var dialDisplay = View.findDrawableById("analog");
// dialDisplay.enableSecondHand();
var dialDisplay = View.findDrawableById("analog");
dialDisplay.enableSecondHand();

if (HuwaiiApp has :checkPendingWebRequests) { // checkPendingWebRequests() can be excluded to save memory.
App.getApp().checkPendingWebRequests(); // Depends on mDataFields.hasField().
Expand All @@ -370,173 +349,24 @@ class HuwaiiView extends WatchUi.WatchFace {

// Terminate any active timers and prepare for slow updates.
function onEnterSleep() {
// var dialDisplay = View.findDrawableById("analog");
// dialDisplay.disableSecondHand();
var dialDisplay = View.findDrawableById("analog");
dialDisplay.disableSecondHand();
}

function checkTheme() {
var theme_code = Application.getApp().getProperty("theme_code");
if (theme_code == 0) {
// dark
gbackground_color = 0x000000;
gmain_color = 0xFFFFFF;
gsecondary_color = 0xFF0000;
garc_color = 0x555555;
gbar_color_indi = 0xAAAAAA;
gbar_color_back = 0x550000;
gbar_color_0 = 0xFFFF00;
gbar_color_1 = 0x0000FF;
} else if (theme_code == 1) {
// light
gbackground_color = 0xFFFFFF;
gmain_color = 0x000000;
gsecondary_color = 0xFF0000;
garc_color = 0xAAAAAA;
gbar_color_indi = 0x555555;
gbar_color_back = 0xAAAAAA;
gbar_color_0 = 0xAA5500;
gbar_color_1 = 0x0000FF;
} else if (theme_code == 2) {
// Ocean
gbackground_color = 0x0055AA;
gmain_color = 0xFFFFFF;
gsecondary_color = 0x000055;
garc_color = 0x555555;
gbar_color_indi = 0x000055;
gbar_color_back = 0x00AAFF;
gbar_color_0 = 0xFFFF00;
gbar_color_1 = 0x0000FF;
} else if (theme_code == 3) {
// Orange
gbackground_color = 0xFF5500;
gmain_color = 0xFFFFFF;
gsecondary_color = 0x000055;
garc_color = 0x555555;
gbar_color_indi = 0xFFFFFF;
gbar_color_back = 0x000055;
gbar_color_0 = 0xFFFF00;
gbar_color_1 = 0x0000FF;
} else if (theme_code == 4) {
// radio active
gbackground_color = 0xFFFF00;
gmain_color = 0x000000;
gsecondary_color = 0xAAAAAA;
garc_color = 0x555555;
gbar_color_indi = 0x555555;
gbar_color_back = 0xAAAAAA;
gbar_color_0 = 0xFF0000;
gbar_color_1 = 0x0000FF;
} else if (theme_code == 7) {
// dark blue
gbackground_color = 0x000000;
gmain_color = 0xFFFFFF;
gsecondary_color = 0x0000FF;
garc_color = 0x555555;
gbar_color_indi = 0xFFFFFF;
gbar_color_back = 0x000055;
gbar_color_0 = 0xFFFF00;
gbar_color_1 = 0x00AAFF;
} else if (theme_code == 8) {
// light blue
gbackground_color = 0xFFFFFF;
gmain_color = 0x000000;
gsecondary_color = 0x0000FF;
garc_color = 0x555555;
gbar_color_indi = 0x555555;
gbar_color_back = 0xAAAAAA;
gbar_color_0 = 0xAA5500;
gbar_color_1 = 0x0000FF;
} else if (theme_code == 9) {
// gray
gbackground_color = 0x555555;
gmain_color = 0xFFFFFF;
gsecondary_color = 0x000000;
garc_color = 0x000000;
gbar_color_indi = 0xFFFFFF;
gbar_color_back = 0xAAAAAA;
gbar_color_0 = 0xFFFF00;
gbar_color_1 = 0x0000FF;
} else if (theme_code == 10) {
// light gray
gbackground_color = 0xAAAAAA;
gmain_color = 0x000000;
gsecondary_color = 0x555555;
garc_color = 0x555555;
gbar_color_indi = 0x000000;
gbar_color_back = 0x555555;
gbar_color_0 = 0xAA5500;
gbar_color_1 = 0x0000FF;
} else if (theme_code == 11) {
// pink
gbackground_color = 0xFF0055;
gmain_color = 0xFFFFFF;
gsecondary_color = 0xAAAAAA;
garc_color = 0xAAAAAA;
gbar_color_indi = 0xFFFFFF;
gbar_color_back = 0xAA0055;
gbar_color_0 = 0xFFFF00;
gbar_color_1 = 0x0000FF;
} else if (theme_code == 12) {
// deep ocean
gbackground_color = 0x000055;
gmain_color = 0xFFFFFF;
gsecondary_color = 0x0000FF;
garc_color = 0x0000AA;
gbar_color_indi = 0xFFFFFF;
gbar_color_back = 0x0000AA;
gbar_color_0 = 0xFFFF00;
gbar_color_1 = 0x00AAFF;
} else if (theme_code == 13) {
// dark
gbackground_color = 0x000000;
gmain_color = 0xFFFFFF;
gsecondary_color = 0xFF0000;
garc_color = 0xAAAAAA;
gbar_color_indi = 0xFFFFFF;
gbar_color_back = 0x550000;
gbar_color_0 = 0xFFFFFF;
gbar_color_1 = 0xFFFFFF;
} else if (theme_code == 14) {
// light contrast
gbackground_color = 0xFFFFFF;
gmain_color = 0x000000;
gsecondary_color = 0xFF0000;
garc_color = 0x555555;
gbar_color_indi = 0x000000;
gbar_color_back = 0xAAAAAA;
gbar_color_0 = 0x000000;
gbar_color_1 = 0x000000;
} else if (theme_code == 15) {
// camo
gbackground_color = 0x55AA00;
gmain_color = 0x000000;
gsecondary_color = 0xFFFF00;
garc_color = 0x555500;
gbar_color_indi = 0xFFFF00;
gbar_color_back = 0x555500;
gbar_color_0 = 0x000000;
gbar_color_1 = 0x000000;
} else if (theme_code == 16) {
// solar
gbackground_color = 0x000000;
gmain_color = 0xFFFFFF;
gsecondary_color = 0xFF5500;
garc_color = 0x555555;
gbar_color_indi = 0xAAAAAA;
gbar_color_back = 0x550000;
gbar_color_0 = 0xFF5500;
gbar_color_1 = 0xFF5500;
} else if (theme_code == 17) {
// lime
gbackground_color = 0x000000;
gmain_color = 0xFFFFFF;
gsecondary_color = 0x55FF55;
garc_color = 0x555555;
gbar_color_indi = 0xFFFFFF;
gbar_color_back = 0x005500;
gbar_color_0 = 0x00FF00;
gbar_color_1 = 0x00FF00;
}
if (last_theme_code == -1 || last_theme_code != theme_code) {
var theme_pallete = WatchUi.loadResource(Rez.JsonData.theme_pallete);
var theme = theme_pallete[""+theme_code];
gbackground_color = theme[0];
gmain_color = theme[1];
gsecondary_color = theme[2];
garc_color = theme[3];
gbar_color_indi = theme[4];
gbar_color_back = theme[5];
gbar_color_0 = theme[6];
gbar_color_1 = theme[7];
}
}

}

0 comments on commit 6e16585

Please sign in to comment.