我制作了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
的变量,如果它使用玄武岩硬件并将其设置为GColorWhite,则将其设置为GColorPastelYellow Aplite硬件?
我现在有这个:
static GColor *myColor;
#ifdef PBL_COLOR
myColor = GColorPastelYellow;
#else
myColor = GColorWhite;
#endif
不成功地说不起作用:/任何人都有解决方案来实现这个目标吗?
答案 0 :(得分:1)
您可能收到错误,因为window_set_background_color
期望GColor
不是GColor *
,但您仍然无法使GColor
成为静态。一个很好的解释是here。
但是,您可以使用#define
。像:
#ifdef PBL_COLOR
#define MYCOLOR GColorPastelYellow
#else
#define MYCOLOR GColorWhite
#endif