コード例 #1
0
ファイル: angled.c プロジェクト: mereed/pebbleface-angled
static void sync_tuple_changed_callback(const uint32_t key, const Tuple* new_tuple, const Tuple* old_tuple, void* context) {
  switch (key) {
    case BLINK_KEY:
      blink = new_tuple->value->uint8;
      tick_timer_service_unsubscribe();
      if(blink) {
        tick_timer_service_subscribe(SECOND_UNIT, handle_tick);
      }
      else {
        tick_timer_service_subscribe(MINUTE_UNIT, handle_tick);
      }
	  
      break;
     case INVERT_KEY:
      invert = new_tuple->value->uint8;
      change_background(invert);
      break;
    case BLUETOOTHVIBE_KEY:
      bluetoothvibe = new_tuple->value->uint8;
      break;      
    case HOURLYVIBE_KEY:
      hourlyvibe = new_tuple->value->uint8;
      break;
  }
}
コード例 #2
0
ファイル: reception.c プロジェクト: EITTE/ThinClient
int main (int argc, char *argv[])
{
	//argument of the function
	//1st:	length
	//2nd:	width
	//3rd:	the path of vdi client starter
	//4th:	the path of backgournd picture	
	
	//gint length=1280;
	//gint width=1024;
	gchar vdi_client_path[]="/home/linaro/thinclient/script/./vdi_client_starter.sh";
	gchar back_ground_path[]="/home/linaro/thinclient/background/back_ground.jpg";
	char* window_name="Reception";
	
	gint length=atoi(argv[1]);
	gint width=atoi(argv[2]);
	//gchar vdi_client_path=argv[3];
	//gchar back_ground_path=argv[4];
	//printf("%s %s %s %s %s\n",argv[0],argv[1],argv[2],argv[3],argv[4],argv[5]);	

	GtkWidget *window;
	gtk_init(&argc, &argv);
	window= gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(window),window_name);
	gtk_window_set_default_size(GTK_WINDOW(window), length, width);
	gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
	gtk_widget_show(window);

	change_background(window, length, width, back_ground_path);

	//g_signal_connect(window, "key_press_event", G_CALLBACK(key_control), NULL);
	g_signal_connect(window, "key_press_event", G_CALLBACK(key_control), NULL);

	

	gtk_main();

	return 0;
}
コード例 #3
0
ファイル: lgs.c プロジェクト: llluis/pebbleface-trekv3
/*
  Handle update in settings
*/
static void tuple_changed_callback( const uint32_t key, const Tuple* tuple_new, const Tuple* tuple_old, void* context ) {
  int value = tuple_new->value->uint8;  

  switch ( key ) {
    case SETTING_STATUS_KEY:
      persist_write_int( SETTING_STATUS_KEY, value );
      current_status = value;

      // Reposition status layers
      layer_set_frame( bitmap_layer_get_layer( battery_layer ), ( current_status == STATUS_ON ) ? BATT_RECT : EMPTY_RECT );
      layer_set_frame( bitmap_layer_get_layer( bluetooth_layer ), ( current_status == STATUS_ON ) ? BT_RECT : EMPTY_RECT );

      // Reposition date and week layers
      layer_set_frame( text_layer_get_layer( text_date_layer ), ( current_status == STATUS_ON ) ? DATE_RECT : OFF_DATE_RECT );
      layer_set_frame( text_layer_get_layer( text_week_layer ), ( current_status == STATUS_ON ) ? WEEK_RECT : OFF_WEEK_RECT );
      break;

    case SETTING_LANGUAGE_KEY:
      persist_write_int( SETTING_LANGUAGE_KEY, value );
      current_language = value;
      text_layer_set_text( text_days_layer, day_lines[current_language] );
      break;

    case SETTING_FORMAT_KEY:
      persist_write_int( SETTING_FORMAT_KEY, value );
      current_format = value;
      break;
	  
    case SETTING_INVERT_KEY:
      persist_write_int( SETTING_INVERT_KEY, value );
      invert_format = value;
	  change_background(invert_format);
    break; 

	case SETTING_ICON_KEY:
    if (icon_bitmap) {
        gbitmap_destroy(icon_bitmap);
      }

      icon_bitmap = gbitmap_create_with_resource(
       WEATHER_ICONS[tuple_new->value->uint8]);
      bitmap_layer_set_bitmap(icon_layer, icon_bitmap);
      break;
	  
    case SETTING_TEMPERATURE_KEY:
      text_layer_set_text(temp_layer, tuple_new->value->cstring);
      break;
	  
	case SETTING_WEATHERSTATUS_KEY:
      persist_write_int( SETTING_WEATHERSTATUS_KEY, value );
      weather_status = value;

      layer_set_frame( text_layer_get_layer( temp_layer ), ( weather_status == WEATHER_ON ) ? TEMP_RECT : EMPTY_RECT );
      layer_set_frame( bitmap_layer_get_layer( icon_layer ), ( weather_status == WEATHER_ON ) ? ICON_RECT : EMPTY_RECT );

      break;
	  
    case BLUETOOTHVIBE_KEY:
	  persist_write_int( BLUETOOTHVIBE_KEY, value );
      bluetoothvibe_status = value;
      break;      
	  
	case HOURLYVIBE_KEY:
	  persist_write_int( HOURLYVIBE_KEY, value );
      hourlyvibe = value;
      break;
	  
	case SECS_KEY:
	  persist_write_int( SECS_KEY, value );
      secs_status = value;
	  
	  	   if(secs_status) {
			layer_set_hidden(text_layer_get_layer(text_secs_layer), false);
	 		layer_set_hidden(text_layer_get_layer(text_ampm_layer), true);
	    	tick_timer_service_subscribe(SECOND_UNIT, handle_tick);
   	   }
       else {
		   	layer_set_hidden(text_layer_get_layer(text_secs_layer), true);
	    	layer_set_hidden(text_layer_get_layer(text_ampm_layer), false);
	    	tick_timer_service_subscribe(MINUTE_UNIT, handle_tick);
      }
	  
      break;
  }
  // Refresh display
  update_time();
}
コード例 #4
0
ファイル: lgs.c プロジェクト: llluis/pebbleface-trekv3
/*
  Handle tick events
*/
void handle_tick( struct tm *tick_time, TimeUnits units_changed ) {
	
	if (units_changed & HOUR_UNIT) {
    hourvibe(tick_time);
   }
	
  // Update text layer for current day
  int today = tick_time->tm_wday - 1; if ( today < 0 ) { today = 6; }
  layer_set_frame( inverter_layer_get_layer( currentDayLayer ), highlight_rect[current_language][today] );

  #ifdef LANGUAGE_TESTING
    layer_set_frame( inverter_layer_get_layer( currentDayLayer ), hightlight_rect[current_language][ct] );
    if ( tick_time->tm_sec % speed == 0 ) { ct++; }
    if ( ct == 7 ) { ct = 0; }
  #endif

  strftime( date_text, sizeof( date_text ), date_formats[current_language], tick_time );
  if ( current_language == LANG_EN ) {
    strcat( date_text, ordinal_numbers[tick_time->tm_mday - 1] );
  } else {
    strcat( date_text, month_names_arr[current_language][tick_time->tm_mon] );
  }
  text_layer_set_text( text_date_layer, date_text );

  // Update week or day of the year (i.e. Week 15 or 2013-118)
  if ( current_format == FORMAT_WEEK ) {
    strftime( week_text, sizeof( week_text ), week_formats[current_language], tick_time );
    text_layer_set_text( text_week_layer, week_text );
  } else {
    strftime( alt_text, sizeof( alt_text ), alt_formats[current_format], tick_time );
    text_layer_set_text( text_week_layer, alt_text );
  }

  // Display hours (i.e. 18 or 06)
  strftime( time_text, sizeof( time_text ), clock_is_24h_style() ? "%H:%M" : "%I:%M", tick_time );

  // Remove leading zero (only in 12h-mode)
  if ( !clock_is_24h_style() && (time_text[0] == '0') ) {
    memmove( time_text, &time_text[1], sizeof( time_text ) - 1 );
  }
  text_layer_set_text( text_time_layer, time_text );

  // Update AM/PM indicator (i.e. AM or PM or nothing when using 24-hour style)
  strftime( ampm_text, sizeof( ampm_text ), clock_is_24h_style() ? "24H" : "%p", tick_time );
  text_layer_set_text( text_ampm_layer, ampm_text );

  // Display seconds 
  strftime( secs_text, sizeof( secs_text ), "%S", tick_time );
  text_layer_set_text( text_secs_layer, secs_text );
	
  // Update status and invert information 
  
  if ( current_status == STATUS_ON ) {
    update_status();
  } 
  if ( weather_status == WEATHER_ON ) {
    update_status();
  }
	
  if ( secs_status == SECS_ON ) {
    update_status();
  }
	
  if ( invert_format == INVERT_ON ) {
    change_background(invert_format);
  }
}
コード例 #5
0
static void update_image_layer(Layer *layer, GContext* ctx) {
	change_background();
}