/* create the window */ static PzWindow *new_truchet_window_common( ) { /* create the window */ tglob.window = pz_new_window( "Truchet", PZ_WINDOW_NORMAL ); tglob.w = tglob.window->w; tglob.h = tglob.window->h; tglob.fullscreen = 0; tglob.bw = (ttk_screen->w/16) +1; tglob.bh = (ttk_screen->h/16) +1; /* create the widget */ tglob.widget = pz_add_widget( tglob.window, draw_truchet, event_truchet ); /* 1 second timeout */ pz_widget_set_timer( tglob.widget, 250 ); /* we're waaaay more important than anyone else */ pz_set_priority(PZ_PRIORITY_VITAL); fill_buffer(); /* done in here! */ return pz_finish_window( tglob.window ); }
PzWindow *new_mymodule_window() { static int calledyet = 0; PzWindow *ret; FILE *fp; if (!calledyet) { calledyet++; pz_message ("Select again to see the fun stuff."); return TTK_MENU_DONOTHING; } image = ttk_load_image (pz_module_get_datapath (module, "image.png")); if (!image) { pz_error ("Could not load %s: %s", pz_module_get_datapath (module, "image.png"), strerror (errno)); return TTK_MENU_DONOTHING; } ttk_surface_get_dimen (image, &imgw, &imgh); fp = fopen (pz_module_get_datapath (module, "message.txt"), "r"); if (!fp) { pz_warning ("Could not read from %s: %s.", pz_module_get_datapath (module, "message.txt"), strerror (errno)); text = (char *)strdup ("Hi! I forgot to supply a message!"); } else { long len; fseek (fp, 0, SEEK_END); len = ftell (fp); fseek (fp, 0, SEEK_SET); text = malloc (len + 1); fread (text, 1, len, fp); text[len] = 0; } ret = pz_new_window ("MyModule", PZ_WINDOW_NORMAL); pz_add_widget (ret, draw_mymodule, event_mymodule); return pz_finish_window (ret); }
#include <stdarg.h> TWindow *pz_create_stringview(const char *buf, const char *title) { TWindow *ret = ttk_new_window(); ttk_add_widget (ret, ttk_new_textarea_widget (ret->w, ret->h, buf, ttk_textfont, ttk_text_height (ttk_textfont) + 2)); ttk_window_title (ret, title); return ret; } PzWindow *pz_do_window (const char *name, int geometry, void (*draw)(PzWidget *this, ttk_surface srf), int (*event)(PzEvent *ev), int timer) { PzWindow *win = pz_new_window (name, geometry); PzWidget *wid = pz_add_widget (win, draw, event); pz_widget_set_timer (wid, timer); return pz_finish_window (win); } PzWindow *pz_new_window (const char *name, int geometry, ...) { PzWindow *ret = ttk_new_window(); if (geometry == PZ_WINDOW_XYWH) { va_list ap; va_start (ap, geometry); ret->x = va_arg (ap, int); ret->y = va_arg (ap, int); ret->w = va_arg (ap, int); ret->h = va_arg (ap, int); va_end (ap);
PzWindow *new_remote_ipod_info_window() { PzWindow *ret = pz_new_window("Remote iPod", PZ_WINDOW_NORMAL); pz_add_widget (ret, draw_about_remote_ipod_widget, event_remote_ipod_widget); return pz_finish_window(ret); }