Пример #1
0
void traite_car(char c)
{
    if(c < 32) {
        switch(c) {
            case 8:
	      if(cursor_col!=0){
		place_curseur(cursor_lig, cursor_col-1);
	      }
              break;
            case 9:
	      place_curseur(cursor_lig, (cursor_col!=NB_COL-1)?((cursor_col/8)*8+8):NB_COL-1 );               
	      break;
            case 10:
	      if(cursor_lig+1==NB_LINE){
		defilement();
		place_curseur(NB_LINE-1, 0);
	      }
	      else 
		place_curseur(cursor_lig+1, 0);
              break;
            case 12:
	        efface_ecran();
                break;
            case 13:
	      place_curseur(cursor_lig, 0);
                break;
            default:
                break;
}
    } else {
        ecrit_car(cursor_lig, cursor_col, c);
        step_cursor();
    }
}
Пример #2
0
static void
step (AppData *appdata)
{
  cairo_t *cr;

  set_up_for_buffer (appdata, &cr);

  cairo_save (cr);
  cairo_set_source_rgb (cr, 1, 1, 1);
  cairo_paint (cr);

  appdata->x += 10 * appdata->dir;
  if (appdata->x > 1239 || appdata->x < 0)
    appdata->dir *= -1;

  cairo_set_source_rgb (cr, 1, 0, 0);
  cairo_rectangle (cr, appdata->x - 50, 75, 681, 800);
  cairo_fill (cr);

  cairo_translate (cr, appdata->x, 200);
  cairo_set_source_surface (cr, appdata->craig, 0, 0);
  cairo_rectangle (cr, 0, 0, 681, 800);
  cairo_fill (cr);
  cairo_restore (cr);

  /*
  cairo_save (cr);
  cairo_scale (cr, 2, 2);
  rsvg_handle_render_cairo (appdata->tiger, cr);
  cairo_restore (cr);
  */

  swap_buffer (appdata);

  step_cursor (appdata);
  step_cursor (appdata);
  step_cursor (appdata);
  step_cursor (appdata);
  step_cursor (appdata);
  step_cursor (appdata);
  step_cursor (appdata);

  ++appdata->time;
}