void init(void) {
	window = window_create();
	window_stack_push(window, true);
	
  s_time_layer = text_layer_create(GRect(0, 15, 144, 40));
  text_layer_set_background_color(s_time_layer, GColorBlack);
  text_layer_set_text_color(s_time_layer, GColorWhite);
  text_layer_set_text(s_time_layer, "00:00:00");
  text_layer_set_text_alignment(s_time_layer, GTextAlignmentCenter);
  text_layer_set_font(s_time_layer, fonts_get_system_font(FONT_KEY_ROBOTO_CONDENSED_21));
  layer_add_child(window_get_root_layer(window), (Layer *)s_time_layer);	
	
	//Somebody set us up the CLOCK
	time_t now = time(NULL);
	struct tm *tick_time = localtime(&now);  

	handle_tick(tick_time, SECOND_UNIT);
	//tick_timer_service_subscribe(SECOND_UNIT, handle_tick);	
	
  Layer *window_layer = window_get_root_layer(window);
	layer_set_update_proc(window_layer, bg_update_proc);
	
	// Register AppMessage handlers
	//app_message_register_inbox_received(in_received_handler); 
	//app_message_register_inbox_dropped(in_dropped_handler); 
	//app_message_register_outbox_failed(out_failed_handler);
		
	//app_message_open(app_message_inbox_size_maximum(), app_message_outbox_size_maximum());
	
	//send_message();
}
void window_load(Window *window) {
	Layer *window_layer = window_get_root_layer(window);

	arrow_bar_layer = layer_create(GRect(0, 64, 144, 36));
	layer_set_update_proc( arrow_bar_layer, (LayerUpdateProc) update_arrow_bar_layer_bg );
	layer_add_child( window_layer, arrow_bar_layer);
	
	bmp_plus_white  = gbitmap_create_with_resource( RESOURCE_ID_IMAGE_BUTTON_PLUS_WHITE  );
	bmp_plus_black  = gbitmap_create_with_resource( RESOURCE_ID_IMAGE_BUTTON_PLUS_BLACK  );
	bmp_minus_white = gbitmap_create_with_resource( RESOURCE_ID_IMAGE_BUTTON_MINUS_WHITE );
	bmp_minus_black = gbitmap_create_with_resource( RESOURCE_ID_IMAGE_BUTTON_MINUS_BLACK );
	
	bmp_arrow_up    = gbitmap_create_with_resource( RESOURCE_ID_IMAGE_ARROW_UP   );
	bmp_arrow_down  = gbitmap_create_with_resource( RESOURCE_ID_IMAGE_ARROW_DOWN );

	button_top_white    = bitmap_layer_create( GRect(119, 0,   26, 26) );
	button_top_black    = bitmap_layer_create( GRect(119, 0,   26, 26) );
	button_bottom_white = bitmap_layer_create( GRect(119, 127, 26, 26) );
	button_bottom_black = bitmap_layer_create( GRect(119, 127, 26, 26) );
	
	button_arrow = bitmap_layer_create( GRect(53, 70, 20, 21) );
	set_button_arrow();
	
	set_button_graphic( window_layer, button_top_white,    button_top_black,    bmp_plus_white,  bmp_plus_black  );
	set_button_graphic( window_layer, button_bottom_white, button_bottom_black, bmp_minus_white, bmp_minus_black );
	
	counter_lbl_top    = text_layer_create( GRect(0, 10,  124, 46) );
	counter_lbl_bottom = text_layer_create( GRect(0, 100, 124, 46) );
	init_counter_lbl( window_layer, counter_lbl_top    );
	init_counter_lbl( window_layer, counter_lbl_bottom );
	
	populate_counter_labels(  );	
	
	window_set_background_color(window, GColorBlack);
}
示例#3
0
/*
 * Function: window_load
 * ----------------------------------------------------------------------------
 *   Overview window load handler.
 *   Creates and inits the needed layers and sets the mood.
 *
 *   window: the window that has been loaded
 * ----------------------------------------------------------------------------
 */
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);
  GRect bounds = layer_get_bounds(window_layer);
  
  // Create Mood avg + median info Text Layer
  s_text_layer = text_layer_create(GRect(0, 0, bounds.size.w, TOP_TEXT_H));
  text_layer_set_text_alignment(s_text_layer, GTextAlignmentCenter);
  text_layer_set_font(s_text_layer, 
                      fonts_get_system_font(FONT_KEY_GOTHIC_28_BOLD));
  layer_add_child(window_layer, (Layer *)s_text_layer);
  set_mood();
  
  s_mood_min = storage_read_int(KEY_MOOD_MIN, NUM_MOOD_MIN);
  s_mood_max = storage_read_int(KEY_MOOD_MAX, NUM_MOOD_MAX);
  s_mood_step = storage_read_int(KEY_MOOD_STEP, NUM_MOOD_STEP);
  s_num_moods = (abs(s_mood_min) + s_mood_max);

  // Create Graph Canvas Layer
  s_canvas_layer = layer_create(GRect(0, TOP_TEXT_H, bounds.size.w, 
                                      bounds.size.h-TOP_TEXT_H));
  layer_add_child(window_layer, s_canvas_layer);
  
  // Set the Graph Layer update_proc
  layer_set_update_proc(s_canvas_layer, canvas_update_proc);
}
示例#4
0
static ProgressBarLayer * progress_bar_layer_create(int y_pos) {
    ProgressBarLayer *progress_bar_layer = layer_create_with_data(GRect(6, y_pos, PBAR_WIDTH, PBAR_HEIGHT), sizeof(ProgressData));
    layer_set_update_proc(progress_bar_layer, progress_bar_layer_update);
    layer_mark_dirty(progress_bar_layer);

    return progress_bar_layer;
}
示例#5
0
void show_watchface(void) {
  initialise_ui();
  
  s_res_charging = gbitmap_create_with_resource(RESOURCE_ID_CHARGING);
  s_res_battery_20 = gbitmap_create_with_resource(RESOURCE_ID_BATTERY_20);
  s_res_battery_40 = gbitmap_create_with_resource(RESOURCE_ID_BATTERY_40);
  s_res_battery_60 = gbitmap_create_with_resource(RESOURCE_ID_BATTERY_60);
  s_res_battery_80 = gbitmap_create_with_resource(RESOURCE_ID_BATTERY_80);
  s_res_battery_100 = gbitmap_create_with_resource(RESOURCE_ID_BATTERY_100);
  
  layer_set_update_proc(sCalendarLayer, calendar_layer_update_callback);
  tick_timer_service_subscribe(MINUTE_UNIT, handle_minute_tick);
  battery_state_service_subscribe(handle_battery);
  bluetooth_connection_service_subscribe(handle_bluetooth);
  
  sTimer = NULL;
  
  btStatus = bluetooth_connection_service_peek();
  handle_battery(battery_state_service_peek());
  
  currentTime = get_time();
  update_time_text();
  update_date_text();
  layer_mark_dirty(sCalendarLayer);
  
  window_set_window_handlers(s_window, (WindowHandlers) {
    .unload = handle_window_unload,
  });
static Layer* selection_layer_init(SelectionLayerData *selection_layer_, GRect frame, int num_cells) {
  Layer *layer = layer_create_with_data(frame, sizeof(SelectionLayerData));
  SelectionLayerData *selection_layer_data = layer_get_data(layer);

  if (num_cells > MAX_SELECTION_LAYER_CELLS) {
    num_cells = MAX_SELECTION_LAYER_CELLS;
  }

  // Set layer defaults
  *selection_layer_data = (SelectionLayerData) {
    .active_background_color = DEFAULT_ACTIVE_COLOR,
    .inactive_background_color = DEFAULT_INACTIVE_COLOR,
    .num_cells = num_cells,
    .cell_padding = DEFAULT_CELL_PADDING,
    .selected_cell_idx = DEFAULT_SELECTED_INDEX,
    .font = fonts_get_system_font(DEFAULT_FONT),
    .is_active = true,
  };
  for (int i = 0; i < num_cells; i++) {
    selection_layer_data->cell_widths[i] = 0;
  }
  layer_set_frame(layer, frame);
  layer_set_clips(layer, false);
  layer_set_update_proc(layer, (LayerUpdateProc)prv_draw_selection_layer);

  return layer;
}

Layer* selection_layer_create(GRect frame, int num_cells) {
  SelectionLayerData *selection_layer_data = NULL;
  return selection_layer_init(selection_layer_data, frame, num_cells);
}
示例#7
0
/*
 * Call back function when message comes in.
 * Add short vibrate when message comes in.
 */
void in_received_handler(DictionaryIterator *received, void *context) {
    //    incoming message received
    //    looks for key #0 in the incoming message
    int key = 0;
    Tuple *text_tuple = dict_find(received, key);
    if (text_tuple) {
        if (text_tuple->value) {
            // put it in this global variable
            char *message = text_tuple->value->cstring;
            if (message[strlen(message) - 1] == ',') {
              strcpy(msg, message);
              layer_set_update_proc(canvas_layer, layer_graph_update_callback);
              layer_mark_dirty(canvas_layer);
            }
            else {
              show_message(message);
            }
        }
        else  
          show_message("Not Getting Response from Server :(");
    }
    else {
        show_message("Not Getting Response from Server :(");
    }
    vibes_short_pulse();
}
示例#8
0
void handle_init(AppContextRef ctx) {
	Layer *rootLayer;
	int i;
	
	window_init(&window, "Minimalist");
	window_stack_push(&window, true /* Animated */);
	window_set_background_color(&window, GColorBlack);
	
	clock12 = !clock_is_24h_style();
	
	resource_init_current_app(&APP_RESOURCES);
	
	for (i=0; i<NUM_IMAGES; i++) {
		heap_bitmap_init(&digitBmp[i], digitId[i]);
#if WHITE_BACKGROUND
		bmpNegative(&digitBmp[i].bmp);
#endif
	}
	
	rootLayer = window_get_root_layer(&window);
	layer_init(&layer, GRect(0,0,SCREENW,SCREENH));
	layer_set_update_proc(&layer, &update_display);
	layer_add_child(rootLayer, &layer);
	
	handle_tick(ctx, NULL);
	//layer_mark_dirty(&layer);
}
示例#9
0
文件: main.c 项目: gerryk/ActiveHour
static void main_window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);
  GRect bounds = layer_get_bounds(window_layer);

  s_time_layer = text_layer_create(GRect(0, PBL_IF_ROUND_ELSE(61, 55), bounds.size.w, 50));  
  text_layer_set_background_color(s_time_layer, GColorClear);
  text_layer_set_text(s_time_layer, "00:00");
  text_layer_set_text_alignment(s_time_layer, GTextAlignmentCenter);
  layer_add_child(window_layer, text_layer_get_layer(s_time_layer));
  
  s_step_count_layer = text_layer_create(GRect(0, PBL_IF_ROUND_ELSE(45, 40), bounds.size.w, 40));
  text_layer_set_text_alignment(s_step_count_layer, GTextAlignmentCenter);
  text_layer_set_background_color(s_step_count_layer, GColorClear);
  layer_add_child(window_layer, text_layer_get_layer(s_step_count_layer));
  
  s_dayt_layer = text_layer_create(GRect(0, PBL_IF_ROUND_ELSE(106, 100), bounds.size.w, 40));
  text_layer_set_text_alignment(s_dayt_layer, GTextAlignmentCenter);
  text_layer_set_background_color(s_dayt_layer, GColorClear);
  layer_add_child(window_layer, text_layer_get_layer(s_dayt_layer));
  
  setLayerTextColors();
  setLayerFonts();
  
  s_canvas_layer = layer_create(bounds);
  layer_set_update_proc(s_canvas_layer, draw_proc);
  layer_add_child(window_layer, s_canvas_layer);
}
示例#10
0
void init_graph(Window *window) {
  // Create Graph Layer
  s_graph_layer = layer_create(GRect(2, 60, BOX_WIDTH, BOX_HEIGHT));
  layer_add_child(window_get_root_layer(window), s_graph_layer);
  layer_set_hidden(s_graph_layer, true);
  
  // Create Status Layer
  s_status_layer = layer_create(GRect(-120, 120, 120, 47));
  layer_add_child(window_get_root_layer(window), s_status_layer);
  snprintf(statusbuffer, 30, "Totalt: 0\nUser: 0"); 
  
  s_graph_path_ptr = gpath_create(&GRAPH_PATH_INFO);
  
  layer_set_update_proc(s_graph_layer, graph_layer_update_callback);
  layer_set_update_proc(s_status_layer, status_layer_update_callback);
}
示例#11
0
void load_weather(Window *window) {
	s_weather_layer = text_layer_create(GRect(0,0,144,50));
	//text_layer_set_text_color(s_weather_layer, GColorWhite);
	text_layer_set_text_color(s_weather_layer, default_color);
  text_layer_set_text_alignment(s_weather_layer, GTextAlignmentCenter);
	text_layer_set_background_color(s_weather_layer, GColorClear);
	text_layer_set_font(s_weather_layer, fonts_get_system_font(FONT_KEY_GOTHIC_14));
	
	s_weather_temp_min = text_layer_create(GRect(126,34,144,50));
	text_layer_set_text_color(s_weather_temp_min, default_color);
	text_layer_set_background_color(s_weather_temp_min, GColorClear);
	text_layer_set_font(s_weather_temp_min, fonts_get_system_font(FONT_KEY_GOTHIC_14));
	
	s_weather_temp_max = text_layer_create(GRect(126,23,144,50));
	text_layer_set_text_color(s_weather_temp_max, default_color);
	text_layer_set_background_color(s_weather_temp_max, GColorClear);
	text_layer_set_font(s_weather_temp_max, fonts_get_system_font(FONT_KEY_GOTHIC_14));
	
  s_weather_icon_layer = bitmap_layer_create(GRect(100, -8, 50, 50));
	//bitmap_layer_set_background_color(s_weather_icon_layer, GColorWhite);
	bitmap_layer_set_compositing_mode(s_weather_icon_layer, GCompOpSet);
  	
	s_weather_icon_draw_layer = layer_create(GRect(118, 1, 25, 25));
	layer_set_update_proc(s_weather_icon_draw_layer, update_weather_cmd_img_proc);
	
	weather_display_refresh();

  layer_add_child(window_get_root_layer(window), text_layer_get_layer(s_weather_layer));
	layer_add_child(window_get_root_layer(window), text_layer_get_layer(s_weather_temp_max));
	layer_add_child(window_get_root_layer(window), text_layer_get_layer(s_weather_temp_min));
	layer_add_child(window_get_root_layer(window), bitmap_layer_get_layer(s_weather_icon_layer));
	layer_add_child(window_get_root_layer(window), s_weather_icon_draw_layer);
}
示例#12
0
static void window_load(Window *window) {
    Layer *window_layer = window_get_root_layer(window);
    // GRect bounds = layer_get_bounds(window_layer);

    deco_layer = layer_create(GRect(0, 0, 144, 8));
    layer_set_update_proc(deco_layer, deco_layer_onupdate);

    arrow_image = gbitmap_create_with_resource(RESOURCE_ID_IMAGE_ARROW_24);
    image_layer = bitmap_layer_create(GRect(12, 20, 24, 24));
    bitmap_layer_set_bitmap(image_layer, arrow_image);

    text_layer = text_layer_create(GRect(16, 113, 128, 24));
    text_layer_set_background_color(text_layer, METRO_APP_BACK_COLOR);
    text_layer_set_text_color(text_layer, METRO_APP_TEXT_COLOR);

    text_font = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_OSWALD_LIGHT_18));
    text_layer_set_font(text_layer, text_font);

    time_layer = text_layer_create(GRect(16, 58, 128, 48));
    text_layer_set_background_color(time_layer, METRO_APP_BACK_COLOR);
    text_layer_set_text_color(time_layer, METRO_APP_TEXT_COLOR);

    time_font = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_OSWALD_REGULAR_48));
    text_layer_set_font(time_layer, time_font);

    layer_add_child(window_layer, deco_layer);
    layer_add_child(window_layer, bitmap_layer_get_layer(image_layer));
    layer_add_child(window_layer, text_layer_get_layer(text_layer));
    layer_add_child(window_layer, text_layer_get_layer(time_layer));
}
示例#13
0
static void init(void)
{
    memset(&time_digits_layers, 0, sizeof(time_digits_layers));
    memset(&time_digits_images, 0, sizeof(time_digits_images));

    const int inbound_size = 64;
    const int outbound_size = 64;
    app_message_open(inbound_size, outbound_size);  

    window = window_create();
    if (window == NULL)
    {
        return;
    }

    window_set_background_color(window, GColorBlack);
    
    canvas = layer_create(GRect(0, 0, 144, 168));
	layer_set_update_proc(canvas, (LayerUpdateProc) render);
	layer_add_child(window_get_root_layer(window), canvas);
	
    window_stack_push(window, true);
    Layer *window_layer = window_get_root_layer(window);
    
    load_settings();
    
    // Open AppMessage connection
    app_message_register_inbox_received(inbox_received_handler);
    app_message_open(128, 128);
    
    //owm_weather_init(5ba77aab84470992ddc7e49e4985aeab);
    //events_app_message_open();
    //owm_weather_fetch();    
    handle_weather();
    
    handle_battery(battery_state_service_peek());
    battery_state_service_subscribe(handle_battery);
 
    // Create time and date layers
    GRect dummy_frame = { {0, 0}, {0, 0} };

    for (int i = 0; i < TOTAL_TIME_DIGITS; i++)
    {
        time_digits_layers[i] = bitmap_layer_create(dummy_frame);
        layer_add_child(window_layer, bitmap_layer_get_layer(time_digits_layers[i]));
    }

    mFont = fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_20));
    mDayText = malloc(mDayTextSize);
    mWeatherText = malloc(mWeatherTextSize);
    mBatteryText = malloc(mBatteryTextSize);
    
    // Avoids a blank screen on watch start.
    time_t now = time(NULL);
    struct tm *tick_time = localtime(&now);
    handle_tick(tick_time, DAY_UNIT + HOUR_UNIT + MINUTE_UNIT);
    
    tick_timer_service_subscribe(MINUTE_UNIT, handle_tick);
}
void handle_init() {

  // Configure window
  window = window_create();
  window_stack_push(window, true /* Animated */);
  window_set_background_color(window, BKGD_COLOR);
  window_set_fullscreen(window, true);
  Layer *window_layer = window_get_root_layer(window);

  // Dynamic allocation of assets
  minuteFrame = GRect(53, 16, 40, 40);
  minuteLayer = text_layer_create(minuteFrame);
  hourLayer = bitmap_layer_create(GRect(0, 0, 144, 148));
  batteryLogoLayer = bitmap_layer_create(GRect(65, 151, 10, 15));
  batteryPercentLayer = text_layer_create(GRect(78, 150, 30, 167-150));
  dateLayer = text_layer_create(GRect(3, 150, 38, 167-150));
  dayLayer = text_layer_create(GRect(141-30, 150, 30, 167-150));
  text_layer_set_text_alignment(dayLayer, GTextAlignmentRight);
  bottomBarLayer = layer_create(GRect(1, 149, 142, 18));

  // Setup minute layer
  text_layer_set_text_color(minuteLayer, TEXT_COLOR);
  text_layer_set_background_color(minuteLayer, GColorClear);
  text_layer_set_font(minuteLayer, fonts_load_custom_font(resource_get_handle(RESOURCE_ID_FONT_MINUTE_38)));

  // Setup date & day layer
  text_layer_set_text_color(dateLayer, TEXT_COLOR);
  text_layer_set_background_color(dateLayer, GColorClear);
  text_layer_set_text_color(dayLayer, TEXT_COLOR);
  text_layer_set_background_color(dayLayer, GColorClear);

  // Setup battery layers
  text_layer_set_text_color(batteryPercentLayer, TEXT_COLOR);
  text_layer_set_background_color(batteryPercentLayer, GColorClear);

  // Setup line layer
  layer_set_update_proc(bottomBarLayer, bottom_bar_layer_update_callback);

  // Add layers into hierachy
  layer_add_child(bitmap_layer_get_layer(hourLayer), text_layer_get_layer(minuteLayer));
  layer_add_child(window_layer, bitmap_layer_get_layer(hourLayer));
  layer_add_child(window_layer, bottomBarLayer);
  layer_add_child(window_layer, bitmap_layer_get_layer(batteryLogoLayer));
  layer_add_child(window_layer, text_layer_get_layer(batteryPercentLayer));
  layer_add_child(window_layer, text_layer_get_layer(dateLayer));
  layer_add_child(window_layer, text_layer_get_layer(dayLayer));

  // Avoids a blank screen on watch start.
  time_t tick_time = time(NULL);
  display_time(localtime(&tick_time));
  handle_battery(battery_state_service_peek());
  handle_bluetooth(bluetooth_connection_service_peek());

  tick_timer_service_subscribe(MINUTE_UNIT, &handle_minute_tick);
  battery_state_service_subscribe(&handle_battery);
  bluetooth_connection_service_subscribe(&handle_bluetooth);

  initialized = true;
}
示例#15
0
DimLayer* dim_layer_create(GRect frame)
{
    DimLayer* new_dim_layer = layer_create_with_data(frame, sizeof(DimLayerData));
    layer_set_update_proc(new_dim_layer, dim_layer_update_proc);
    dim_layer_set_dim_mode(new_dim_layer, DimModeBright);
    
    return new_dim_layer;
}
示例#16
0
void bitmap_layer_init(BitmapLayer *image, GRect frame) {
    layer_init ((Layer*)image,frame);
    layer_set_update_proc((Layer*)image,bitmap_layer_update_func);
    image->bitmap=0;
    image->background_color=GColorClear;
    image->alignment=GAlignCenter;
    image->compositing_mode=GCompOpAssign;
}
// Setup the drawing layer to be drawn when the layer is created
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);
  GRect frame = layer_get_frame(window_layer);

  drawing_layer = layer_create(frame);
  layer_set_update_proc(drawing_layer, drawing_layer_update_callback);
  layer_add_child(window_layer, drawing_layer);
}
示例#18
0
static void main_window_load(Window *window) {
  setup_bitmaps();
  
  window_set_background_color(window, GColorBlack);
  
  Layer *root = window_get_root_layer(window);
  GRect bounds = layer_get_bounds(root);
  
  scale_layer = layer_create(GRect(0,0, bounds.size.w, bounds.size.h));
  layer_set_update_proc(scale_layer, update_scale);
  layer_add_child(root, scale_layer);
  
  hand_layer = layer_create(GRect(0, 0, bounds.size.w, bounds.size.h));
  layer_set_update_proc(hand_layer, update_hands);

  layer_add_child(root, hand_layer);
}
示例#19
0
void rotbmp_pair_layer_init (RotBmpPairLayer* layer,GRect frame) {
    layer_init((Layer*)layer,frame);
    rotbmp_layer_init (&layer->white_layer,frame); //the white and black layers are not added as childs
    rotbmp_layer_init (&layer->black_layer,frame);
    layer->white_layer.compositing_mode=GCompOpOr;
    layer->black_layer.compositing_mode=GCompOpClear;
    layer_set_update_proc ((Layer*)layer,rotbmp_pair_layer_update_func);
}
示例#20
0
Layer * create_direction_layer(GRect bounds) {
  Layer *layer = layer_create_with_data(GRect(0, 20, bounds.size.w, 30), sizeof(Arrow));
  layer_set_update_proc(layer, redraw_direction_arrow);
  arrow_path = gpath_create(&ARROW_PATH_INFO);
  GRect layer_bounds = layer_get_bounds(layer);
  gpath_move_to(arrow_path, grect_center_point(&layer_bounds));
  return layer;
}
示例#21
0
Layer* battery_init() {
  s_battery_layer = layer_create(GRect(5, 5, 20, 20));
  layer_set_update_proc(s_battery_layer, draw_battery);

  s_battery_path = gpath_create(&BATTERY_PATH_INFO);

  return s_battery_layer;
}
static void window_load(Window *window) {
  Layer *window_layer = window_get_root_layer(window);
  layer_set_update_proc(window_layer, update_procs[0]);
  s_window_size = layer_get_bounds(window_layer).size;

  // start update loop
  update_animation(NULL);
}
示例#23
0
static void window_load(Window *window) {
    Layer *window_layer = window_get_root_layer(window);
    GRect window_bounds = layer_get_bounds(window_layer);

    s_canvas_layer = layer_create(window_bounds);
    layer_set_update_proc(s_canvas_layer, update_proc);
    layer_add_child(window_layer, s_canvas_layer);
}
示例#24
0
static void main_window_load(Window *window) {
  
  // Create circle layer
  s_circle_layer = layer_create(GRect(0, 0, 144, 168));
  layer_set_update_proc(s_circle_layer, update_proc);
  layer_add_child(window_get_root_layer(window), s_circle_layer);
  
}
static void main_window_load(Window *window) {
	window_set_background_color(window, GColorBlack);

	GRect bounds = layer_get_bounds(window_get_root_layer(window));
	s_canvas_layer = layer_create(bounds);
	layer_set_update_proc(s_canvas_layer, canvas_update_proc);
	layer_add_child(window_get_root_layer(window), s_canvas_layer);
}
示例#26
0
static void initialise_ui(void) {
  s_window = window_create();
  window_set_background_color(s_window, GColorBlack);
  IF_A(window_set_fullscreen(s_window, true));
  
  s_res_img_standby = gbitmap_create_with_resource(RESOURCE_ID_IMG_STANDBY);
  s_res_img_settings = gbitmap_create_with_resource(RESOURCE_ID_IMG_SETTINGS);
  s_res_roboto_bold_subset_49 = fonts_get_system_font(FONT_KEY_ROBOTO_BOLD_SUBSET_49);
  s_res_gothic_18_bold = fonts_get_system_font(FONT_KEY_GOTHIC_18_BOLD);
  // action_layer
  action_layer = action_bar_layer_create();
  action_bar_layer_add_to_window(action_layer, s_window);
  action_bar_layer_set_background_color(action_layer, GColorWhite);
  action_bar_layer_set_icon(action_layer, BUTTON_ID_UP, s_res_img_standby);
  action_bar_layer_set_icon(action_layer, BUTTON_ID_DOWN, s_res_img_settings);
  layer_set_frame(action_bar_layer_get_layer(action_layer), GRect(124, 0, 20, 168));
  IF_B(layer_set_bounds(action_bar_layer_get_layer(action_layer), GRect(-5, 0, 30, 168)));
  layer_add_child(window_get_root_layer(s_window), (Layer *)action_layer);
  
  // clockbg_layer
  clockbg_layer = text_layer_create(GRect(0, 60, 144, 50));
  text_layer_set_background_color(clockbg_layer, GColorBlack);
  text_layer_set_text_color(clockbg_layer, GColorClear);
  text_layer_set_text(clockbg_layer, "    ");
  layer_add_child(window_get_root_layer(s_window), (Layer *)clockbg_layer);
  
  // clock_layer
  clock_layer = text_layer_create(GRect(0, 52, 144, 65));
  text_layer_set_background_color(clock_layer, GColorClear);
  text_layer_set_text_color(clock_layer, GColorWhite);
  text_layer_set_text(clock_layer, "23:55");
  text_layer_set_text_alignment(clock_layer, GTextAlignmentCenter);
  text_layer_set_font(clock_layer, s_res_roboto_bold_subset_49);
  layer_add_child(window_get_root_layer(s_window), (Layer *)clock_layer);
  
  // onoff_layer
  onoff_layer = text_layer_create(GRect(2, 2, 119, 56));
  layer_set_update_proc(text_layer_get_layer(onoff_layer), draw_onoff); 
  layer_add_child(window_get_root_layer(s_window), (Layer *)onoff_layer);
  
  // info_layer
  info_layer = text_layer_create(GRect(2, 110, 119, 56));
  layer_set_update_proc(text_layer_get_layer(info_layer), draw_info); 
  layer_add_child(window_get_root_layer(s_window), (Layer *)info_layer);
}
示例#27
0
LoadingLayer* loading_layer_create(Window* window) {
  LoadingLayer* layer = layer_create_with_data(layer_get_bounds(window_get_root_layer(window)), sizeof(LoadingData));
  LoadingData* data = (LoadingData*)layer_get_data(layer);
  data->message = NULL;

  layer_set_update_proc(layer, update_loading_layer);
  layer_add_child(window_get_root_layer(window), layer);
  return layer;
}
示例#28
0
void init_battery(Window *window) {
  // Subscribe to battery status
  //battery_state_service_subscribe(handle_battery);
  
  // Create Battery layer
  s_battery_layer = layer_create(GRect(120, 0, 24, 16));
  layer_set_update_proc(s_battery_layer, battery_layer_update_callback);
  layer_add_child(window_get_root_layer(window), s_battery_layer);
}
示例#29
0
static void init(void) {

  window = window_create();
  window_layer = window_get_root_layer (window);
  layer_set_update_proc(window_layer, my_layer_draw);
  window_set_window_handlers(window, (WindowHandlers) {
    .load = window_load,
    .unload = window_unload,
  });
示例#30
0
static void main_window_load(Window *window) {
    Layer *window_layer = window_get_root_layer(window);
    graphics_layer = layer_create(layer_get_frame(window_layer));
    layer_set_update_proc(graphics_layer, graphics_layer_update);
    layer_add_child(window_layer, graphics_layer);
    max_width  = layer_get_bounds(graphics_layer).size.w - 1;
    max_height = layer_get_bounds(graphics_layer).size.h - 1;
    timer_callback(NULL);  // Start the main loop!
}