Pebble SDK: хранить цвет как переменную
Я делаю Pebble Time версии моих часов.
Я хочу иметь возможность установить цветовую переменную, которая будет содержать цвет в зависимости от того, используется время Pebble Time или Pebble OG.
Я знаю, что вы можете сделать это:
#ifdef PBL_COLOR
window_set_background_color(s_main_window, GColorDukeBlue);
#else
window_set_background_color(s_main_window, GColorBlack);
#endif
Но я не хочу применять это к 50 различным элементам, на которые я хочу изменить цвет. Могу ли я установить переменную с именем myColor
в начале моей программы в начале моей программы и установите его в GColorPastelYellow, если он использует аппаратное обеспечение Basalt, и установите его в GColorWhite, если это аппаратное обеспечение Aplite?
У меня есть это прямо сейчас:
static GColor *myColor;
#ifdef PBL_COLOR
myColor = GColorPastelYellow;
#else
myColor = GColorWhite;
#endif
К сожалению, это не работает:/ У кого-нибудь есть решение для достижения этой цели?
1 ответ
Вы, вероятно, получили ошибку, потому что window_set_background_color
ожидает GColor
не GColor *
, но вы все еще не можете сделать GColor
статичный. Отличное объяснение здесь.
Однако вы можете использовать #define
в ваших интересах. Подобно:
#ifdef PBL_COLOR
#define MYCOLOR GColorPastelYellow
#else
#define MYCOLOR GColorWhite
#endif