C Pebble SDK:将颜色存储为变量

C Pebble SDK:将颜色存储为变量,c,variables,colors,pebble-watch,pebble-sdk,C,Variables,Colors,Pebble Watch,Pebble Sdk,我正在制作鹅卵石时代版本的手表 我希望能够设置一个颜色变量,该变量将根据使用卵石时间还是使用卵石OG来保存颜色 我知道你可以做到: #ifdef PBL_COLOR window_set_background_color(s_main_window, GColorDukeBlue); #else window_set_background_color(s_main_window, GColorBlack); #endif 但是我不想把这个应用到我想要改变颜色的50个不同的元素上。我能否

我正在制作鹅卵石时代版本的手表

我希望能够设置一个颜色变量,该变量将根据使用卵石时间还是使用卵石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;如果使用Aplite硬件,则将其设置为GColorWhite

我现在有这个:

static GColor *myColor;

#ifdef PBL_COLOR
  myColor = GColorPastelYellow;
#else
  myColor = GColorWhite;
#endif

不幸的是,这不起作用:/任何人都有办法做到这一点吗?

您可能会遇到一个错误,因为
窗口设置\u背景\u颜色
要求的是
GColor
而不是
GColor*
,但您仍然无法使
GColor
静态。一个很好的解释是

但是,您可以使用
#define
来发挥您的优势。比如:

#ifdef PBL_COLOR
  #define MYCOLOR GColorPastelYellow
#else
  #define MYCOLOR GColorWhite
#endif

谢谢Kirby!!我还不太习惯这一切,但我正在努力。。。PS:真的很喜欢你在展示时间表时所做的演讲:)