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
Другие вопросы по тегам