Комментарии 4
Похоже, вот и ответ вопрос «почему Pebble до сих пор не сделают нормальную поддержку Unicode».
Странно, неужели так работать со шрифтами выгоднее с т.з. ресурсов, чем «просто» их рендерить в рантайме (не уверен, как именно всё это работает в обычных ОС)?
Странно, неужели так работать со шрифтами выгоднее с т.з. ресурсов, чем «просто» их рендерить в рантайме (не уверен, как именно всё это работает в обычных ОС)?
Благо, уважаемый beliakov достаточно подробно описал, как это сделать, да и официальной информации хватает.
Я кстати обошелся без добавления цветных копий графических ресурсов. Берем черно-белый битмап и меняем в палитре белый цвет на желаемый:
GBitmap *planet_bitmap = gbitmap_create_with_resource(resource_id);
#ifdef PBL_COLOR
GColor *current_palette = gbitmap_get_palette(planet_bitmap);
for(int i = 0; i < 16; i++){
if ((GColorWhite.argb & 0x3F)==(current_palette[i].argb & 0x3F)){
current_palette[i].argb = (current_palette[i].argb & 0xC0)| (color.argb & 0x3F);
}
}
#endif
Забыл упомянуть что этот трюк с палитрой я позаимствовал отсюда:
github.com/rebootsramblings/GBitmap-Colour-Palette-Manipulator/blob/master/src/gbitmap_color_palette_manipulator.c
github.com/rebootsramblings/GBitmap-Colour-Palette-Manipulator/blob/master/src/gbitmap_color_palette_manipulator.c
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Раскрашивание циферблата для Pebble Time: битва за ресурсы