Esempio n. 1
0
static gboolean
draw_cb (GtkWidget *widget,
         cairo_t   *cr)
{
  gint width, height;

  width = gtk_widget_get_allocated_width (widget);
  height = gtk_widget_get_allocated_height (widget);

  cairo_rectangle (cr, 0, 0, width, height);
  cairo_set_source_rgb (cr, 0, 0, 0);
  cairo_fill (cr);

  draw_horizontal_scrollbar (widget, cr, 10, 10, width - 20, 10, 30, GTK_STATE_FLAG_NORMAL);
  draw_horizontal_scrollbar (widget, cr, 10, 30, width - 20, 10, 40, GTK_STATE_FLAG_PRELIGHT);
  draw_horizontal_scrollbar (widget, cr, 10, 50, width - 20, 10, 50, GTK_STATE_FLAG_ACTIVE|GTK_STATE_FLAG_PRELIGHT);

  draw_text (widget, cr, 10,  70, width - 20, 20, "Not selected", GTK_STATE_FLAG_NORMAL);
  draw_text (widget, cr, 10, 100, width - 20, 20, "Selected", GTK_STATE_FLAG_SELECTED);

  draw_check (widget, cr,  10, 130, GTK_STATE_FLAG_NORMAL);
  draw_check (widget, cr,  40, 130, GTK_STATE_FLAG_CHECKED);
  draw_radio (widget, cr,  70, 130, GTK_STATE_FLAG_NORMAL);
  draw_radio (widget, cr, 100, 130, GTK_STATE_FLAG_CHECKED);

  return FALSE;
}
Esempio n. 2
0
static void on_touch(int x, int y, int touch){
	char * symbol;
	struct keymap * map=NULL;
	static struct keymap * prevmap=NULL;
	static char * prevsym = NULL;
        
	if(touch){
		  printf("INFO: Pointer touched at %d:%d\n",x,y);
		  
		  symbol=getkbdsym(x,y,&map);
		  if( prevsym!=symbol && prevmap!=NULL){
			 gr_blit(keyboards, prevmap->x1,prevmap->y1,prevmap->x2 - prevmap->x1, prevmap->y2 - prevmap->y1,prevmap->x1,prevmap->y1);
			 draw_check();
			 gr_flip();
			 prevmap=NULL;
		  }
	}else{
  	  printf("INFO: Pointer released at %d:%d\n",x,y); 
	  prevsym=symbol=NULL;
	  if(prevmap){
	      gr_blit(keyboards, prevmap->x1,prevmap->y1,prevmap->x2 - prevmap->x1, prevmap->y2 - prevmap->y1 ,prevmap->x1,prevmap->y1);
	      draw_check();
	      gr_flip();
	      printf("INFO: blitting %d,%d %d,%d \n",  prevmap->x1,prevmap->y1,prevmap->x2 , prevmap->y2 );
	      prevmap = NULL;
	  }
	}

	if(symbol != NULL && touch && prevsym!=symbol){
		vib_vibrate(20); 
		gr_color(255,255,255,128);
		draw_check();
		gr_fill(map->x1,map->y1,map->x2, map->y2);    
		gr_flip();
		prevsym=symbol;
		prevmap=map;
	}   
	printf("INFO: you touched %s\n",symbol);
}
Esempio n. 3
0
static void on_click(int x, int y)
{
   char * sym;
   static char * prevsym = NULL;
   //do something on click
   printf("INFO: Pointer click recorded at %d:%d\n",x,y);
   sym=getkbdsym(x,y,NULL);
   if (sym!=NULL){
	if (strncmp(sym, "$yes", sizeof("$yes"))==0){
		dlg_exit=1;
	}
	else if (strncmp(sym, "$no", sizeof("$no"))==0){
			dlg_exit=2;
	}
	else {
		checked=checked?0:1;	
		draw_check();
		gr_flip();
		
	}
   }
   prevsym=sym;
}
Esempio n. 4
0
static void
draw_func (GtkDrawingArea *da,
           cairo_t        *cr,
           int             width,
           int             height,
           gpointer        data)
{
  GtkWidget *widget = GTK_WIDGET (da);
  gint panewidth;
  gint x, y;

  panewidth = width / 2;

  cairo_rectangle (cr, 0, 0, width, height);
  cairo_set_source_rgb (cr, 0.9, 0.9, 0.9);
  cairo_fill (cr);

  x = y = 10;
  draw_horizontal_scrollbar (widget, cr, x, y, panewidth - 20, 30, GTK_STATE_FLAG_NORMAL, &height);
  y += height + 8;
  draw_horizontal_scrollbar (widget, cr, x, y, panewidth - 20, 40, GTK_STATE_FLAG_PRELIGHT, &height);
  y += height + 8;
  draw_horizontal_scrollbar (widget, cr, x, y, panewidth - 20, 50, GTK_STATE_FLAG_ACTIVE|GTK_STATE_FLAG_PRELIGHT, &height);

  y += height + 8;
  draw_text (widget, cr, x,  y, panewidth - 20, 20, "Not selected", GTK_STATE_FLAG_NORMAL);
  y += 20 + 10;
  draw_text (widget, cr, x, y, panewidth - 20, 20, "Selected", GTK_STATE_FLAG_SELECTED);

  x = 10;
  y += 20 + 10;
  draw_check (widget, cr,  x, y, GTK_STATE_FLAG_NORMAL, &width, &height);
  x += width + 10;
  draw_check (widget, cr,  x, y, GTK_STATE_FLAG_CHECKED, &width, &height);
  x += width + 10;
  draw_radio (widget, cr,  x, y, GTK_STATE_FLAG_NORMAL, &width, &height);
  x += width + 10;
  draw_radio (widget, cr, x, y, GTK_STATE_FLAG_CHECKED, &width, &height);
  x = 10;

  y += height + 10;
  draw_progress (widget, cr, x, y, panewidth - 20, 50, &height);

  y += height + 10;
  draw_scale (widget, cr, x, y, panewidth - 20, 75, &height);

  y += height + 20;
  draw_notebook (widget, cr, x, y, panewidth - 20, 160);

  /* Second column */
  x += panewidth;
  y = 10;
  draw_menu (widget, cr, x, y, panewidth - 20, &height);

  y += height + 10;
  draw_menubar (widget, cr, x, y, panewidth - 20, &height);

  y += height + 20;
  draw_spinbutton (widget, cr, x, y, panewidth - 20, &height);

  y += height + 30;
  draw_combobox (widget, cr, x, y, panewidth - 20, FALSE, &height);

  y += height + 10;
  draw_combobox (widget, cr, 10 + panewidth, y, panewidth - 20, TRUE, &height);
}
Esempio n. 5
0
static void draw_full_screen(){
	gr_blit(keyboards, 0,0,480,800,0,0);
	draw_check();
	gr_flip();
	printf("INFO: drawing keyboard %s\n", keyboard_file);	
}