Pebble SDK:将颜色存储为变量

时间:2015-05-09 12:28:19

标签: c variables colors pebble-watch 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的变量,如果它使用玄武岩硬件并将其设置为GColorWhite,则将其设置为GColorPastelYellow Aplite硬件?

我现在有这个:

static GColor *myColor;

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

不成功地说不起作用:/任何人都有解决方案来实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

您可能收到错误,因为window_set_background_color期望GColor不是GColor *,但您仍然无法使GColor成为静态。一个很好的解释是here

但是,您可以使用#define。像:

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