All pastes #146681 Raw Edit

Miscellany

public c v1 · immutable
#146681 ·published 2006-08-23 19:58 UTC
rendered paste body
#include <stdio.h>#include <string.h>#include <errno.h>#include "pz.h"static PzModule *circle;int x, y, tmp_x, tmp_y;static PzWidget *wid;int circle_dir;int started;void draw_circle (PzWidget *wid, ttk_surface srf) {ttk_fillellipse(srf, x, y, 6, 6, ttk_makecol(255,0,0));}int event_circle (PzEvent *ev) {             if(started) {             switch(ev->type)             {                 case PZ_EVENT_BUTTON_DOWN:                   switch(ev->arg) {                      case PZ_BUTTON_MENU:                        circle_dir = 0;                        break;                      case PZ_BUTTON_PLAY:                        circle_dir = 1;                        break;                      case PZ_BUTTON_PREVIOUS:                        circle_dir = 1;                        break;                      case PZ_BUTTON_NEXT:                        circle_dir = 1;                        break;                      case PZ_BUTTON_ACTION:                        if(!started) started = 1;                        break;                   }                   case PZ_EVENT_TIMER:                      move_circle();                      break;   	       }             }}int move_circle (){switch (circle_dir){		case 0:			y+=5;			wid->dirty++;		break;		case 1:			y-=5;			wid->dirty++;		break;		case 2:			x-=5;			wid->dirty++;		break;		case 3:			x+=5;			wid->dirty++;		break;}}PzWindow *new_circle_window(){    PzWindow *ret;    ret = pz_new_window ("Circle", PZ_WINDOW_NORMAL);    wid = pz_add_widget (ret, draw_circle, event_circle);    pz_widget_set_timer(wid, 50); //the 50 is number of milliseconds    return pz_finish_window (ret);}void cleanup_circle() {    printf ("Bye-bye now...\n");}void init_circle() {    circle = pz_register_module ("circle", cleanup_circle);    pz_menu_add_action ("/Extras/Games/Circle", new_circle_window);}PZ_MOD_INIT (init_circle)