home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / modula2demo.lha / m2 / TalkDemo / txt / TalkBase.mod < prev    next >
Text File  |  1992-08-29  |  2KB  |  103 lines

  1. IMPLEMENTATION MODULE TalkBase;
  2. (*$ LargeVars:=FALSE StackParms:=FALSE Volatile:=FALSE *)
  3.  
  4. FROM SYSTEM    IMPORT    ADR,ADDRESS,TAG;
  5. FROM Requester    IMPORT    OKRequest;
  6. IMPORT    (*c:WbClone,*)
  7.     A:Arts,
  8.     GL:GadToolsL,
  9.     GraphicsD,
  10.     ID:IntuitionD,
  11.     IL:IntuitionL,
  12.     IntuiPointer;
  13.  
  14. CONST
  15.   myTopaz8=GraphicsD.TextAttr{name:ADR("topaz.font"),ySize:8};
  16.  
  17. VAR
  18.   oldIDCMPs:ID.IDCMPFlagSet;
  19.   min1:CARDINAL;
  20.  
  21. PROCEDURE OpenSW;
  22. VAR
  23.   tBuff:ARRAY[1..10] OF LONGINT;
  24. BEGIN
  25.   (* Trick17 für 3D-Look: *)
  26.   min1:=0FFFFH; (* Kennung: Ende der Colorliste *)
  27.  
  28.   (* Screen öffnen: *)
  29.   myScreen:=IL.OpenScreenTagList(NIL,TAG(tBuff,
  30.     ID.saDepth,    2,
  31.     ID.saDisplayID,    GraphicsD.hiresKey,
  32.     ID.saPens,    ADR(min1), (* ergibt "new look"!!! *)
  33.     ID.saTitle,    ADR("Talker 1.1  © 1992 Bernd Preusing AMSoft"),
  34.     0));
  35.   IF myScreen=NIL THEN
  36.     OKRequest("Cannot open Screen!");
  37.     A.Exit(10);
  38.   ELSE
  39.     myWindow:=IL.OpenWindowTagList(NIL,TAG(tBuff,
  40.     ID.waTop,        myScreen^.barHeight+myScreen^.barVBorder,
  41.     ID.waHeight,        myScreen^.height-(myScreen^.barHeight+myScreen^.barVBorder),
  42.     ID.waCustomScreen,    myScreen,
  43.     ID.waFlags,        ID.WindowFlagSet{ID.backDrop, ID.borderless, ID.activate},
  44.     0));
  45.     IF myWindow=NIL THEN
  46.       OKRequest("Cannot open Screen!");
  47.       A.Exit(10);
  48.     ELSE
  49.       myRp:=myWindow^.rPort;
  50.     END;
  51.   END;
  52. END OpenSW;
  53.  
  54. PROCEDURE SetBusy(busy:BOOLEAN);
  55. BEGIN
  56.   IF busy THEN
  57.     oldIDCMPs:=myWindow^.idcmpFlags;
  58.     IL.ModifyIDCMP(myWindow,ID.IDCMPFlagSet{ID.closeWindow});
  59.     IntuiPointer.Busy(myWindow);
  60.   ELSE
  61.     IL.ModifyIDCMP(myWindow,oldIDCMPs);
  62.     IntuiPointer.Normal(myWindow);
  63.   END;
  64. END SetBusy;
  65.  
  66.  
  67. BEGIN
  68.   A.Assert(A.kickVersion>=37,ADR("Needs kick>=37!!"));
  69.   quit:=FALSE;
  70.   saveIcons:=TRUE;
  71.  
  72.   OpenSW;
  73.   myTextAttr:=ADR(myTopaz8);
  74.   vi:=GL.GetVisualInfoA(myScreen,NIL);
  75.   centLabs:=AA12{
  76.       ADR("IY"),
  77.       ADR("IH"),
  78.       ADR("EH"),
  79.       ADR("AE"),
  80.       ADR("AA"),
  81.     ADR("AH"),
  82.     ADR("AO"),
  83.     ADR("OW"),
  84.     ADR("UH"),
  85.     ADR("ER"),
  86.     ADR("UW"),
  87.     NIL};
  88. CLOSE
  89.  
  90.   IF vi#NIL THEN
  91.     GL.FreeVisualInfo(vi);
  92.     vi:=NIL;
  93.   END;
  94.   IF myWindow#NIL THEN
  95.     IL.CloseWindow(myWindow);
  96.     myWindow:=NIL;
  97.   END;
  98.   IF myScreen#NIL THEN
  99.     IL.CloseScreen(myScreen);
  100.     myScreen:=NIL;
  101.   END;
  102. END TalkBase.mod
  103.