Upload files to "src/c"
This commit is contained in:
57
src/c/battery.c
Normal file
57
src/c/battery.c
Normal file
@@ -0,0 +1,57 @@
|
||||
#include <pebble.h>
|
||||
#include "battery.h"
|
||||
#include "constants.h"
|
||||
#include "analog_wd.h"
|
||||
|
||||
extern Options s_options;
|
||||
|
||||
//adds/configures display battery line
|
||||
void add_battery_layer(Layer *window_layer, int16_t width, int16_t height) {
|
||||
|
||||
GFont battery_font;
|
||||
int battery_Y_readability_offset = 0;
|
||||
int battery_X_hour_digits_offset = 0;
|
||||
|
||||
if (s_options.readability) {
|
||||
battery_Y_readability_offset = DEFAULT_BATTERY_OFFSET_READABILITY;
|
||||
battery_font = fonts_get_system_font(FONT_KEY_GOTHIC_24);
|
||||
}
|
||||
else {
|
||||
battery_font = fonts_get_system_font(FONT_KEY_GOTHIC_18);
|
||||
}
|
||||
|
||||
if (s_options.display_hour_digits) {
|
||||
battery_X_hour_digits_offset = DEFAULT_BATTERY_OFFSET_HOUR_DIGITS;
|
||||
}
|
||||
|
||||
battery_layer = text_layer_create(GRect(17 + battery_X_hour_digits_offset, (height / 2) - 12 - battery_Y_readability_offset, width, 28));
|
||||
text_layer_set_text_alignment(battery_layer, GTextAlignmentLeft);
|
||||
init_static_row(battery_layer, battery_font);
|
||||
layer_add_child(window_layer, text_layer_get_layer(battery_layer));
|
||||
}
|
||||
|
||||
//checks/updates date display line
|
||||
void update_battery_layer() {
|
||||
static char battery_buffer[16];
|
||||
const char *current_battery_layer;
|
||||
|
||||
//if displaying battery
|
||||
if (s_options.display_battery) {
|
||||
|
||||
//get current date_layer text
|
||||
current_battery_layer = text_layer_get_text(battery_layer);
|
||||
|
||||
//get battery percent
|
||||
snprintf(battery_buffer, sizeof("100%"), "%d%%", battery_state_service_peek().charge_percent);
|
||||
|
||||
if (current_battery_layer != battery_buffer) {
|
||||
text_layer_set_text(battery_layer, battery_buffer);
|
||||
}
|
||||
}
|
||||
else {
|
||||
text_layer_set_text(battery_layer, "");
|
||||
}
|
||||
#if DEBUG
|
||||
APP_LOG(APP_LOG_LEVEL_DEBUG, "update_battery_layer: text_layer_set_text battery_layer: %s", battery_buffer);
|
||||
#endif
|
||||
}
|
||||
Reference in New Issue
Block a user