home *** CD-ROM | disk | FTP | other *** search
/ ST-Computer Leser 2002 January / STC_CD_01_2002.iso / GAMES / WINLABY / SOURCE / WL_INIT.C < prev    next >
C/C++ Source or Header  |  1997-08-04  |  2KB  |  76 lines

  1. // ### Winlaby: Init-Funktionen ##
  2.  
  3. #include <aes.h>
  4. #include <vdi.h>
  5. #include "winlaby.h"
  6.  
  7. int rgb1[3],rgb2[3];           /* Um Farbwerte zu speichern */
  8.  
  9. /* Externe Variablen: */
  10. extern int wi_handle;
  11. extern int deskx, desky, deskw, deskh;
  12. extern int vhandle, ap_id;
  13. extern int work_in[], work_out[];
  14. extern void *tree_adr;
  15.  
  16. /* Prototypen: */
  17. void fehler(text);
  18.  
  19.  
  20. /* ****AES und VDI initialisieren**** */
  21. int GEMinit(void)
  22. {
  23.  int i, rgb[3];
  24.  
  25.  ap_id=appl_init();                            /* Applikationsnummer */
  26.  graf_mouse(ARROW, 0L);                     /* Maus als Pfeil */
  27.  wind_get(0, WF_WORKXYWH, &deskx, &desky, &deskw, &deskh); /* Desktopgrö₧e */
  28.  
  29.  vhandle=graf_handle(&i,&i,&i,&i);            /* Grafikhandle holen */
  30.  for(i=0;i<10;i++)  work_in[i]=1;            /* Werte initialisieren */
  31.  work_in[7]=0; work_in[8]=0; work_in[10]=2;
  32.  v_opnvwk(work_in,&vhandle,work_out);        /* Virtuelle eröffnen */
  33.  
  34.  /*--- RSC laden ---*/
  35.  if(rsrc_load("WINLABY.RSC")==0)
  36.   { fehler("[3][Fehler beim|Laden des RSC!][ ABBRUCH ]"); return(-1); }
  37.  rsrc_gaddr(0, LABMENUE, &tree_adr);
  38.  menu_bar(tree_adr, 1);
  39.  
  40.  /*--- Voreinstellungen ---*/
  41.  vq_color(vhandle,2,0,rgb1); vq_color(vhandle,3,0,rgb2);
  42.  rgb[0]=0; rgb[1]=900; rgb[2]=1000; vs_color(vhandle,2,rgb); /* Himmelblau */
  43.  rgb[0]=500; rgb[1]=0; rgb[2]=0; vs_color(vhandle,3,rgb);     /* + Braun einstellen */
  44.  
  45.  return(0);
  46. }
  47.  
  48.  
  49. /* ***Beim GEM abmelden*** */
  50. void GEMexit(void)
  51. {
  52.  vs_color(vhandle,2,rgb1); vs_color(vhandle,3,rgb2);
  53.  menu_bar(tree_adr,0);         /* Menü freigeben */
  54.  rsrc_free();
  55.  v_clsvwk(vhandle);             /* Virtuelle abmelden */
  56.  appl_exit();
  57. }
  58.  
  59.  
  60. /* ****Fenster basteln**** */
  61. int init_window(void)
  62. {
  63.  wi_handle=wind_create(NAME|CLOSER|FULLER|MOVER|INFO|SIZER, deskx ,desky,
  64.                       deskw, deskh);                    /* Window anmelden */
  65.  if(wi_handle<0)
  66.   {
  67.     fehler("[3][Kein Fenster übrig!][Abbruch]");
  68.     return(-1);
  69.   }
  70.  wind_set(wi_handle, WF_NAME, "WindowLabyrinth", 0L);    /* Name setzen */
  71.  graf_growbox(deskx+deskw/2, desky+deskh/2, 1, 1,
  72.                   deskx, desky, deskw, deskh);
  73.  wind_open(wi_handle, deskx, desky, deskw, deskh);        /* Window öffnen */
  74.  return(0);
  75. }
  76.