Add whence parameter to seek; change from char * to void * read/write input buffers.
[bertos.git] / app / demo / demo.c
index 82167d18d987e887a0d071cd08bead6f58fc070d..5ac10d81583d9e8997f10af311f98931984772aa 100755 (executable)
 
 /*#*
  *#* $Log$
+ *#* Revision 1.10  2007/09/29 16:30:37  bernie
+ *#* RASTER_SIZE(): Remove obsolete macro.
+ *#*
+ *#* Revision 1.9  2006/09/20 14:29:34  marco
+ *#* Add proc demo (not yet working).
+ *#*
+ *#* Revision 1.8  2006/06/02 12:27:36  bernie
+ *#* Tweak apparence; enable assertions.
+ *#*
  *#* Revision 1.7  2006/05/27 22:31:18  bernie
  *#* Clean it up a bit more.
  *#*
@@ -76,14 +85,14 @@ static void magic(struct Bitmap *bitmap, coord_t x, coord_t y)
                gfx_lineTo(bitmap, coords[i]/2 + x, coords[i+1]/3 + y);
 }
 
-void hello_world(Bitmap *bm)
+static void hello_world(Bitmap *bm)
 {
+       extern const Font font_ncenB18;
     const Font *old_font = bm->font;
 
        gfx_bitmapClear(bm);
 
        /* Set big font */
-       extern const Font font_ncenB18;
        gfx_setFont(bm, &font_ncenB18);
 
        text_xprintf(bm, 1, 0, STYLEF_BOLD | TEXT_FILL | TEXT_CENTER,
@@ -99,7 +108,7 @@ void hello_world(Bitmap *bm)
 /**
  * Show the splash screen
  */
-void bouncing_logo(Bitmap *bm)
+static void bouncing_logo(Bitmap *bm)
 {
        const long SPEED_SCALE = 1000;
        const long GRAVITY_ACCEL = 10;
@@ -142,8 +151,8 @@ void win_demo(Bitmap *bm)
 
        Window root_win, small_win, large_win;
        Bitmap small_bm, large_bm;
-       uint8_t small_raster[RASTER_SIZE(small_width, small_height)];
-       uint8_t large_raster[RASTER_SIZE(large_width, large_height)];
+       uint8_t small_raster[RAST_SIZE(small_width, small_height)];
+       uint8_t large_raster[RAST_SIZE(large_width, large_height)];
 
        win_create(&root_win, bm);
 
@@ -218,14 +227,20 @@ void win_demo(Bitmap *bm)
        }
 }
 
+void proc_demo(void)
+{
+       extern void proc_test(void);
+// FIXME: proc_test() cause segmentation fault. 
+       proc_test();
+}
+
 
-/* SETTINGS SUBMENU ***************************/
+/* SETTINGS SUBMENU */
 
 static struct MenuItem settings_items[] =
 {
        { (const_iptr_t)"System",     0, (MenuHook)0,  (iptr_t)0 },
-       { (const_iptr_t)"Mouse",      0, (MenuHook)0,  (iptr_t)0 },
-       { (const_iptr_t)"Keyboard",   0, (MenuHook)0,  (iptr_t)0 },
+       { (const_iptr_t)"Language",   0, (MenuHook)0,  (iptr_t)0 },
        { (const_iptr_t)"Networking", 0, (MenuHook)0,  (iptr_t)0 },
        { (const_iptr_t)"Date & Time",0, (MenuHook)0,  (iptr_t)0 },
        { (const_iptr_t)"Power Saving", MIF_TOGGLE, (MenuHook)0, (iptr_t)0 },
@@ -233,7 +248,22 @@ static struct MenuItem settings_items[] =
 };
 static struct Menu settings_menu = { settings_items, "Settings Menu", MF_STICKY | MF_SAVESEL, &lcd_bitmap, 0 };
 
-/*** DISPLAY MENU ****************************/
+
+/* MX SUBMENU */
+
+static struct MenuItem mx_items[] =
+{
+       { (const_iptr_t)"Mouse",                  MIF_CHECKIT | MIF_EXCLUDE_1 | MIF_EXCLUDE_2, (MenuHook)0,  (iptr_t)0 },
+       { (const_iptr_t)"Keyboard", MIF_CHECKED | MIF_CHECKIT | MIF_EXCLUDE_0 | MIF_EXCLUDE_2, (MenuHook)0,  (iptr_t)0 },
+       { (const_iptr_t)"Joystick", MIF_CHECKIT | MIF_EXCLUDE_0 | MIF_EXCLUDE_1, (MenuHook)0,  (iptr_t)0 },
+       { (const_iptr_t)"Autosave", MIF_CHECKED | MIF_CHECKIT | MIF_TOGGLE, (MenuHook)0,  (iptr_t)0 },
+       { (const_iptr_t)0, 0, NULL, (iptr_t)0 }
+};
+
+static struct Menu mx_menu = { mx_items, (const_iptr_t)0, MF_STICKY | MF_SAVESEL, &lcd_bitmap, 0 };
+
+
+/* DISPLAY SUBMENU */
 
 static struct MenuItem display_items[] =
 {
@@ -246,27 +276,17 @@ static struct MenuItem display_items[] =
 static struct Menu display_menu = { display_items, "Display Menu", MF_SAVESEL, &lcd_bitmap, 0 };
 
 
-/*** SETUP MENU ******************************/
-
-static struct MenuItem setup_items[] =
-{
-       { (const_iptr_t)"S\xC8tup 0", 0, (MenuHook)NULL, (iptr_t)0    },
-       { (const_iptr_t)"Set\xDAp 1", 0, (MenuHook)NULL, (iptr_t)0    },
-       { (const_iptr_t)0, 0, NULL, NULL }
-};
-static struct Menu setup_menu = { setup_items, "Setup Menu", MF_STICKY | MF_SAVESEL, &lcd_bitmap, 0 };
-
-
-/*** MAIN MENU *******************************/
+/* MAIN MENU */
 
 static struct MenuItem main_items[] =
 {
        { (const_iptr_t)"Win Fly",     0, (MenuHook)win_demo,     (iptr_t)&lcd_bitmap    },
        { (const_iptr_t)"Bounce!",     0, (MenuHook)bouncing_logo,(iptr_t)&lcd_bitmap    },
        { (const_iptr_t)"Hello World", 0, (MenuHook)hello_world,  (iptr_t)&lcd_bitmap    },
-       { (const_iptr_t)"Settings",    0, (MenuHook)menu_handle,  (iptr_t)&settings_menu },
+       { (const_iptr_t)"Scheduling",  0, (MenuHook)proc_demo,    (iptr_t)&lcd_bitmap    },
+       { (const_iptr_t)"Menu MX",     0, (MenuHook)menu_handle,  (iptr_t)&mx_menu       },
        { (const_iptr_t)"Display",     0, (MenuHook)menu_handle,  (iptr_t)&display_menu  },
-       { (const_iptr_t)"Setup",       0, (MenuHook)menu_handle,  (iptr_t)&setup_menu    },
+       { (const_iptr_t)"Settings",    0, (MenuHook)menu_handle,  (iptr_t)&settings_menu },
        { (const_iptr_t)0, 0, NULL, (iptr_t)0 }
 };
 static struct Menu main_menu = { main_items, "Main Menu", MF_STICKY, &lcd_bitmap, 0 };