Beispiel #1
0
static void handle_bluetooth(bool connected) {
  if (connected == true && !(bitmap_layer_get_bitmap(sBluetoothLayer) == s_res_bluetooth)) {
    bitmap_layer_set_bitmap(sBluetoothLayer, s_res_bluetooth);
  }
  if (connected == false && !(bitmap_layer_get_bitmap(sBluetoothLayer) == s_res_empty)){
    bitmap_layer_set_bitmap(sBluetoothLayer, s_res_empty);
  }
  vibes_short_pulse();
}
Beispiel #2
0
static void center() {
  if(bitmap_layer_get_bitmap(topleft_image) == num1right && bitmap_layer_get_bitmap(topright_image) != num1left) {
    // top row left alignment
    layer_set_frame(bitmap_layer_get_layer(topleft_image), GRect(0, 5, 64, 76));
    layer_set_frame(bitmap_layer_get_layer(topright_image), GRect(64, 5, 64, 76));
  }
  else if(bitmap_layer_get_bitmap(topleft_image) != num1right && bitmap_layer_get_bitmap(topright_image) == num1left) {
    // top row right alignment
    layer_set_frame(bitmap_layer_get_layer(topleft_image), GRect(14, 5, 64, 76));
    layer_set_frame(bitmap_layer_get_layer(topright_image), GRect(78, 5, 64, 76));
  } else {
    // top row default alignment
    layer_set_frame(bitmap_layer_get_layer(topleft_image), GRect(7, 5, 64, 76));
    layer_set_frame(bitmap_layer_get_layer(topright_image), GRect(71, 5, 64, 76));
  }
  
  if(bitmap_layer_get_bitmap(bottomleft_image) == num1right && bitmap_layer_get_bitmap(bottomright_image) != num1left) {
    // bottom row left alignment
    layer_set_frame(bitmap_layer_get_layer(bottomleft_image), GRect(0, 86, 64, 76));
    layer_set_frame(bitmap_layer_get_layer(bottomright_image), GRect(64, 86, 64, 76));
  }
  else if(bitmap_layer_get_bitmap(bottomleft_image) != num1right && bitmap_layer_get_bitmap(bottomright_image) == num1left) {
    // bottom row right alignment
    layer_set_frame(bitmap_layer_get_layer(bottomleft_image), GRect(14, 86, 64, 76));
    layer_set_frame(bitmap_layer_get_layer(bottomright_image), GRect(78, 86, 64, 76));
  } else {
    // bottom row default alignment
    layer_set_frame(bitmap_layer_get_layer(bottomleft_image), GRect(7, 86, 64, 76));
    layer_set_frame(bitmap_layer_get_layer(bottomright_image), GRect(71, 86, 64, 76));
  }
}
Beispiel #3
0
void handle_battery(BatteryChargeState charge) {
  if (charge.is_charging && !(bitmap_layer_get_bitmap(sChargingLayer) == s_res_charging)) {
    bitmap_layer_set_bitmap(sChargingLayer, s_res_charging);
  }
  else if(!(bitmap_layer_get_bitmap(sChargingLayer) == s_res_empty)) {
    bitmap_layer_set_bitmap(sChargingLayer, s_res_empty);
  }
  
  if (charge.charge_percent >= 90 && !(bitmap_layer_get_bitmap(sBatteryLayer) == s_res_battery_100)) {
    bitmap_layer_set_bitmap(sBatteryLayer, s_res_battery_100);
  }
  else if (charge.charge_percent >= 70 && charge.charge_percent < 90 && !(bitmap_layer_get_bitmap(sBatteryLayer) == s_res_battery_80)) {
    bitmap_layer_set_bitmap(sBatteryLayer, s_res_battery_80);
  }
  else if (charge.charge_percent >= 50 && charge.charge_percent < 70 && !(bitmap_layer_get_bitmap(sBatteryLayer) == s_res_battery_60)) {
    bitmap_layer_set_bitmap(sBatteryLayer, s_res_battery_60);
  }
  else if (charge.charge_percent >= 30 && charge.charge_percent < 50 && !(bitmap_layer_get_bitmap(sBatteryLayer) == s_res_battery_40)) {
    bitmap_layer_set_bitmap(sBatteryLayer, s_res_battery_40);
  }
  else if (charge.charge_percent >= 10 && charge.charge_percent < 30 && !(bitmap_layer_get_bitmap(sBatteryLayer) == s_res_battery_20)) {
    bitmap_layer_set_bitmap(sBatteryLayer, s_res_battery_20);
  }
  else if(charge.charge_percent < 10 && !(bitmap_layer_get_bitmap(sBatteryLayer) == s_res_battery_0)) {
    bitmap_layer_set_bitmap(sBatteryLayer, s_res_battery_0);
  }

}
Beispiel #4
0
static void bitmapLayerUpdate(struct Layer *layer, GContext *ctx){
  GBitmap *framebuffer;
  const GBitmap *graphic = bitmap_layer_get_bitmap((BitmapLayer *)layer);
  int height;
  uint8_t finalBits;
  uint8_t *bfr, *bitmap;;
  
//  printf("bitmap layer update proc\n");
  framebuffer = graphics_capture_frame_buffer(ctx);
  height = graphic->bounds.size.h;
//  APP_LOG(APP_LOG_LEVEL_DEBUG, "bitmaplayerupdate: %d, height: %d", framebuffer->row_size_bytes, height);
  
  for (int yindex =0; yindex < height; yindex++){
    // APP_LOG(APP_LOG_LEVEL_DEBUG, "----- yindex %d", yindex);
    for ( int xindex = 0; xindex < graphic->row_size_bytes; xindex++){
      bfr = (((uint8_t*)framebuffer->addr)+(yindex * framebuffer->row_size_bytes)+xindex);
      bitmap = (((uint8_t*)graphic->addr)+(yindex * graphic->row_size_bytes)+xindex);
      finalBits = *bitmap ^ *bfr;
      // APP_LOG(APP_LOG_LEVEL_DEBUG, "bfr: %0x, bitmsp: %0x, finalBits: %x", (unsigned int)bfr, (unsigned int)bitmap, finalBits );
      
      *bfr = finalBits;
    }
  }

  graphics_release_frame_buffer(ctx, framebuffer);
  
}