home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1996 Christmas / macformat-045.iso / Shareware Plus / Developers / NGL1.5.0E(fat)DEMO / Button Sample(PPC) / Button_Sample(PPC).c < prev   
Encoding:
C/C++ Source or Header  |  1996-07-19  |  3.1 KB  |  123 lines  |  [TEXT/CWIE]

  1. /*============================================================
  2.  
  3.                     N_Number sample program
  4.                     
  5. ============================================================*/
  6.  
  7. #include    "N_Library.h"
  8.  
  9. WindowPtr     CreateWindow         (Str255 name);
  10.  
  11.  
  12. #define        WindowSizeX        640
  13. #define        WindowSizeY        480
  14.  
  15. short        NewWindowX;
  16. short        NewWindowY;
  17.  
  18. short        Data_Rsrc = 0;
  19.  
  20. short        Snd_List0[]     = {1000,1001,0};
  21.  
  22. long        counter1         = 2000;                                                //counter
  23. long        counter2         = 2000;
  24. long        counter3         = 2000;
  25.  
  26.  
  27.  
  28. void main(void)
  29. {
  30.     WindowPtr    window;
  31.     short        bt;
  32.  
  33.     ToolboxInit();
  34.     ColorCheck();
  35.     window = CreateWindow("\pN Game Library <Button Sample>");
  36.     N_Window_Set(window,NewWindowX,NewWindowY,WindowSizeX,WindowSizeY);            //set up window
  37.     Open_Resource_File(128,1,&Data_Rsrc);
  38.     N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,false);
  39.     N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,true);                                //draw background
  40.     
  41.     N_Button_Init();                                                            //initialize button set
  42.     N_Font_Init();
  43.     N_Sprite_Set(129,0,14,24,1,11,1,0);                                            //set 11sprites (Sp 0 - 10)for number 
  44.     N_Sprite_Set(130,11,32,32,1,6,1,0);                                            //set 6sprites  (Sp 11 - 16)for button
  45.  
  46.     N_Sound_Load(&Snd_List0[0]);    
  47.  
  48.     N_Font_Set(0,0,0,0,0);                                                        //initialize font set
  49.     Close_Resource_File(&Data_Rsrc);
  50.  
  51.     N_Button_Set(0,0,0,40,410,0,11,12,1000,1001);                                    //set up buttons
  52.     N_Button_Set(0,1,0,80,410,0,13,14,1000,1001);
  53.  
  54.     N_Button_Set(0,2,0,160,410,40,11,12,1000,1001);
  55.     N_Button_Set(0,3,0,200,410,40,13,14,1000,1001);
  56.  
  57.     N_Button_Set(0,4,0,280,410,512,11,12,1000,1001);
  58.     N_Button_Set(0,5,0,320,410,512,13,14,1000,1001);
  59.  
  60.     N_Button_Set(0,6,0,410,410,513,15,16,1000,1001);
  61.     N_Button_Set(0,7,0,470,410,514,15,16,1000,1001);
  62.  
  63.     N_Button_Set(0,8,0,562,410,512,15,16,1000,1001);                                //set Quit button
  64.     N_Button_Put(0);
  65.  
  66.     N_Num_Put(counter1,30,320,5,16,0,0,0);                                        //put counters
  67.     N_Num_Put(counter2,150,320,5,16,0,0,0);
  68.     N_Num_Put(counter3,270,320,5,16,0,0,0);
  69.     
  70.     do
  71.     {
  72.         bt = N_Button_Check(0);
  73.     
  74.         if (bt == 1) counter1++;
  75.         if (bt == 3) counter2++;
  76.         if (bt == 5) counter3++;
  77.  
  78.         if (counter1 == 10000) counter1 = 0;
  79.         if (counter2 == 10000) counter2 = 0;
  80.         if (counter3 == 10000) counter3 = 0;
  81.     
  82.         if (bt == 0) counter1--;
  83.         if (bt == 2) counter2--;
  84.         if (bt == 4) counter3--;
  85.     
  86.         if (counter1 == -1) counter1 = 9999;
  87.         if (counter2 == -1) counter2 = 9999;
  88.         if (counter3 == -1) counter3 = 9999;
  89.     
  90.         if(bt != -1)
  91.         {
  92.             N_Num_Put(counter1,30,320,5,16,0,0,0);                                //updates counters
  93.             N_Num_Put(counter2,150,320,5,16,0,0,0);
  94.             N_Num_Put(counter3,270,320,5,16,0,0,0);
  95.         }
  96.     
  97.     }
  98.     while (bt != 8);                                                                //push quit button?
  99.     N_Sound_Close();                                                            //close sound channels
  100.     ColorRevert();
  101. }
  102.  
  103. WindowPtr CreateWindow (Str255 name)
  104. {
  105.     WindowPtr    window;
  106.     short        centerX,centerY;
  107.     short        windowWidth,windowHeight;
  108.  
  109.  
  110.     window = GetNewWindow (128,nil,(WindowPtr)-1L );
  111.     centerX  = (qd.screenBits.bounds.right -qd.screenBits.bounds.left)/2;
  112.     centerY  = (qd.screenBits.bounds.bottom -qd.screenBits.bounds.top)/2;
  113.     SetWTitle(window,name);
  114.     MoveWindow(window,NewWindowX=centerX-(WindowSizeX/2),NewWindowY=centerY-(WindowSizeY/2),false);
  115.     SizeWindow(window,WindowSizeX,WindowSizeY,TRUE);
  116.  
  117.     ShowWindow(window);
  118.     SetPort((GrafPtr)window );
  119.     return (WindowPtr)window;
  120. }
  121.     
  122.  
  123.