Add low fuel indicator
This commit is contained in:
+10
-4
@@ -41,6 +41,7 @@ static GBitmap *s_f_icon;
|
|||||||
|
|
||||||
// tracking statics
|
// tracking statics
|
||||||
static bool s_pkjs_ready = false;
|
static bool s_pkjs_ready = false;
|
||||||
|
static bool s_low_fuel_indicator = false;
|
||||||
static int s_batt_level;
|
static int s_batt_level;
|
||||||
static uint8_t s_temp_level;
|
static uint8_t s_temp_level;
|
||||||
|
|
||||||
@@ -50,9 +51,15 @@ static const uint8_t s_bar_width = 17;
|
|||||||
static const uint8_t s_bar_spacing = s_bar_height + 1;
|
static const uint8_t s_bar_spacing = s_bar_height + 1;
|
||||||
|
|
||||||
static void batt_callback(BatteryChargeState state) {
|
static void batt_callback(BatteryChargeState state) {
|
||||||
s_batt_level = state.charge_percent;
|
s_batt_level = state.charge_percent / 5;
|
||||||
layer_mark_dirty(s_fuel_layer);
|
layer_mark_dirty(s_fuel_layer);
|
||||||
layer_mark_dirty(s_temp_layer); // TODO temporary!!
|
if (!s_low_fuel_indicator && s_batt_level < 5) {
|
||||||
|
replace_gbitmap_color(s_applied_fg, GColorChromeYellow, s_e_icon, s_e_layer);
|
||||||
|
s_low_fuel_indicator = true;
|
||||||
|
} else if (s_low_fuel_indicator && s_batt_level > 4) {
|
||||||
|
replace_gbitmap_color(GColorChromeYellow, s_applied_fg, s_e_icon, s_e_layer);
|
||||||
|
s_low_fuel_indicator = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO use temperature (for now it updates with battery usage)
|
// TODO use temperature (for now it updates with battery usage)
|
||||||
@@ -69,10 +76,9 @@ static void temp_update_proc(Layer *layer, GContext *ctx) {
|
|||||||
|
|
||||||
static void fuel_update_proc(Layer *layer, GContext *ctx) {
|
static void fuel_update_proc(Layer *layer, GContext *ctx) {
|
||||||
graphics_context_set_fill_color(ctx, GColorWhite);
|
graphics_context_set_fill_color(ctx, GColorWhite);
|
||||||
const uint8_t bar_count = s_batt_level / 5;
|
|
||||||
uint16_t bar_bottom_pos = 195;
|
uint16_t bar_bottom_pos = 195;
|
||||||
|
|
||||||
for (uint8_t i = 0; i < bar_count; ++i) {
|
for (uint8_t i = 0; i < s_batt_level; ++i) {
|
||||||
graphics_fill_rect(ctx, GRect(0, bar_bottom_pos, s_bar_width, s_bar_height), 0, GCornerNone);
|
graphics_fill_rect(ctx, GRect(0, bar_bottom_pos, s_bar_width, s_bar_height), 0, GCornerNone);
|
||||||
bar_bottom_pos -= s_bar_spacing;
|
bar_bottom_pos -= s_bar_spacing;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
#include "palette_manip.h"
|
#include "palette_manip.h"
|
||||||
|
|
||||||
#ifdef PBL_COLOR
|
|
||||||
|
|
||||||
int get_num_palette_colors(GBitmap *b){
|
int get_num_palette_colors(GBitmap *b){
|
||||||
GBitmapFormat format = gbitmap_get_format(b);
|
GBitmapFormat format = gbitmap_get_format(b);
|
||||||
switch (format) {
|
switch (format) {
|
||||||
@@ -35,7 +33,4 @@ void replace_gbitmap_color(GColor color_to_replace, GColor replace_with_color, G
|
|||||||
if(bml != NULL){
|
if(bml != NULL){
|
||||||
layer_mark_dirty(bitmap_layer_get_layer(bml));
|
layer_mark_dirty(bitmap_layer_get_layer(bml));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
Reference in New Issue
Block a user