home *** CD-ROM | disk | FTP | other *** search
/ TopWare 18: Liquid / Image.iso / liquid / top1143 / gepackt.exe / BSPQTSW.EXE / ICONEDIT.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-07-09  |  2.4 KB  |  95 lines

  1. (***************************************
  2. * WG-VISION 1.0   BEISPIELPROGRAMM     *
  3. ****************************************
  4. *                                      *
  5. * Einfacher Iconeditor für VGA         *
  6. *                                      *
  7. ****************************************
  8. * (c) 1993 Dipl.Phys. Mathias Scholz   *
  9. ***************************************)
  10.  
  11. {$I COMPILER.INC}
  12.  
  13. program ICONEDIT;
  14.  
  15. uses WDecl,
  16.      WDriver,
  17.      WIcnEdit,
  18.      WEvent,
  19.      WApp,
  20.      WPalette;
  21.  
  22. const cmPalette=101;
  23.       cmMiniIcon=102;
  24.       cmMaxiIcon=103;
  25.       cmChangeGMode=104;
  26.  
  27. type TApplication=object(TApp)
  28.         procedure InitMenuBar; virtual;
  29.         procedure HandleEvent; virtual;
  30.         procedure CM_Palette;
  31.         procedure CM_IconWorkshop(Nr:byte);
  32.      end;
  33.  
  34. var MyApp:TApplication;
  35.  
  36.  
  37. {Implementation TApplication}
  38.  
  39. procedure TApplication.InitMenuBar;
  40. begin
  41.   Palette[1]:=#14;
  42.   Palette[5]:=#14;
  43.   Palette[4]:=#4;
  44.   Palette[12]:=#4;
  45.   MainMenu('~D~atei',0);
  46.    SubMenu('~M~ini-Icon',cmMiniIcon,0,0,false,false);
  47.    SubMenu('~M~axi-Icon',cmMaxiIcon,0,0,false,false);
  48.    SubMenu('~P~alette         F3',cmPalette,0,kbF3,false,false);
  49.    SubMenu('~G~rafikmode wechseln',cmChangeGMode,0,0,false,false);
  50.    SubMenu('E~x~it      <alt><x>',cmCloseApplication,0,altX,false,false);
  51. end;
  52.  
  53. procedure TApplication.HandleEvent;
  54. begin
  55.   Heap^.ShowHeapStatus(523,8,White);
  56.   EMS^.ShowEMSStatus(50,8,White);
  57.   TProgram.HandleEvent;
  58.   case Event.Command of
  59.    cmPalette      : CM_Palette;
  60.    cmMiniIcon     : CM_IconWorkshop(2);
  61.    cmMaxiIcon     : CM_IconWorkshop(1);
  62.    cmChangeGMode  : begin
  63.                       Mouse.HideMouse;
  64.                       if Video.GetGrafikMode=M640x480 then Video.ChangeGraficMode(M800x600)
  65.                        else Video.ChangeGraficMode(M640x480);
  66.                       Draw;
  67.                       Mouse.ShowMouse;
  68.                     end;
  69.   end; {case}
  70. end;
  71.  
  72. procedure TApplication.CM_Palette;
  73. var Window:PPalWorkShop;
  74. begin
  75.   Window:=New(PPalWorkShop, Init(40,60));
  76.   InsertDesktop(Window);
  77. end;
  78.  
  79. procedure TApplication.CM_IconWorkshop(Nr:byte);
  80. var Window:PIconEdit;
  81.     R:TRect;
  82. begin
  83.   R.Assign(80,70,310,290);
  84.   Window:=New(PIconEdit, Init(80,60,'TEST.ICN',Nr));
  85.   InsertDesktop(Window);
  86. end;
  87.  
  88. {Hauptprogramm}
  89.  
  90. begin
  91.   MyApp.Init('ICON-WORKSHOP   VESA');
  92.   MyApp.Run;
  93.   MyApp.Done;
  94. end.
  95.