
                             C

................................................................ 1
I.  ............................................... 2
     1. C⠢  GraphVision....................................... 2
           Xms.................................................... 3
           ExtObj................................................. 3
           LowGraph............................................... 4
           GrDriver............................................... 5
           GFonts................................................. 6
           Images................................................. 7
           EventMan............................................... 7
           Grav................................................... 8
           Controls.............................................. 10
           GrApp................................................. 10
           GraMenu............................................... 11
           GStdDlg............................................... 11
           Geditors.............................................. 11
           MsgBox................................................ 12
     2. ꥪ........................................................ 13
          GraphApplication............................................. 13
          GraphBackground.............................................. 13
          GraphBitmapButton............................................ 14
          GraphButton.................................................. 16
          GraphCheckBoxes.............................................. 16
          GraphCluster................................................. 17
          GraphDeskTop................................................. 20
          GraphDialog.................................................. 20
          GraphGrayGroup............................................... 21
          GraphGroup................................................... 21
          GraphHistoryViewer........................................... 22
          GraphHistoryWindow........................................... 22
          GraphHistory................................................. 23
          GraphInputLine............................................... 23
          GraphLabel................................................... 24
          GraphListBox................................................. 24
          GraphListViewer.............................................. 25
          GraphParamText............................................... 26
          GraphProgram................................................. 27
          GraphRadioButtons............................................ 27
          GraphStaticBitmap............................................ 28
          GraphTextButton.............................................. 29
          GraphTwoStateButton.......................................... 30
          GraphScrollBar............................................... 32
          GraphScroller................................................ 33
          GraphStaticText.............................................. 34
          GraphView.................................................... 35
          GraphWindow.................................................. 39
          T8x8BiosFont................................................. 41
          TBGIFont..................................................... 42
          TBiosFont.................................................... 43
          TBmpFilter................................................... 44
          TByteFlow.................................................... 46
          TDefaultBGIFont.............................................. 47






          TextListBox.................................................. 47
          TFilter...................................................... 48
          TFixedFont................................................... 49
          TFont........................................................ 51
          TImage....................................................... 52
          TMouseCursor................................................. 53
          TRasterFont.................................................. 54
          TSharedResourceCollection.................................... 56
          TSharedResource.............................................. 56
          TXmsStream................................................... 57
     3. 騩 ࠢ筨............................................... 59
          BiosFontParams............................................... 59
          BitPerPlane.................................................. 59
          bsXXXXXXX.................................................... 59
          BytesPerLine................................................. 60
          CanFillBackground............................................ 60
          ConvertPixRow................................................ 60
          CstrToStr.................................................... 60
          CurrentFont.................................................. 60
          CursorAreaSize............................................... 61
          DoneFonts.................................................... 61
          DoneVideo.................................................... 61
          DrawChar..................................................... 61
          DrawImage.................................................... 61
          DrawMouseShape............................................... 62
          DriverMode................................................... 62
          DriverPaths.................................................. 62
          DriverType................................................... 63
          EmulateMouseCursor........................................... 63
          ExtractImage................................................. 64
          FillBackGround............................................... 64
          Fonts........................................................ 64
          GetNearestColor.............................................. 65
          Hot.......................................................... 65
          InitEvents................................................... 65
          InitFonts.................................................... 65
          InitVideo.................................................... 66
          LockMouseCursor.............................................. 66
          MinWinSize................................................... 66
          MouseInRect.................................................. 67
          MouseOwner................................................... 67
          MouseShape................................................... 67
          MoveBlock.................................................... 67
          MovePixels................................................... 68
          ofXXXXXX..................................................... 68
          OutText...................................................... 68
          OutTextXY.................................................... 68
          Planes....................................................... 69
          RegisterProc................................................. 69
          ScreenHeight................................................. 69
          ScreenWidth.................................................. 69
          SelectFont................................................... 70
          SetExclusiveArea............................................. 70






          SetMouseCursor............................................... 70
          SetTextStyle................................................. 70
          SetupMethods16............................................... 71
          SetupMethods256.............................................. 71
          SetWriteMode................................................. 71
          StdResource.................................................. 71
          StdSharedResource............................................ 71
          SwitchBank................................................... 71
          SystemFont................................................... 72
          TextHeight................................................... 72
          TextWidth.................................................... 72
          TPaletteType................................................. 72
          Vesa16Modes.................................................. 73
          Vesa256Modes................................................. 73
          VesaDriverNames.............................................. 73
          wfXXXXXX..................................................... 74
          Xms_Addr..................................................... 74
          Xms_FreeMem.................................................. 74
          Xms_GetMem................................................... 74
          Xms_Init..................................................... 75
          Xms_Initialized.............................................. 75
          Xms_MaxAvail................................................. 75
          Xms_MemAvali................................................. 75
          Xms_MoveMem.................................................. 76
          Xms_ResizeMem................................................ 76
          Xms_Status................................................... 76
II. ............................................................ 77
     1.  室  䠩 Standard.rsc............................. 77
     2.  㧨 ........................................... 78
     3.  ࠭ ........................................... 78
     4.   ............................................ 78
III. ............................................................ 80
     1. ⠭ ०......................................... 80
     2. 祭 BGI ࠩ஢  ⠢ ᯮ塞 ........... 82
     3. ᯮ짮 BGI ࠩ஢  ணࠬ 饭 ० ... 82
     4. 設   VESA ०.................................. 83
























                                       1


                      
-----------------------------------------------------------------------------

               GraphVision -    ꥪ⮢,  ।祭 
               ᮧ ᪮ 짮⥫᪮ 䥩 
               몠 ணࠬ஢ Turbo Pascal  ࠧࠡ⠭  
               ᯮ짮 ⠭ । 䨪 몠.
               GraphVision - ꥪ⭮-ਥ஢ ⥪,
               ᭮  ਭ樯, ॠ   Turbo
               Vision.     ᯮ짮 室 稥  o
               ணࠬ஢   ᯮ짮  Turbo Vision.

                 㬥 뢠 ⮫쪮  
                 ॠ樨 ꥪ⮢  ࠢ  Turbo
               Vision.   ⠫쭮   ਭ樯
               ᯮ짮  GraphVision ᬮ 㬥 "Turbo
               Vision Guide".




                                       2


                                                      I
-----------------------------------------------------------------------------

                ࠧ ⮨   ⥩:

                1, "⠢  GraphVision", ᮤন ⪮
               ᠭ 㫥, 室  ⠢ .   室
               ᯨ᪨ ⨯, ⠭, ६, 楤  㭪権,
                  㫥.

                2, "ꥪ", ᮤন ᠭ ⠭ ꥪ⮢,
               室  ⠢ ,  䠢⭮ 浪.

                3, "騩 ࠢ筨", ᮤন ᠭ  
               ६, ⠭, 楤  㭪権  䠢⭮ 浪.



              C⠢  GraphVision                                   1
----------------------------------------------------------------------------

                ⠢  室 ᫥騥 㫨:

               ---------------------------------------------------------
                             祭
               ---------------------------------------------------------
                  Controls          ꥪ, ᯮ㥬 
                                   ஥ .  
                                   Dialogs
                  ExtObj           ७ ꥪ⮢ 饣 祭
                  EventMan         ࠩ , , 
                                   ᮡ⨩.   Drivers
                  GrDriver         ⥫ ᪨ 楤
                                   ᮪ ஢
                  GFonts           প ࠧ  䮭⮢
                  Grav              ꥪ, ᯮ㥬 
                                   ஥ 짮⥫᪮ 䥩.
                                     Views
                  GraMenu          ꥪ, ॠ騥   ப
                                   ﭨ.   Menus
                  GrApp            ꥪ  ஥ ਫ.
                                     App
                  GEditors          ⥪.  
                                   Editors
                  GStdDlg          ꥪ  ࠡ  䠩 
                                   ⠫.   StdDlg
                  Images           ꥪ  楤  ࠡ 
                                   ࠧ
                  LowGraph         ᪨ 楤 
                                   㭪樨  ஢
                  MsgBox              ࠧ ᮮ饭
                  Xms              楤  㭪樨  ࠡ 
                                   ७ .
               ----------------------------------------------------------


                                       3

 Xms
=============================================================================
                Xms ᮤন 楤  㭪樨  ࠡ 
               ७ .

               -------------------------------------------------------------
                    祭      
               -------------------------------------------------------------
               Xms_BlockSize    1024           쭮 
                                              ७ 
               -------------------------------------------------------------

               -------------------------------------------------------------
                                ..  
               -------------------------------------------------------------
               Xms_Initialized  boolean         false     㯭 XMS
               Xms_Addr         pointer                   窨 室
               Xms_Status       byte                      襭
                                                         樨
               -------------------------------------------------------------

     -------------------------------------------------------------
        楤                祭
               -------------------------------------------------------------
               Xms_FreeMem              ᢮ ७ 
               Xms_MoveMem              뫪  / ७
                                        
               Xms_ResizeMem             ࠧ 뤥
                                         ७ 
               =============================================================
               㭪                  祭
               -------------------------------------------------------------
               Xms_Init                 । 稥 ࠩ XMS
               Xms_MemAvali              ᢮ ७ 
               Xms_MaxAvail              ᨬ쭮 ᢮ 
               Xms_GetMem               뤥  ७ 
               -------------------------------------------------------------


 ExtObj.
=============================================================================

                ExtObj ᮤন । ꥪ⮢, 
               ७  ꥪ⮢ 饣 祭.

           -------------------------------------------------------------
                                    祭
               -------------------------------------------------------------
               TByteFlow                 ࠭ ந   
                                         ⮪ ⮢
               TMouseCursor                設묨 ࠬ
               TSharedResourceCollection ᯮ  TSharedResource
               TSharedResource           塞 
               TXmsStream                ⮪  ७ 
               -------------------------------------------------------------
               -------------------------------------------------------------
                                 .. 
               -------------------------------------------------------------
               StdResource       PResourceFile   nil     ⥫  䠩
                                                         ⠭ ᮢ
               StdSharedResource PSharedResource nil     ⥫ 
                                                          ࠧ塞
                                                         ᮢ
               -------------------------------------------------------------


                                       4


 LowGraph
============================================================================

                LowGraph ᮤন ᪨ ணࠬ 
               ஢, ࠡ騥    ॣࠬ .

           -------------------------------------------------------------
                                  祭
               -------------------------------------------------------------
               TPaletteType            
               -------------------------------------------------------------

               -------------------------------------------------------------
                              .. 
               -------------------------------------------------------------
               Mode                byte       0        
                                                       
               SwitchBank          boolean    false   ॡ ४祭
                                                       
               EmulateMouseCursor  boolean    false    設 
               ScreenWidth         integer            ਭ ࠭  ᥫ
               ScreenHeight        integer             ࠭  ᥫ
               Planes              integer            ⢮ ⮢ 
               BitPerPlane         integer            /ᥫ   
               BytesPerLine        integer             ᪠-  
                                                      ⮢ 
               FalseMode                              ᯮ  
                                                      ࠩ 
               CursorAreaSize      word                  -
                                                        ࠭
                                                       設 ஬
               --------------------------------------------------------------

                                       5

     -------------------------------------------------------------
        楤                祭
               -------------------------------------------------------------
               ConvertPixRow            ८ࠧ ப ᥫ 
                                           
               DrawChar                  ᨬ
               ExtractImage               ࠧ,࠭饣 
                                        ,  㣮 
               MovePixels                 ᥫ
               DrawMouseShape            設 
               SetupMethods16           ⠭ 16-梥  ०
               SetupMethods256          ⠭ 256-梥 ०
               =============================================================
               㭪                  祭
               -------------------------------------------------------------
               GetNearestColor           뮬 rgb-祭 梥
                                        室  室騩 
                                        ⠭⭮  BIOS.



 GrDriver
============================================================================

                GrDriver ᮤন ⠭, ६, 楤
                㭪樨,  ।⠢ ⥫ 
                ࠡ  ᪮ ०.


               -------------------------------------------------------------
                       祭    
               -------------------------------------------------------------
               StandardVGA         0           ࠩ ⠭⭮ VGA
               Vesa16              1           ࠩ VESA 16 梥⮢
               Vesa256             2           ࠩ VESA 256 梥⮢
               -------------------------------------------------------------
               VGA640x480          VGAHI
               VESA16_800x600      0            16-梥 ०
               VESA16_1024x768     1
               VESA16_1240x1024    2

               VESA256_640x400     0
               VESA256_640x480     1            256-梥 ०
               VESA256_800x600     2
               VESA256_1024x768    3
               VESA256_1280x1024   4
               -------------------------------------------------------------

               -------------------------------------------------------------
                           ..      
               -------------------------------------------------------------
               Driver           integer   StandardVGA   ᯮ㥬 ࠩ
               DriverMode       integer   VGA640x480    騩 ०
               VesaDriverNames  array                    ࠩ஢
               DriverPaths      array                     ࠩࠬ
               VESA16Modes      array                    Vesa16
               VESA256Modes     array                    Vesa256
               RegisterProc     procedure nil           ⥫  楤
                                                        ॣ樨 ࠩ஢
               -------------------------------------------------------------


                                       6


               -------------------------------------------------------------
      楤              祭
               -------------------------------------------------------------
               InitVideo              樠  ⥬
               DoneVideo              蠥 ࠡ ᪮ ⥬
               SetWriteMode           ⠭ ०   
               DrawImage              뢮 ࠧ  ࠭
               MoveBlock                ᥫ
               -------------------------------------------------------------


 GFonts
============================================================================

                GFonts ᮤন । ⨯, ꥪ⮢,
               ६  楤  ࠡ  ࠧ묨 
               ஢   䮭⮢.


           -------------------------------------------------------------
                                  祭
               -------------------------------------------------------------
               BiosFontParams        ଠ  ७ 䮭 BIOS
               TFont                  ꥪ  ࠡ  䮭⠬
               TBGIFont               ꥪ  ࠡ  BGI 䮭⠬
               TDefaultBgiFont       BGI DefaultFont 䮭
               TRasterFont            ꥪ  ࠡ  ஢묨
                                     䮭⠬
               TFixedFont            ஢ 䮭  䨪஢ ࠧ஬
                                     ࠧ ᨬ
               TBiosFont             ७ 䮭 BIOS
               T8x8BiosFont          ७ 䮭 BIOS 8x8
               -------------------------------------------------------------


               -------------------------------------------------------------
                            ..    
               -------------------------------------------------------------
               Fonts          PCollection   nil        ⥫  
                                                       䮭⮢
               SystemFont     integer       0           䮭,ᯮ㥬
                                                        ⥬
               CurrentFont    integer       0           ⥪饣 䮭
               FillBackground boolean       true        梥 䮭 
                                                       뢮 ⥪
               -------------------------------------------------------------

                                      7

     -------------------------------------------------------------
        楤              祭
               -------------------------------------------------------------
               InitFonts              樠  䮭⮢
               DoneFonts              ⮦  䮭⮢
               SelectFont             ⠭ ⥪騩 䮭
               CanFillBackground      頥 true, ᫨ ⥪騩 䮭
                                      㬥  梥 䮭
               OutText                뢮 ப ⥪, 稭  ⥪饩
                                      樨
               OutTextXY              뢮 ப ⥪   樨
               SetTextStyle           ⠭ ࠪ⨪ 뢮
                                      ⥪
               =============================================================
               㭪                祭
               -------------------------------------------------------------
               TextHeight             頥  ப ᨬ
               TextWidth              頥 ਭ ப ᨬ
               -------------------------------------------------------------




 Images
============================================================================

                Images ᮤন । ⨯  ꥪ⮢
                ࠡ  ࠦﬨ  䠩 ᪨ ଠ⮢.


           -------------------------------------------------------------
                                  祭
               -------------------------------------------------------------
               TImage                 ꥪ  ࠡ  ࠧ
               TFilter                ꥪ  ॠ樨 ᪨
                                     䨫஢
               TBmpFilter              䠩 ଠ Windows BMP
               TBGIFilter              䠩 ଠ PutImage
               -------------------------------------------------------------

               -------------------------------------------------------------
                        祭    
               -------------------------------------------------------------
               giError                -1        訡   ᪮
                                                䠩
               giIOError              -2        訡 /뢮
               giInvalidFormat        -3         ଠ 䠩
               -------------------------------------------------------------



 EventMan
============================================================================

                EventMan ᮤন ࠩ   ,  ⠪
                ᮡ⨩.     
               Drivers   TurboVision. ஡ ᠭ ⨯,
               ⠭, ६, 楤  㭪権   㬥
               "Turbo Vision Guide".

                                       8


                ࠧ 稭 ᪫祭 ᫥騥 ६:
                     StartupMode,
                     ScreenMode,
                     CheckSnow,
                     HiResScreen,
                     ScreenBuffer,
                     CursorLines

                ⠪ 楤:
                     SetVideoMode
                     ClearScreen,
                     MoveBuf,
                     MoveChar,
                     MoveCStr,
                     MoveStr

               -------------------------------------------------------------
                           ..      
               -------------------------------------------------------------
               Hot              TPoint     (0,0)        न 祣
                                                        ⭠ 設 
               ShapeSize        TPoint     (16,16)       ࠧ 設
                                                        
               MouseShape       pointer    nil          ⥫  ࠧ
                                                        
               -------------------------------------------------------------

     -------------------------------------------------------------
        楤                祭
               -------------------------------------------------------------
               SetExclusiveArea
               SetMouseCursor             ࠧ 設 
               =============================================================
               㭪                  祭
               -------------------------------------------------------------
               MouseInRect              頥 true, ᫨ 設 
                                        室   אַ㣮쭨
               -------------------------------------------------------------



 Grav
============================================================================

                Grav    Views  ᮤন ᭮
               ꥪ  ஥ 짮⥫᪮ ᪮
               䥩:  , ,  ப⪨,  ..
               ஡ ᠭ ⨯, ⠭  ६  
               ᮮ⢥饬 ࠧ 㬥 "Turbo Vision Guide"

           -------------------------------------------------------------
                                  祭
               -------------------------------------------------------------
               GraphView             த⥫   ⮢
               GraphGroup             ꥪ  ஥ ᫮
                                      ⮢


                                       9


               GraphBackGround       ꥪ, ॠ騩   (䮭)
               GraphScrollBar         ப⪨
               GraphListViewer       ꥪ  ᬮ ᯨ᪮
               GraphWindow            ꥪ  ॠ樨 
               GraphScroller          ꥪ  ॠ樨 ப⪨
                                     ᮤন 
               -------------------------------------------------------------
               ᪫祭: TDrawBuffer
                          TVideoBuf
                          TFrame
               -------------------------------------------------------------

               -------------------------------------------------------------
                        祭    
               -------------------------------------------------------------
               ofNoDrawSelect        $40           -
                                                뢠  롮
               ofResizeable          $400          
                                                ࠧ
               ofMoveable            $800          
                                                ६饭
               -------------------------------------------------------------
               wfThickFrame          $10          ப ࠬ
               wfThinFrame           $20          ⮭ ࠬ
               wfFramed              $30          ࠬ
               wfTitle               $40          
               -------------------------------------------------------------
               bsNone                 0            ࠭
               bsBump                 1         㪫 䮭
               bsDip                  2          䮭
               -------------------------------------------------------------
               ᪫祭:   MaxViewWidth
                            wnNoNumber
                            cmSelectWindowNum
                            ofFramed
                            ofBuffered
                            sfShadow
               -------------------------------------------------------------


               -------------------------------------------------------------
                           ..      
               -------------------------------------------------------------
               MouseOwner      PGraphView   nil       , 訩
                                                       
               StdMouseCursor  PMouseCursor nil      ⥫  ⠭
                                                       (५)
               LockMouseCursor integer      0          
                                                     ﭨ 設 
               MinWinSize      TPoint      (124,84)   ࠧ 
               CaptionHeight   integer     14          
               -------------------------------------------------------------
               ᪫祭:   SadowAttr
                            ShadowSize
               -------------------------------------------------------------

                                       10

 Controls
============================================================================

                Controls    Dialogs  
               Turbo Vision.  ᮤন ॠ樨 ꥪ⮢  ॠ樨
                  ࠧ ࠢ ⮢. 設⢮
               ꥪ⮢, 室  ⠢ ⮣ ,  
               ᮮ⢥ ꥪ⮢ Turbo Vision.  ஡ ᠭ
                 ᮮ⢥饬 ࠧ 㬥 "Turbo Vision Guide"


           -------------------------------------------------------------
                                祭
               -------------------------------------------------------------
               GraphDialog         樠஢  
               GraphButton         ࠪ ꥪ  ॠ樨 ࠧ
                                    
               GraphTextButton      ⥪⮢ 
               GraphBitmapButton   , ࠦ   
                                   ࠧ
               GraphGrayGroup      㠫쭮 ꥤ ᪮쪮 
                                   ⮢    㯯
               GraphListBox        ࠪ ꥪ  ᬮ ᯨ᪮
               TextListBox         ப稢 ⥪⮢ ᯨ᮪
               GraphStaticText     ⥩訩  , ப ⥪
               GraphParamText      ଠ஢ 塞 ⥪
               GraphLabel          ꥪ - ⪠
               GraphInputLine      ப 
               GraphTwoStateButton K   䨪஢묨 ﭨﬨ
               GraphCluster        ࠪ ꥪ  ॠ樨 ஢
                                     ᨬ  ᨬ 䨪樥
               GraphRadioButtons      ᨬ 䨪樥
               GraphCheckBoxes        ᨬ 䨪樥
               GraphStaticBitmap   ᪮ ࠦ
               GraphHistoryViewer  ᬮ ᯨ᪮ ਨ
               GraphHistoryWindow    ᬮ ᯨ᪮ ਨ
               GraphHistory        ᮪ ਨ  ப 
               -------------------------------------------------------------



 GrApp
============================================================================

                Grapp    App  
               Turbo Vision  ᮤন  ꥪ⮢  ⮥
               ਫ. ஡ ᠭ ⨯, ⠭  ६
                 ᮮ⢥饬 ࠧ 㬥 "Turbo Vision Guide"




                                       11


           -------------------------------------------------------------
                                祭
               -------------------------------------------------------------
               GraphApplication    ꥪ-ਫ
               GraphDesktop        ꥪ - 㯯,   
                                       
               GraphProgram        ࠪ ꥪ-ਫ
               -------------------------------------------------------------

               -------------------------------------------------------------
                           ..    
               -------------------------------------------------------------
               Application PGraphProgram     nil     ⥫  ⥪饥
                                                     ਫ
               DeskTop     PGraphDeskTop     nil
               StatusLine  PGraphStatusLine  nil     ⥫  ப
                                                     ﭨ
               MenuBar     PGraphMenuView    nil     ⥫  ப 
               -------------------------------------------------------------


 GraMenu
============================================================================

               GraMenu    Menus  Turbo Vision.
                ᯥ稢 ᯮ짮 믠   ப
              ﭨ.

           -------------------------------------------------------------
                                祭
               -------------------------------------------------------------
               GraphMenuView       ࠪ ꥪ  ॠ樨
                                    ࠧ 
               GraphMenuBar        ਧ⠫쭮 
               GraphMenuBox        믠饥 .
               GraphStatusLine     ப ﭨ
               -------------------------------------------------------------



 GStdDlg
============================================================================

                GStdDlg    StdDlg  TurboVision,
                ꥪ ⨯ TChDirDialog  ॠ.


 Geditors
============================================================================

                GEditors  ᢮ 㭪 祭  Editors
                Turbo Vision.   ॠ ꥪ, ।祭
                ।஢ ⥪⮢.



                                       12


 MsgBox
============================================================================

                ⮬ 㫥 ॠ 㭪 MessgeBox,  ᢮ 㭪
                筠 ᮮ⢥饩 㭪樨   MsgBox
                Turbo Vision.  ᮧ  ࠦ  ࠭
                ,  譥  宦  묨 ,
               ॠ묨  த  Borland  Microsoft Windows.
                 ᮢ   筮  Turbo
               Vision,  ᯥ稢  ᮢ⭮ ᯮ짮
                GraphVision   Validate  ⠢ Turbo Vision.




                                       13


              ꥪ                                                     2
----------------------------------------------------------------------------

                 ᮤন ᯨ᮪  ꥪ⮢  GraphVision
                䠢⭮ 浪,  祭, ᠭ   ⮤.




GraphApplication                                                       GrApp
============================================================================

                 ----------------
                 | GraphProgram |
                 ----------------
                        |
                        |
               --------------------
               | GraphApplication |
               --------------------

               ꥪ GraphApplication 㭪樮쭮 祭 ꥪ
               TApplication  Turbo Vision. GraphApplication.Init
               樠  ⥬, ᯮ㥬 GraphVision
               (ࠢ ᮡﬨ, , , 䮭⠬,
               ᯨ᪠ ਨ)  뢠 GraphProgram.Init.
               GraphApplication.Done ᭠砫 뢠 GraphProgram.Done,
               ⥬ 㭨⮦  ⥬ GraphVision.



GraphBackground                                                         Grav
============================================================================

                  -------------
                  | GraphView |
                  -------------
                        |
                        |
               -------------------
               | GraphBackground |
               -------------------

               ꥪ ⨯ GraphBackground   ꥪ
               TBackground  Turbo Vision  ।⠢ ᮡ ⥩訩
                  ଥ 襭 אַ㣮쭨.


           --------------------------------------------------------------

 BorderStyle   BorderStyle : integer;

               । ⨫ ᮢ ࠭ ꥪ GraphBackground.
               祭 ⮣  ⠭  樠樨 ꥪ.


                                       14


               栫쭮  ⮣   Grav  । 
               ⠭:
                   bsNone       = 0;  - ࠭  ᮢ뢠
                   bsBump       = 1;  - ᮧ 䥪 襭
                   bsDeep       = 2;  - ᮧ 䥪 .


     Pattern   Pattern:  word;

               । 蠡 ᪨.   ᯮ짮 ⮫쪮
               ⠭ 蠡 ᪨, ।  㫥 Graph.

         -------------------------------------------------------------

       Init    constructor Init(var Bounds: TRect; APattern: word;
                                ABorderStyle : integer);

                뢠 GraphView.Init, ⥬ ᢠ  Pattern
                祭 ࠬ APattern,   BorderStyle - 祭
                 ABorderStyle.


        ------------------------------------------------------------

               CBackground = #01#02#03;
                              |  |  |
               䮭------------  |  |
               ᢥ-----------  |
               ⥬---------------



GraphBitmapButton                                                  Controls
===========================================================================

                  ---------------
                  | GraphButton |
                  ---------------
                         |
                         |
               ---------------------
               | GraphBitmapButton |
               ---------------------

                ନ ꥪ,  ॠ騩 ,
               ᮢ뢠   ⮢ ࠦ   譥
                 bitmap-  Borland  த 
               Microsoft Windows.

           ------------------------------------------------------------

      Images   Images : PCollection;

               ࠭ 㪠⥫   ࠧ (ꥪ⮢ ⨯ TImage),
                ᯮ  ࠦ ࠧ ﭨ
               .

                                       15

         ------------------------------------------------------------

       Init    constructor Init(var Bounds : TRect; ATitle : TTitleStr;
                                ACommand : word; AFlags : word);

               뢠 GraphButton.Init;  ⥬  䠩 ⠭
               ᮢ, ⮬᪨ 뢠  ६ 樠樨
               ਫ, 㦠  ࠧ   ATitle,
                ᢠ 㪠⥫    Images:

       Load    constructor Load(var S : TStream);

               뢠 GraphButton.Load,   㦠  Title,
               Command, Flags  AmDefault, ⥬  䠩 ⠭
               ᮢ 㦠  ࠧ   Title^  
               ࠭ 㪠⥫     Images.

       Done    destructor Done; virtual;

               ⮦  ࠧ  뢠 GraphButton.Done.

  DrawState    procedure DrawState(Pushed : boolean); virtual;

                  ࠭  ᨬ   ﭨ.
               樨 ࠧ  ⠭ , ࠭騥  䠩
               ⠭ ᮢ, ᮤঠ  ࠧ:

                   祭
               ------    ----------
               0         ⨢  (State and sfFocused = 0)
                         ( ࠧ襭  饭 )
               1          ⨢ 
               2         ଠ쭠 ⨢  (State and sfFocused <> 0)

               ਬ, ᫥⥫쭮:

                  GetExtent(R);
                  P := Images^.At(1);
                  DrawImg(R.A,PImage(P),NormalPut);

                ࠭ ⨢   ⮬ ﭨ.
               ⮤   ८।.


                                       16

GraphButton                                                        Controls
===========================================================================

                -------------
                | GraphView |
                -------------
                      |
                      |
               ---------------
               | GraphButton |
               ---------------

                ⫨稥  ꥪ TButton, ꥪ GhaphButton 
               ࠪ ꥪ⮬,  ᭮ ண ᮧ ࠧ
                .

               ꥪ GraphButton ᮤন   ,    TButton.
                ᠭ .  "Turbo Vision Guide".

         ------------------------------------------------------------

   DrawState   procedure DrawState(Pushed : boolean); virtual;

               ࠪ ⮤, 믮 ᮢ  
               ᨬ   ⥪饣 ﭨ.  
               ८।  ⮬ ꥪ GraphButton.




GraphCheckBoxes                                                     Controls
============================================================================

                ----------------
                | GraphCluster |
                ----------------
                       |
                       |
               -------------------
               | GraphCheckBoxes |
               -------------------

               ꥪ Graphheckboxes 믮   㭪樨,
                 TCheckBoxes  Turbo Vision.   
                ᨬ 䨪樥, ..    ६ 
                ࠭ ᪮쪮 .  Value 
                  16  ( 1  16),  1   樨
               砥,   祭.

         -------------------------------------------------------------

       Init    constructor Init(var Bounds : TRect; AStrings : PSItem);

               C    ᨬ 䨪樥.

       Load    constructor Load(var S : TStream);

               㦠  ⮪ S    ᨬ 䨪樥.

       Done    destructor Done; virtual;
               ⮦    ᨬ 䨪樥.

                                       17


GetItemSize    procedure GetItemSize(var ItemSize : TPoint); virtual;

               頥  ६ ItemSize ࠧ , 
                ⮬ ࠢ.

HandleEvent    procedure HandleEvent(var Event : TEvent); virtual;

               ࠡ뢠 ᮡ      ।
                 ﭨ ⥪饩 .

 NewControl    function NewControl(Bounds : TRect;
                                   AId : integer): PGraphView; virtual;

                   㯯   ᨬ 䨪樥.
                 뢠 ।⢥.

       Mark    function Mark(Item : Integer): boolean; virtual;

               頥 true, ᫨    Value ⠭  1,
               ..   ⬥祭.

      Press    procedure Press(Control : PGraphView); virtual;

               뢠  HandleEvent,     ᨬ
               䨪樥.  祭  Value.  
               뢠 ।⢥.



GraphCluster                                                        Controls
============================================================================

                --------------
                | GraphGroup |
                --------------
                       |
                       |
               ----------------
               | GraphCluster |
               ----------------

               ꥪ GraphCluster ।⠢ ᮡ 㭪樮 
               ꥪ TCluster, ,  ⫨稥  ,  ⮬
               㯯.
               GraphCluster - ࠪ ꥪ,  ᭮ ண
               ॠ ꥪ ᨬ  ᨬ .

           -------------------------------------------------------------

       Value   Value: Word;

               饥 祭  ࠢ.   ⮣
                । ⨯ ꥪ, ஦  GraphCluster.


                                       18


         Sel   Sel: Integer;

               騩 ࠭  .

         -------------------------------------------------------------

       Init    constructor Init(var Bounds: TRect; AStrings: PSItem);

               뢠 GraphGroup.Init,    
               ࠢ, 뢠 ⮤ InsertItem   ப
               ᯨ᪠ AStrings.

       Load    constructor Load(var S: TStream);

               뢠 GraphGroup.Load, ⥬ ⠥  ⮪ S 
               Value   Sel.

   DataSize    function DataSize: Word; virtual;

               頥 ࠧ  Val.  ४뢠  ஦
               ⨯,   㣨  .

    GetData    procedure GetData(var Rec); virtual;

               뢠 祭  Value   Rec. 
               ४뢠  ஦ ⨯,   㣨
                .

GetItemSize    procedure GetItemSize(var ItemSize : TPoint); virtual;

               頥  ६ ItemSize ࠧ , 
                ⮬ ࠢ.  ࠪ ⮤, 
                 ८।  ⮬ ꥪ GraphCluster.

 GetHelpCtx    function GetHelpCtx: Word; virtual;

               頥 祭 HelpCtx + Sel,   
               ⥪ ࠢ    .

 GetPalette    function GetPalette : PPalette; virtual;

               頥 㪠⥫    㬮砭.

  NewControl   function NewControl(Bounds : TRect;
                                   AId : integer): PGraphView; virtual;

               ࠪ ⮤, 믮騩    
               ࠢ. AID - 䨪   㯯.
                 ८।  ⮬ ꥪ GraphCluster.
                 뢠 ।⢥.

                                       19


       Mark    function Mark(Item: Integer): Boolean; virtual;
               ᯮ  ।,    ⬥祭
                㬮砭 ᥣ 頥 false, ..  ⮤
                 ८।  ⮬ ꥪ GraphCluster.

      Press    procedure Press(Control : PGraphView); virtual;

               뢠  HandleEvent,     
                ⬥⪮ 誨,  ᮡ⨥  . 
               ࠪ  ⮤   ४.

    SetData    procedure SetData(var Rec); virtual;

               ⠥  Value   Rec    ⠬
                ᮢ ᥡ  ᮮ⢥⢨  ⨬ 祭.
                 ४, ᫨ ஦ ⨯ ᯮ
               ⥫  .

               ਬ:

               procedure NewType.SetData(var Rec);
               begin
                  GraphCluster.SetData(Rec);
                  ....
                  {㣨 ⢨}
                   ....
               end;

     Store    procedure Store(var S: TStream);

              ࠭ ꥪ GraphCluster  ⮪, 뢠
              GraphView.Store, 뢠 Valuse  Sel  ⮪ S.


       --------------------------------------------------------------

                  CCluster = #47#48#49#50#51#52#53;
                               |  |  |  |  |  |  |
              䮭 -------------  |  |  |  |  |  |
              ⥪ 饭---  |  |  |  |  |
              ⥪ ଠ-------  |  |  |  |
              ⥪ ࠭-----------  |  |  |
              ᨬ ⪮ ------  |  |
               ଠ쭠---------------  |
               饭-----------------


                                       20


GraphDeskTop                                                           GrApp
============================================================================

                --------------
                | GraphGroup |
                --------------
                      |
                      |
               ----------------
               | GraphDesktop |
               ----------------

               ꥪ GraphDesktop 祭 ꥪ TDeskTop,
                ᪫祭 ⮣,   ⮤ NewBackground
               ᯮ ⮤ InitBackground.

         -------------------------------------------------------------

InitBackground   procedure InitBackground; virtual;

                ꥪ 䮭, ᯮ㥬   ࠭. 뢠
                ⮤ GraphDesktop.Init.   ४.




GraphDialog                                                        Controls
===========================================================================

               -----------------
               |  GraphWindow  |
               -----------------
                       |
                       |
                ---------------
                | GraphDialog |
                ---------------

                ꥪ   ꥪ TDialog.
               ᠭ   ⮤ .  "Turbo Vision Guide".

        -----------------------------------------------------------

               CDialog = #94#95#96#97#98#99#100#101#102#103#104#105#106+
                         #107#108#109#110#111#112#113#114#115#116#117+
                         #118#119#120#121#122#123#124#125#126#127#128+
                         #129#130#131#132#133#134#135#136#137#138#139+
                         #140#141#142#143#144#145#146#147#148#149#150+
                         #151#152#153#154#155#156#157#158;

               室   1  23 - ᮢ  祭 
                                  ᮮ⢥騬 室   .
                      24  25 - 梥  GraphStaticText
                     c 26  30 - 梥  GraphLabel
                      31  46 - 梥  ⥪⮢ 
                      47  53 - 梥  
                      54  57 - 梥 ப 
                      58  61 - ᯮ  ਩
                      62  64 - 梥  ⮬ GraphListViewer



                                       21



GraphGrayGroup                                                      Controls
============================================================================

               -------------------
               | GraphBackground |
               -------------------
                        |
                        |
               ------------------
               | GraphGrayGroup |
               ------------------

                ⮩ ꥪ ।祭  㠫쭮 ꥤ
               ᪮쪨 ࠢ ⮢   㯯.
               ਬ ᯮ짮 :   Calc  樮
               ணࠬ.

         -------------------------------------------------------------

       Init    constructor Init(var Bounds : TRect);

               뢠 GraphBackground.Init  ⠭ GrowMode = 0;



GraphGroup                                                              Grav
============================================================================


                -------------
                | GraphView |
                -------------
                      |
                      |
               ----------------
               |  GraphGroup  |
               ----------------

               GraphGroup -  ꥪ TGroup  Turbo Vision 
               ।⠢   ᠬ ।⢠  ࠢ ᯨ᪠
                ⮢.

           -------------------------------------------------------------

               ᪫祭  Buffer, ⠪   樨 ᮢ ࠡ
               ।⢥  .

         -------------------------------------------------------------

ChangeClipRect  procedure ChangeClipRect; virtual;

                ࠧ 쭮 אַ㣮쭨,  ॡ
               ᮢ   樨 Draw.   
               , 祭  㯯, ⠪ 뢠 ⮤
               ChangeClipRect;   ४뢠   뢠
               ।⢥.

                                       22


ResetCliprect  procedure ResetClipRect; virtual;

               ⠭ ࠧ 쭮 אַ㣮쭨.  
                , 祭  㯯, ⠪ 뢠 ⮤
               ResetClipRect.    ४뢠   뢠
               ।⢥.





GraphHistoryViewer                                                  Controls
============================================================================

                 -------------------
                 | GraphListViewer |
                 -------------------
                         |
                         |
               ----------------------
               | GraphHistoryViewer |
               ----------------------

               ꥪ GraphHistoryViewer 믮   㭪樨,  
               THistoryViewer. ஡ ᠭ .  㪮⢥ 
               Turbo Vision.

        -------------------------------------------------------------

               CHistoryViewer = #28#29#30#31;
                                 |  |  |  |
               䮭 ଠ----  |  |  |
               ⥪ ଠ-----  |  |
               䮭 ࠭-----------  |
               ⥪ ࠭------------




GraphHistoryWindow                                                  Controls
============================================================================

                  ---------------
                  | GraphWindow |
                  ---------------
                         |
                         |
               ----------------------
               | GraphHistoryWindow |
               ----------------------

               ꥪ GraphHistoryWindow  祭 ꥪ
               THistoryWindow  Turbo Vision.


                                       23


        -------------------------------------------------------------

               CHistoryWindow = #1#2#3#4#5#6#7#8#9#10#11#12#13#14#15#16#17 +
                                #18#19#20#21#22#23#24#25#26#27#58#59#60#61

               室  1  27 ᮢ  祭  ⢥騬
               室 ,
               室  28  31 - 梥  GraphHistoryViewer.




GraphHistory                                                        Controls
============================================================================

                -------------
                | GraphView |
                -------------
                      |
                      |
               ----------------
               | GraphHistory |
               ----------------


               ꥪ GraphHistory  祭 ꥪ THistory.
               ᠭ ⮤   ᬮ  㪮⢥  Turbo Vision.

        -------------------------------------------------------------

               CHistory = #04#05#06#07#08;
                            |  |  |  |  |
               ᭮-----  |  |  |  |
               ᢥ --------  |  |  |
               ⥬ ------------  |  |
               ࠧ襭 ----------  |
               饭 -------------



GraphInputLine                                                      Controls
============================================================================

                 -------------
                 | GraphView |
                 -------------
                       |
                       |
               ------------------
               | GraphInputLine |
               ------------------

               ꥪ GraphInputLine  祭 ꥪ TInputLine
                Turbo Vision.


                                       24

        -------------------------------------------------------------

               CInputLine = #54#55#56#57;
                              |  |  |  |
               䮭 ଠ---  |  |  |
               ⥪ ଠ----  |  |
               䮭 뤥-------  |
               ⥪ 뤥--------



GraphLabel                                                          Controls
============================================================================

               -------------------
               | GraphStaticText |
               -------------------
                        |
                        |
                 --------------
                 | GraphLabel |
                 --------------

               ꥪ GraphLabel  祭 ꥪ TLabel
                Turbo Vision.  ࠦ ᥡ  ࠭ 
               ꥪ GraphLabel ᯮ ⥬ 䮭  ࠧ ᨬ,
               ࠢ 1.

        -------------------------------------------------------------

                     CLabel = #26#27#28#29#30;
                                |  |  |  |  |
               䮭 -------------  |  |  |  |
               ⥪ 饭---  |  |  |
               ⥪ ଠ-------  |  |
               ⥪ ࠭-----------  |
               ᨬ ⪮ ------



GraphListBox                                                        Controls
============================================================================

               -------------------
               | GraphListViewer |
               -------------------
                        |
                        |
                ----------------
                | GraphListBox |
                ----------------

                ⫨稥  ꥪ  TListBox  Turbo Vision,
               ꥪ GraphListBox  ࠪ ꥪ⠬. 
               ॠ ⮤  ࠡ  ᮥ 樥,
                ⮤ TListBox,  ᪫祭 ⮤ GetText.
                 ᯮ ⮤ GetItem.


                                       25


         -------------------------------------------------------------

    GetItem    function GetItem(Item : integer): pointer; virtual;

               頥 ⨯஢ 㪠⥫   樨
               Item. ⮬ ꥪ GraphListBox  ।
               ⮤,   頥 㪠⥫ 
               㪠⥫   ⨯.  ਬ . ꥪ TextListBox.



GraphListViewer                                                         Grav
============================================================================

                  -------------
                  | GraphView |
                  -------------
                        |
                        |
               -------------------
               | GraphListViewer |
               -------------------

               ꥪ GraphListViewer   ꥪ TListViewer.
                ॠ樨 ᪫祭 ⮤ GetText.   ᯮ
               ⮤ GetItem.

         -------------------------------------------------------------

    DrawItem   procedure DrawItem(Item : integer); virtual;

               ࠪ ⮤, ।祭  ࠦ  ࠭
                 ஬ Item.   ८।  ⮬
               ꥪ GraphListViewer.

   DrawItems   procedure DrawItems;

               ࠦ  ࠭ ⮡ࠦ  ᯨ᪠, 뢠
                   ⮤ DrawItem.

     GetItem   function GetItem(Item: Integer): pointer; virtual;

               ࠪ ⮤. 頥 㪠⥫   Item.
                 ८।  ⮬ ꥪ GraphListViewer.



                                       26


 GetItemRect   procedure GetItemRect(Item : integer; var Bounds : TRect);

               頥  ६ Bounds न , 
               ࠦ  Item.

 GetItemSize   procedure GetItemSize(var ItemSize : TPoint); virtual;

               ࠪ ⮤. 頥  ६ ItemSize
               ࠧ ࠦ  ᯨ᪠.   ᯨ᪠
                 ࠦ  ࠧ.
                ⮤   ८।  ⮬ ꥪ
               GraphListViewer.


        -------------------------------------------------------------

                       CListViewer =#62#63#64#65;
                                     |  |   |  |
               䮭 ଠ--------  |   |  |
               ⥪ -"- ---------------   |  |
               䮭 ᢥ祭-------------  |
               ⥪ -"- ----------------------




GraphParamText                                                      Controls
============================================================================

                -------------------
                | GraphStatictext |
                -------------------
                         |
                         |
                ------------------
                | GraphParamText |
                ------------------

                ꥪ GraphParamText  祭 ꥪ TParamText
                 Turbo Vision.  ࠦ ᥡ  ࠭ ꥪ
                GraphParamText ᯮ ⥬ 䮭  ࠧ ᨬ,
                ࠢ 1.


                                       27

GraphProgram                                                           Grapp
============================================================================

                 --------------
                 | GraphGroup |
                 --------------
                       |
                       |
                ----------------
                | GraphProgram |
                ----------------

                ꥪ GraphProgram, 筮 TProgram  Turbo Vision,
                    ⠭ ணࠬ  GraphVision.
                ஡ ᠭ ⮤ .  㪮⢥  Turbo Vision.
                 樠樨 ꥪ GraphProgram ⠥  ⮪,
                 ஬ ࠭ ⠭ , ᯮ㥬
                ࠧ묨 ꥪ⠬ Graph Vision.
                砫 ந   䠩 믮塞 ணࠬ.
                ᫨   , ந ⪠ 
                䠩 Standard.rsc,  ⠢  
                ⮬ Graph Vision   ஬ ࠭ 
                ⠭ ᮢ (ࠧ bitmap-  ..).
                ᫨ 䠩 ᮢ , 쭮 ६ StdResource
                ᢠ 㪠⥫  ꥪ ⨯ TResourceFile,
                ﭭ  䠩 ᮢ. ஬ ⮣, ᮧ ꥪ
                ⨯ TSharedResource, ஬  樠樨
                । 㪠⥫, ࠭騩  ६ StdResource.

          ------------------------------------------------------------

  RefreshRect   procedure RefreshRect(Bounds : TRect); virtual;

                ᯮ  ᮢ אַ㣮쭨 Bounds,
                   न ꥪ GraphProgram.
                  ४뢠   뢠 ।⢥.



GraphRadioButtons                                                   Controls
============================================================================

                   ----------------
                   | GraphCluster |
                   ----------------
                          |
                          |
                ---------------------
                | GraphRadioButtons |
                ---------------------

                ꥪ GraphRadioButtons 믮   㭪樨,  
                TRadioButtons  Turbo Vision.     ᨬ
                䨪樥, ..    ६   ࠭
                ⮫쪮  .  Value   
                ࠭ : 0 -  ࠭ ,1 - ࠭ ࢠ
                  ..

          ------------------------------------------------------------

        Init    constructor Init(var Bounds : TRect; AStrings : PSItem);
                    ᨬ 䨪樥.

                                       28


        Load    constructor Load(var S : TStream);

                㦠  ⮪ S    ᨬ 䨪樥.

        Done    destructor Done; virtual;

                ⮦    ᨬ 䨪樥.

 GetItemSize    procedure GetItemSize(var ItemSize : TPoint); virtual;

                頥  ६ ItemSize ࠧ , 
                 ⮬ ࠢ.

 HandleEvent    procedure HandleEvent(var Event : TEvent); virtual;

                ࠡ뢠 ᮡ      ।
                  ⥪饩 .

  NewControl    function NewControl(Bounds : TRect;
                                    AId : integer): PGraphView; virtual;

                    㯯   ᨬ 䨪樥.
                  뢠 ।⢥.

        Mark    function Mark(Item : Integer): boolean; virtual;

                 true, ᫨ Item = Value, ..   ஬
                Item  ⥪饩.

       Press    procedure Press(Control : PGraphView); virtual;

                뢠  HandleEvent,     ᨬ
                䨪樥.  祭  Value  ﭨ
                ᨬ , 室  㯯.    뢠
                ।⢥.




GraphStaticBitmap                                                   Controls
============================================================================

                     -------------
                     | GraphView |
                     -------------
                           |
                           |
                 ---------------------
                 | GraphStaticBitmap |
                 ---------------------

                                       29


                  ⮩ ꥪ, ।祭  ⮡ࠦ
                  ࠭ ᪨ ࠦ. GraphStaticBitmap
                   ᮡ, । . ᯮ 
                 ᨢ   ⪠.

             -----------------------------------------------------------

        Image    Image : PImage;

                 ⥫  ꥪ ⨯ TImage,  ஬ ࠭
                 ࠧ ⨭.

           -----------------------------------------------------------

          Init   constructor Init(var Bounds : TRect; AName : String);

                 뢠 GraphView.Init, 㦠  䠩 ⠭
                 ᮢ ࠧ   AName  ᢠ  Image
                 㪠⥫  㦥 ꥪ ⨯ TImage.

          Load   constructor Load(var S : TStream);

                 뢠 GraphView.Load  㦠  ⮪ S ப c
                   ࠧ,  ⥬ 㦠  䠩 ⠭
                 ᮢ ࠧ   .

          Done   destructor Done; virtual;

                 ⮦ ꥪ, ࠭騩 ࠧ ⨭  뢠
                 GraphView.Done.

          Draw   procedure Draw; virtual;

                 뢮  ࠭ ࠦ, ᯮ ⮤ DrawImg:

                 GetExtent(R);
                 DrawImg(R.A,Image,NormalPut);

         Store   procedure Store(var S : TStream); virtual;

                 뢠 GraphView.Store  ࠭  ⮪ S  ࠧ.



GraphTextButton                                                    Controls
===========================================================================

                 ---------------
                 | GraphButton |
                 ---------------
                        |
                        |
               -------------------
               | GraphTextButton |
               -------------------


                                       30


               GraphTextButton -  ନ ꥪ, ।⠢騩
               ᮡ ꥬ אַ㣮쭨  ,   譥 
               宦  ⠭   Microsoft Windows. ᫥
                ⮤, ஬ 㪠 ,  ꥪ GraphButton.

         ------------------------------------------------------------

   DrawState   procedure DrawState(Pushed : boolean); virtual;

               믮 ᮢ   ࠭. 뢠 १
               ⮤ Draw     뢠 ।⢥.  
                   ४.

  GetPalette   procedure GetPalette : PPalette; virtual;

               頥 㪠⥫   ⥪⮢  CButton.

        ------------------------------------------------------------

                  CButton = #31#32#33#34#31#32#33#34#35#36#37#38#43#44#45#46;
                              |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
       ࠧ襭 ⨢ |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
               䮭 -----------  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
               ᢥ ----------  |  |  |  |  |  |  |  |  |  |  |  |  |  |
               ⥬ --------------  |  |  |  |  |  |  |  |  |  |  |  |  |
               ⥪ ------------------  |  |  |  |  |  |  |  |  |  |  |  |
        㬮砭 (amDefault=true)      |  |  |  |  |  |  |  |  |  |  |  |
               䮭 -----------------------  |  |  |  |  |  |  |  |  |  |  |
               ᢥ ----------------------  |  |  |  |  |  |  |  |  |  |
               ⥬ --------------------------  |  |  |  |  |  |  |  |  |
               ⥪ ------------------------------  |  |  |  |  |  |  |  |
       ⥪                                        |  |  |  |  |  |  |  |
               䮭------------------------------------  |  |  |  |  |  |  |
               ᢥ ----------------------------------  |  |  |  |  |  |
               ⥬ --------------------------------------  |  |  |  |  |
               ⥪ ------------------------------------------  |  |  |  |
       饭                                                |  |  |  |
               䮭 -----------------------------------------------  |  |  |
               ᢥ ----------------------------------------------  |  |
               ⥬ --------------------------------------------------  |
               ⥪ ------------------------------------------------------



GraphTwoStateButton                                                 Controls
============================================================================

                    -------------
                    | GraphView |
                    -------------
                          |
                          |
               -----------------------
               | GraphTwoStateButton |
               -----------------------

                ࠪ ꥪ, ᮤঠ騩 ᭮ ⮤ 
               ᮧ    䨪騬 ﭨﬨ.


                                       31


           -------------------------------------------------------------

    Checked   Checked : boolean;

                ࠭ ⥪饥 ﭨ  (᫨ false - 
              䨪஢  孥 ).

        --------------------------------------------------------------

       Load   constructor Load(var S : TStream);

              뢠 GraphView.Load  㦠  ⮪ S 祭 
              Checked.

      Check   procedure Check;

              ⠭ 祭  Checked  true.

    GetData   procedure GetData(var Rec); virtual;

              頥  ६ Rec 祭  Checked.
                ८।  ⮬.

   DataSize   function DataSize : word; virtual;

              頥 ࠧ   GetData.  㬮砭 頥
              SizeOf(Boolean).   ८।  ⮬.

       Draw   procedure Draw; virtual;

              ᮢ뢠   ࠭  ᮮ⢥⢨  祭
               Checked, 뢠 ⮤ DrawState.   ४뢠.

  DrawState   procedure DrawState(Pressed: Boolean); virtual;

              ᮢ뢠   ࠭  ᮮ⢥⢨  祭
              ࠬ Pressed.   ८।  ⮬
              ꥪ GraphTwoStateButton.

HandleEvent   procedure HandleEvent(var Event: TEvent); virtual;

              ࠡ뢠 ᮡ,     
              ﭨ . ﭨ    ,  
               GraphButton, 饫窮 誨  ⨥  ஡
              (᫨ State and sfFocused <> 0).

    SetData   procedure SetData(var Rec); virtual;

               㬮砭 ⠥ SizeOf(Boolean)    Rec.
                ८।  ⮬.


                                       32


      Press   procedure Press; virtual;

              뢠 楤ன  HandleEvent  ⨨  .
               ﭨ  Checked, 뢠 ⮤ Toggle.
                ८।  ⮬.

   SetCheck   procedure SetCheck(CheckState : boolean);

              ⠭  Checked  ﭨ CheckState.

      Store   procedure Store(var S : TStream);

              뢠 GraphView.Store  뢠  ⮪ S  Checked.

     Toggle   procedure Toggle;

               祭  Checked  ⨢.

    Uncheck   procedure UnCheck;

              ⠭ 祭  Checked  false.



GraphScrollBar                                                          Grav
============================================================================

                  --------------
                  | GraphGroup |
                  --------------
                        |
                        |
                ------------------
                | GraphScrollBar |
                ------------------


                 ॠ ꥪ  ப⪨.  ⫨稥
                 ꥪ  TScrollBar,   ⮬ TView,
                GraphScrollBar  ⮬ GraphGroup. ணࠬ
                䥩, ,  .
                   ⮤, ॠ  TScrollBar, ॠ
                  GraphScrollBar. ஡ ᠭ   ⮤
                ᬮ  "Turbo Vision Guide".


         ------------------------------------------------------------

                CScrollBar = #19#20#21#22#23;
                               |  |  |  |  |
                ᭮ ------  |  |  |  |
                ᢥ ----------  |  |  |
                ⥬ --------------  |  |
                १--------------------


                                       33


GraphScroller                                                           Grav
============================================================================

                  -------------
                  | GraphView |
                  -------------
                        |
                        |
                -----------------
                | GraphScroller |
                -----------------

                ꥪ GraphScroller   ꥪ TScroller.
                ஡  ᠭ   ⮤ . 
                "Turbo Vision Guide".

            -----------------------------------------------------------

         Step   Step : TPoint

                ࠭ ࠧ ᪮  ஫.

          -----------------------------------------------------------

     GetDelta   procedure GetDelta(var Delta : TPoint);

                頥 ࠧ ஫  ᪨ .
                뢠  ⮤e SetLimit. 祭 祭
                Delta.X  Delta.Y ᯮ  ⠭ ४
                ࠬ஢  ப⪨, 易  ஫஬.
                祭 Delta  ᫥騬 ࠧ:

                   with ADelta do begin
                      X := Size.X div Step.X;
                      Y := Size.Y div Step.Y;
                   end;

         -----------------------------------------------------------

                    CScroller = #24#25#26#27;
                                 |  |  |  |
                ଠ 䮭 --  |  |  |
                ଠ ⥪----  |  |
                ᢥ祭 䮭-------  |
                ᢥ祭 ⥪--------






                                       34


GraphStaticText                                                     Controls
============================================================================

                   -------------
                   | GraphView |
                   -------------
                         |
                         |
                -------------------
                | GraphStaticText |
                -------------------


                ꥪ GraphStaticText, 筮 ꥪ TStaticText
                 Turbo Vision, ।⠢ ᮡ ⥩訩  .
                 ᮤন 䨪஢ ⥪    ᮡ.

            ------------------------------------------------------------

         Font   Font : word;

                ।  䮭, ᯮ㥬  뢮 ⥪
                 ࠭  (.  GFonts).

     CharSize   CharSize : word;

                । ࠧ ᨬ  뢮 ⥪  ࠭.

          ------------------------------------------------------------

         Init   constructor Init(var Bounds: TRect; AText: String;
                                 AFont,ACharSize : word);

                 ꥪ ⨯ GraphStaticText  ࠧ,
                뢠 GraphView.Init. ࠭ ப AText  ᢠ
                 Font  CharSize 祭 AFont  ACharSize
                ᮮ⢥⢥.

         ------------------------------------------------------------

                CStaticText = #24#25;
                                |  |
                䮭-------------  |
                ⥪--------------     


                                       35


GraphView                                                               Grav
============================================================================

                 -----------
                 | TObject |
                 -----------
                      |
                      |
               ---------------
               |  GraphView  |
               ---------------

               ꥪ ⨯ GraphView   ꥪ TView
                Turbo Vision   த⥫   ⮢.

           -------------------------------------------------------------

      Cursor   Cursor : TPoint;

               न ⥪襣 㪠⥫   
               ( ⥪饣 㪠⥫  Graph).
               ⮡ࠦ  ࠭   , ᫨  
               ⨢ (sfActive)   祭 (sfCursorVis). ଠ
                  ﭨ 䫠 sfCursorIns. 
               ⮤ ᮢ, ।  GraphView, ᯮ
               祭  Cursor  । 砫쭮 窨 樨
               (ਬ WriteText).

         -------------------------------------------------------------

ChangeClipRect  procedure ChangeClipRect; virtual;

                 ࠧ 쭮 אַ㣮쭨,  ॡ
                ᮢ   樨 Draw.  
                ४뢠   뢠 ।⢥.

ChangeMouseCursor  procedure ChangeMouseCursor; virtual;

                 設   易   
                ⮬, 뢠 ⮤ MakeActive ᮮ⢥饣
                ꥪ ⨯ TMouseCursor.
                GraphView.ChangeMouseCursor ᥣ ᯮ ꥪ
                ⨯ TMouseCursor,   㪠뢠 쭠
                ६ StdMouseCursor.
                 ⮤   ४  ⠭ ᮮ⢥⢨
                  ⮬  ମ 設 .


    DragView    procedure DragView(Event: TEvent; Mode: Byte;
                                  var Limits: TRect; MinSize, MaxSize: TPoint;
                                  RealMove : boolean); virtual;

                믮   㭪樨,    ⮤ TView.
                ⫨稥  ⮬,     ࠬ RealMove,
                 ।,  ࠧ 㤥 ६ 
                . ᫨ RealMove = true,  ६頥 ।⢥
                 .  ⨢ 砥  ࠭ ६頥
                ⮫쪮 ⮭ ࠬ,  ᠬ   ⠥  ,
                  㤥 饭  誨, ᫥ 祣 
                ६頥   . 祭 ࠬ
                RealMove = true ࠧ㬭  ᯮ짮  ६饭
                ꥪ⮢ 讣 ࠧ   栭 ࠭.

                                       36


   GetColor     function GetColor(Color: Word): Word;

                 ⫨稥  ⮤ TView.GetColor 頥  祭
                ᭮  䮭 梥⮢  襬  襬 
                ᮮ⢥⢥,  祭  梥, ।塞
                ᮬ  Color   .  易  
                ७    梥⮢.

  RefreshRect   procedure RefreshRect(Bounds : TRect); virtual;

                ᯮ  ᮢ אַ㣮쭨 Bounds,
                   न  .
                  ᯮ짮    ,
                 ᫨    ⨢ (State and sfFocused = 0).
                  ४뢠.  ਬ .  Arty.

ResetClipRect   procedure ResetClipRect; virtual;

                ⠭ ࠧ 쭮 אַ㣮쭨.
                   ४뢠   뢠 ।⢥.

  SetDrawPort   procedure SetDrawPort(Bounds : TRect);

                 ࠧ   ⥪饩  뢮
                ᪮  ⥬.  न, ।
                 ࠬ Bounds,  ८ࠧ  , ⥬
                뢠 楤 SetViewPort  Graph.
                ᯮ  ⮤ DrawView:
                  ....
                  GetClipRect(Bounds);
                  SetDrawPort(Bounds);
                  Draw;
                  ....
                ⥫쭮  ᯮ짮  㣨 ⮤.

          Arc   procedure Arc(Center : TPoint;
                              StAngle, EndAngle, Radius: Word);

                  ࠤ Radius  StAngle  EndAngle, ᯮ
                Center  業ࠫ . 祭 enter 
                  न  .

          Bar   procedure Bar(Bounds : TRect);

                 襭 אַ㣮쭨,ᯮ ⥪騥 梥 
                ⨫ ᪨. ࠭ אַ㣮쭨   
                न  .

                                       37


BicolorRectangle  procedure BicolorRectangle(Bounds : TRect;
                                             Light,Dark : word;
                                             Down : boolean);

                 襭 אַ㣮쭨  ࠧࠬ, 묨
                Bounds.  ਫ騥 ஭  梥⮬ Light,
                 㣨 - 梥⮬ Dark. ᯮ  ᮧ
                䥪 ꥬ. ਬ,

                   BicolorRectangle(R,White,DarkGray,false)

                 "㪫" ,    ஭ 
                묨(ᢥ祭묨),  ࠢ    ⥬-묨
                (⥬묨).
                ⢥⢥,

                   BicolorRectangle(R,White,DarkGray,true)

                 "" .

       Circle   procedure Circle(Center : TPoint; Radius : word);

                 襭  ࠤ R  業஬ Center,
                ᯮ ⥪騩 梥.

      DrawImg   procedure DrawImg(Location : TPoint; Image : PImage;
                                  BitBlt : word);
                뢮  ࠭ ࠧ,  ࠬ஬ Image.
                Location - न  孥 㣫  
                न.

     DrawPoly   procedure DrawPoly(Number:Word; var PolyArray);

                 , ᯮ ⥪騩 梥  ⨫ .
                ࠬ Number  ⢮ 設,
                ࠬ PolyArray - ᨢ न 設, 
                ⠬ ⨯ TPoint.

  EllipticArc   procedure EllipticArc(Center : TPoint; StAngle,EndAngle,
                                      XRadius,YRadius : word);

                    ࠤᠬ XRadius  YRadius,
                 㣫 StAngle  㣫 EndAngle, ᯮ Center 
                業ࠫ   ᯮ ⥪騩 梥.

      Ellipse   procedure Ellipse(Center : TPoint; XRadius,YRadius : word);

                   ࠤᠬ XRadius  YRadius, ᯮ Center
                 業ࠫ   ᯮ ⥪騩 梥.

  FillEllipse   procedure FillEllipse(Center : TPoint; XRadius,YRadius : word);

                 襭   ࠤᠬ XRadius  YRadius,
                ᯮ  Center  業ࠫ   ᯮ ⥪騩
                梥  ⨫ ᪨.


                                       38


     FillPoly   procedure FillPoly(Number:Word; var PolyArray);

                 襭 , ᯮ ⥪騩 ⨫ ᪨.
                ࠬ Number  ⢮ 設,
                ࠬ PolyArray - ᨢ न 設, 
                ⠬ ⨯ TPoint

         Line   procedure Line(Start,Stop : TPoint);

                   窨 Start   Stop, ᯮ ⥪騩
                梥  ⨫ .

       LineTo   procedure LineTo(Point : TPoint);

                   ⥪饩 樨, ।塞 祭 
                Cursor,  窨 Point.

     MoveRect   procedure MoveRect(Bounds : TRect; DeltaX,DeltaY : integer);

                ६頥  ᥫ,  אַ㣮쭨 Bounds,
                 ﭨ (DeltaX,DeltaY)  ࠭  .

     PieSlice   procedure PieSlice(Center : TPoint;
                                   StAngle, EndAngle, Radius: Word);

                 襭 ᥪ  ࠤᮬ Radius  㣫 StAngle
                  㣫 EndAngle, ᯮ Center   業ࠫ .

    PutBitmap   procedure PutBitmap(Location : TPoint; var BitMap;
                                    BitBlt : word);

                 㭪樨 PutImage. 뢮  ࠭ ࠧ BitMap.
                Location - न  孥 㣫 ࠧ  
                न  . 믮 祭
                 ࠭ ⥪饩  ᬮ.

     PutPixel   procedure PutPixel(Location : TPoint; Color : word);

                ᢠ ᥫ,  Location, 梥 Color.

    Rectangle   procedure Rectangle(Bounds : TRect);

                 אַ㣮쭨  ࠭栬 Bounds. ᯮ
                ⥪騩 梥  ⨫ .


    WriteText   procedure WriteText(S : String);

                뢮 ப ⥪, ᯮ ⥪騩 䮭 稭 
                ⥪饩 樨    (.  Cursor).

  WriteTextXY   procedure WriteTextXY(Point : TPoint; S : string);

                뢮 ப S 稭  樨 Point, ᯮ ⥪騩
                䮭.



                                       39


 WriteCtextXY   procedure WriteCTextXY(Point : TPoint; S : string;
                                       TextColor,AccelColor : word);

                뢮 ப S 稭  樨 Point; ,
                祭    "~", 뢮 梥⮬ AccelColor,
                ⠫ ᨬ  뢮 梥⮬ TextColor.



GraphWindow                                                             Grav
============================================================================

                 --------------
                 | GraphGroup |
                 --------------
                       |
                       |
                ---------------
                | GraphWindow |
                ---------------

                ꥪ GraphWindow   ꥪ TWindow.
                 ॠ GraphWindow ᥭ 訥 .
                ਬ, ᪫祭   Number, ⠪    GraphVision
                       ࠭ 樥
                 Alt-n (n  0  9).
                  Flags  ⥫쭮 ⢮  ⮢ .
                ᠭ ᮪ ᬮ  ࠧ "⠭"  Grav.
                祭  Palette  㬮砭 ࠢ wpGrayWindow.

            ------------------------------------------------------------

        Frame   Frame: PGraphView;

                ⥫  ꥪ, ॠ騩 ࠬ .  㪠뢠
                , ꥪ ⨯ "ࠬ" ⥯  ७ 
                  Grav  㯥  㣨 㫥. 믮
                - 樨  ⨬   ४.

    WorkSpace   WorkSpace : PGraphView;

                ⥫  ꥪ "ࠡ祥 ࠭⢮" ⨯ GraphGroup.
                  , 塞 짮⥫  ꥪ
                GraphWindow, 䠪᪨    㯯
                (. ⮤ GraphWindow.Insert).

      Caption   Caption : PGraphView;

                ⥫  ꥪ " ".  ४
                믮  - 樨   ⨬ .


                                       40


          ------------------------------------------------------------

         Init   constructor Init(var Bounds: TRect; ATitle : TTitleStr;
                                 AFlags : word);

                뢠 GraphGroup.Init(Bounds), ᢠ  Flags
                祭 ࠬ AFlags,  Palette - 祭
                wpGrayWindow, ᮧ  樠 㯯 WorkSpace.

                 ᮧ    祭 ࠬ AFlags:
                ᫨ ⠭ 䫠 wfThickFrame  wfThinFrame, 
                㤥  ࠬ;
                ᫨ ⠭ 䫠 wfTitle,  㤥  .
                ஬ ⮣,  ⠭ 䫠 wfClose   wfZoom,
                     (Close) 
                 ⠡஢ (Zoom).

       Insert   procedure Insert(P: PGraphView); virtual;

                    ࠡ .
                ⭮ 맮

                    WorkSpace^.Insert(P);

                ᫨  室     ᠬ 
                (ਬ,  ப⪨  ஫), ᯮ
                맮

                    GraphGroup.Insert(P);


         ------------------------------------------------------------

                ꥪ  ᯮ  㬮砭  CGrayWindow.

                GrayWindow = #13#14#15#16#17#18#19#20#21#22#23#24#25 +
                              #26#27#28#29#30#31#32#33#34#35#36#37#38#39;

                CBlueWindow = #40#41#42#43#44#45#46#47#48#49#50#51#52 +
                              #53#54#55#56#57#58#59#60#61#62#63#64#65#66;

                CCyanWindow = #67#68#69#70#71#72#73#74#75#76#77#78#79 +
                              #80#81#82#83#84#85#86#87#88#89#90#91#92#93;

                 室   1  3  - 梥 ࠡ祩 
                                    (   GraphBackground),
                       c  4  8  - 梥  :  梥 䮭,ᢥ,
                                    ⥬,ࠧ襭,饭.
                         9  14 - 梥 ࠬ:  ᭮,ᢥ,
                                    ⥬  ⨢ , ᭮,
                                    ᢥ,⥬  ⨢ .
                        15  18 - 梥 :
                                    䮭,⥪  ⨢ ,
                                    䮭,⥪  ⨢ .
                        19  23 - 梥  ப⪨ ( CScrollBar)
                        24  27 - 梥 ஫ ( CScroller)



                                       41



T8x8BiosFont                                                          GFonts
============================================================================

                 -------------
                 | TBiosFont |
                 -------------
                       |
                       |
               ----------------
               | T8x8BiosFont |
               ----------------

               ஥ 䮭 88  ᮡ 砥, ⠪ 
                   ⠡ ࠧ:   
               0 - 127, 㣠   128 - 256. ꥪ T8x8BiosFont 
               ।祭  ࠡ  䮭⮬ 88.

           -------------------------------------------------------------

        Top    Top : Pointer;

               ࠭ 㪠⥫  ⠡ ࠧ  ᨬ 
                128 - 255.

         -------------------------------------------------------------

       Init    constructor Init(AName : string; ABase,ATop : Pointer;
                                ABytes : word);

               뢠 TBiosFont.Init   ࠭ 㪠⥫  
                ⠡ ࠧ ATop   Top.
               ਬ:

                  var
                     Info : BiosFontParams;
                     Font : PFixedFont;
                     ...
                     GetFontParams(i,Info);
                     with Info do
                     if TwoPart then
                        Font := New(P8x8BiosFont,
                                    Init(GetFontName(i),Base,Top,
                                         BytesPerChar))
                     else
                        Font := New(PBiosFont,Init(GetFontName(i),
                                              ImageTable,
                                              Width,
                                              Height,
                                              BytesPerChar));
                     ...



                                       42


GetCharImage   function GetCharImage(Ch : Char) : Pointer; virtual;

               ४뢠 TBiosFont.GetCharImage. ᫨  ᨬ Ch
                128, GetCharImage  뤠 㪠⥫  ࠧ
                ࢮ  ⠡,    㪠뢠
                ImageTable, ᫥㥬  TBiosFont.  ⨢ 砥
               GetCharImage 뤠 㪠⥫  ࠧ  ⠡,   
               㪠뢠  Top.



TBGIFont                                                             GFonts
===========================================================================
                  ---------
                  | TFont |
                  ---------
                      |
                      |
                ------------
                | TBGIFont |
                ------------

                ꥪ TBGIFont ।祭  ࠡ  ⠭묨
                BGI 䮭⠬.

            ------------------------------------------------------------

          ID    ID : integer;

                ন  BGI 䮭,  ।।  㫥 Graph
                 ᢮ 㭪樥 InstallUserFont.

          ------------------------------------------------------------

         Init   constructor Init(AName : String; AID : Integer);

                뢠 TFont.Init   ᢠ  ID 祭
                ࠬ AID.

                ਬ:

                var
                    BGIFont : TBGIFont;
                 begin
                 ...
                    BGIFont.Init('Triplex',TriplexFont);
                    {ᮧ ꥪ ⨯ TBGIFont  ࠡ  ⠭
                     䮭⮬ TriplexFont}
                 ...

CanFillBackground  function CanFillBackground : boolean; virtual;

                ४뢠 TFont.CanFillBackground. 頥 false,
                ⠪  ⠭ BGI  䮭   ᥫ 䮭.


                                       43


    TextWidth   function TextWidth(S : String) : integer; virtual;
                ४뢠 TFont.TextWidth. 뢠 㭪 TextWidth
                 Graph.

   TextHeight   function TextHeight(S : String) : integer; virtual;

                ४뢠 TFont.TextHeight. 뢠 㭪 TextHeight
                 Graph.

      OutText   procedure OutText(S : String); virtual;

                ४뢠 TFont.OutText. 뢠 㭪 OutText 
                Graph.

    OutTextXY   procedure OutTextXY(Location : TPoint; S : String); virtual;

                ४뢠 TFont.OutTextXY. 뢠 㭪 OutTextXY
                 Graph.

 SetTextStyle   procedure SetTextStyle(Direction,Size : word); virtual;

                ४뢠 TFont.SetTextStyle;
                뢠 楤 SetTextStyle  Graph:

                    Graph.SetTextStyle(Id,Direction,Size);

GetCharHeight    function GetCharHeight(Ch : Char) : word; virtual;

                 ४뢠 TFont.GetCharHeight.

 GetCharWidth    function GetCharWidth(Ch : Char) : word; virtual;

                 ४뢠  TFont.GetCharWidth.



TBiosFont                                                             GFonts
============================================================================

                 --------------
                 | TFixedFont |
                 --------------
                       |
                       |
                 -------------
                 | TBiosFont |
                 -------------

                  ꥪ ।祭  ࠡ  ஥묨 䮭⠬
                 .  ᫥  ᭮ ⮤
                 ꥪ TFixedFont.


                                       44


             -----------------------------------------------------------

         Bytes   Bytes : word

                 ࠭ ࠧ ࠧ ᨬ (  室 ⮬,
                  ࠧ ࠧ ᨬ  ஥ 䮭⮢ 
                 ⫨  ⮣ 祭,  ஥   ⠭
                   ⮤ TFixedFont.BytesPerChar).

           ----------------------------------------------------------

         Init    constructor Init(AName : String; AImageTable : Pointer;
                                  AWidth,AHeight,ABytes : word);

                 뢠 TFixedFont.Init, ⠭ ࠬ First  Count
                 ࠢ묨 0  255 ᮮ⢥⢥,  ࠭ 祭
                 ࠬ ABytes   Bytes.

                 ਬ

                 var
                    Info : BiosFontParams;
                    Font : PFixedFont;
                    ...
                  begin
                    ...
                     for i = 1 to GetMaxFont do begin
                        GetFontParams(i,Info);
                        with Info do
                        Font := New(PBiosFont,Init(GetFontName(i),ImageTable,
                                                Width, Height, BytesPerChar));
                        ...
                     end;
                     ...
                  end.

                 . ᠭ ⨯ BiosFontParams, 㭪権 GetMaxFont
                  GetFontName, 楤 GetFontParams

 BytesPerChar    function BytesPerChar(Ch : Char) : word; virtual;

                 ४뢠 TFixedFont.BytesPerChar.
                 頥 祭  Bytes.



TBmpFilter                                                            Images
============================================================================

                -----------
                | TFilter |
                -----------
                     |
                     |
               --------------
               | TBmpFilter |
               --------------



                                       45


               樠஢ ꥪ, ॠ騩 䨫  䠩
               ଠ Windows  OS/2 .BMP.
                 ᨨ ॠ ⮫쪮  .bmp 䠩.


           -------------------------------------------------------------

      Header   Header : TBitmapInfoHeader;

               ন   㦥  ᪮ 䠩
               ଠ Windows  OS/2 bmp.
               ᠭ  TBitmapInfoHeader    ࠢ筮
               ⥬ Borland Pascal 7

         -------------------------------------------------------------

        Open   procedure Open(AName : FNameStr); virtual;

                ⮪, 易  䠩 AName,  ࠭ 㪠⥫
                   Stream.
               ⥬ 뢠 ⮤ GetHeader,  뢠 㦥
                .bmp 䠩  頥    Header.

     GetSize   procedure GetSize(var ASize : TPoint); virtual;

               頥 ࠧ 㦠 ࠦ:

                  ASize.X := integer(Header.biWidth);
                  ASize.Y := integer(Header.biHeight);

   GetHeader   procedure GetHeader; virtual;

               뢠 㦥  .bmp 䠩  頥 
                 Header.

   LoadImage   procedure LoadImage(AImage : PImage); virtual;

               뢠   ⮪ Stream^    
                ꥪ AImage^.

        Save   procedure Save(AName : FNameStr; AImage : PImage); virtual;

                 ᨨ  ॠ. ⮩ ⮤,  
                ८।.

   SaveImage   procedure SaveImage(AImage : PImage); virtual;

                 ᨨ  ॠ. ⮩ ⮤,  
                ८।.




                                       46


TByteFlow                                                             ExtObj
============================================================================

                -----------
                | TObject |
                -----------
                     |
                     |
               --------------
               |  TByteFlow |
               --------------

               TByteFlow ।祭  ࠭ ந   
               ⮪ .

           -------------------------------------------------------------

        Size   Size : word;

                  ;

        Data   Data : pointer;

               ⥫  , 樨஢  ꥪ⮬

         -------------------------------------------------------------

       Init    constructor Init(ASize : word; AData : pointer);

               뢠 bject.Init; ᢠ  Size 
               Data 祭 ࠬ஢ ASize  AData.

       Done    destructor Done; virtual;

               ᫨ Data <> nil, ᢮ ,  묨,
               ⥬ 뢠 TObject.Done;

       Load    constructor Load(var S : TStream);

                ꥪ TByteFlow, ⠥  ⮪ S  Size,
               ।  ᮮ⢥饣 ࠧ, ⠥ 
                ⮪ S  ࠭ 㪠⥫     Data.

       Store   procedure Store(var S : TStream);

               뢠  ⮪  Size  ,   㪠뢠
                Data.





                                       47


TDefaultBGIFont                                                       GFonts
============================================================================

                   ------------
                   | TBGIFont |
                   ------------
                        |
                        |
               -------------------
               | TDefaultBGIFont |
               -------------------

               ᮡ 砩 ꥪ TBGIFont  䮭 DefaultFont. 
               ᯮ짮 ⮣ ⨫ ⥪ 楤  OutText
                OuttextXY  Graph    뢮 ⥪, ᫨ 
                ࠩ 室  ࠭  ᬮ, ⮬
               o⢥騥 ⮤  ꥪ TDefaultBGIFont
               ८। ⠪ ࠧ, ⮡ 㫨஢ 祭
               ⥪.

         ------------------------------------------------------------

     OutText   procedure OutText(S : String); virtual;

               ४뢠 TBGIFont.OutText. 㫨 祭 ⥪
                ࠭  ᬮ.

   OutTextXY   procedure OutTextXY(Location : TPoint; S : String); virtual;

               ४뢠 TBGIFont.OutTextXY. 㫨 祭 ⥪
                ࠭  ᬮ.




TextListBox                                                         Controls
============================================================================

                ----------------
                | GraphListBox |
                ----------------
                       |
                       |
                ---------------
                | TextListBox |
                ---------------

                 ꥪ  ࠡ  樥 ப, ..
                㭪樮쭮   ꥪ TListBox  Turbo Vision.

       ⮤   ------------------------------------------------------------

     DrawItem   procedure DrawItem(Item : integer); virtual;

                ࠦ  ࠭  樨 Item  ப
                ᨬ, ᯮ ⥬ 䮭  ⥪騩 梥.

  GetItemSize   procedure GetItemSize(var ItemSize : TPoint); virtual;

                頥  ६ ItemSize ࠧ ࠦ 
                ᯨ᪠.


                                       48


      GetText   function GetText(Item: Integer; MaxLen: Integer): String; virtual;

                頥 ப   Item.  ⫨稥 
                TListBox.GetText, ࠬ MaxLen ।   ப
                 ᨬ,   ਭ  ᥫ  ⥪饣 ⥬
                䮭.   ८।.



TFilter                                                              Images
===========================================================================

               -----------
               | TObject |
               -----------
                    |
                    |
               -----------
               | TFilter |
               -----------

               ࠪ ꥪ, ।祭  ஥ 䨫஢
                /ᯮ 䠩 ࠧ ᪨ ଠ⮢.

           ------------------------------------------------------------

      Stream   Stream : PStream;

               ⥫  ⮪, 易  ⥪騬 ࠡ뢠
               䠩.

   ErrorCode   ErrorCode : integer;

               ࠭   ᫥ 訡, ந襤襩  ६ ࠡ⪨
               ᪮ 䠩.

         -----------------------------------------------------------


        Load   constructor Load(var S : TStream);

                믮  ⢨, ஬ 맮 TObject.Init.
                 ८।  ⮬ ꥪ TFilter.

        Open   procedure Open(AName : FNameStr); virtual;

                ⮪, 易  䠩 AName,  ᢠ 㪠⥫
                  Stream.
               ࠪ ⮤,    ८। 
               ⮬ ꥪ TFilter.


                                       49


   GetHeader   procedure GetHeader; virtual;

               㦠   㦥  䠩, ᮤঠ饣
               ᪨ .
               ࠪ ⮤,    ८। 
               ⮬ ꥪ TFilter.

     GetSize   procedure GetSize(var ASize : TPoint); virtual;

               頥  ࠬ ASize ࠧ ࠦ  ᥫ.
               ࠪ ⮤,    ८। 
               ⮬ ꥪ TFilter.

   LoadImage   procedure LoadImage(AImage : PImage); virtual;

               뢠   ⮪ Stream^, 믮 室
               ८ࠧ  뢠  筮  
                ꥪ AImage.
               ࠪ ⮤,    ८। 
               ⮬ ꥪ TFilter.

        Save   procedure Save(AName : FNameStr; AImage : PImage); virtual;

                䠩 ᮮ⢥饣 ᪮ ଠ  ࠭
                   ꥪ AImage.
               ࠪ ⮤,    ८। 
               ⮬ ꥪ TFilter.

   SaveImage   procedure SaveImage(AImage : PImage); virtual;

               ࠭  ⮪ Stream^   ꥪ AImage^
                ᮮ⢥饬 ᪮ ଠ.
               ࠪ ⮤,    ८। 
               ⮬ ꥪ TFilter.

       Store   procedure Store(var S : TStream);

               ࠭ ꥪ ⨯ TFilter  ⮪ S;


TFixedFont                                                           GFonts
===========================================================================

               ---------------
               | TRasterFont |
               ---------------
                     |
                     |
               --------------
               | TFixedFont |
               --------------

                ⮬ ꥪ ॠ ⮤  ࠡ  䮭⠬,
               騬 䨪஢ ࠧ ࠧ ᨬ.


                                       50

           ------------------------------------------------------------

  CharWidth    CharWidth : word;

               ਭ ᨬ  ᥫ.

         -----------------------------------------------------------

       Init    constructor Init(AName : String; AImageTable : Pointer;
                                First,Count : byte; AWidth,AHeight : word);

               뢠 TRasterFont.Init   ᢠ  CharWidth  
               CharHeight 祭 ࠬ஢ AWidth   AHeight
               ᮮ⢥⢥.

BytesPerChar   function BytesPerChar(Ch : Char) : word; virtual;

               ४뢠 TRasterAFont.BytesPerChar.  ࠧ ᨬ
               뢠 ᫥騬 ࠧ:

                  i := CharWidth div 8;
                  if (CharWidth mod 8) <> 0 then inc(i);
                  BytesPerChar := CharHeight * i;

GetCharWidth   function GetCharWidth(Ch : Char) : word;  virtual;

               ४뢠 TRasterFont.GetCharWidth. 頥 祭
                CharWidth.

GetCharImage   function GetCharImage(Ch : Char) : Pointer; virtual;

               ४뢠 TRasterFont.getCharImage.
               頥 㪠⥫  ࠧ ᨬ, ᫨
               FirstChar <=  ᨬ <= FirstChar + CharCount
                 nil   ⨢ 砥.

   OutText     procedure OutText(S : String); virtual;

               뢮 ப S  ࠭ 稭  ⥪饩 樨.

  OutTextXY    procedure OutTextXY(Location : TPoint; S : String); virtual;

               뢮 ப S  ࠭ 稭  樨 Location.



                                       51

TFont                                                                GFonts
===========================================================================

               -----------
               | TObject |
               -----------
                    |
                    |
                ---------
                | TFont |
                ---------

               ࠪ ⨯  ॠ権  ⨯ 䮭⮢.

           -------------------------------------------------------------

    FontName   FontName : String;

               ন  䮭.

         -------------------------------------------------------------

       Init    constructor Init(AName : String);

               뢠 TObject.Init   ᢠ  FontName 祭
               ࠬ.

CanFillBackground    function CanFillBackground : boolean; virtual;

               頥 true, ᫨ 䮭 㬥  梥 䮭
               ᥫ.
               TFont.CanFillBackground  頥 true.

   TextWidth   function TextWidth(S : String) : integer; virtual;

               ⮤ TextWidth 頥  ப S  ᥫ.
                ࠪ ⮤,    ८।
                ⮬ ꥪ TFont.

  TextHeight   function TextHeight(S : String) : integer; virtual;

               ⮤ TextHeight 頥  ப  S  ᥫ.
                ࠪ ⮤,    ८।
                ⮬ ꥪ TFont.

     OutText   procedure OutText(S : String); virtual;

               ⮤ OutText  뢮 ப S 稭  ⥪饩 樨
               ࠭.  ࠪ ⮤,   
               ८।.

   OutTextXY   procedure OutTextXY(Location : TPoint; S : String); virtual;

               ⮤ OutTextXY 뢮 ப S 稭  樨, 
               ࠬ஬  Location.  ࠪ ⮤,  
                ८।.

SetTextStyle   procedure SetTextStyle(Direction,Size : word); virtual;

                䮭 ⨢  ⠭ ࠪ⨪ 뢮
               ⥪ (ࠢ, ࠧ). ࠪ ⮤.  
               ᯫ짮 ।⢥,   ⮫쪮 ᢥ १
               맮 쭮 楤 SetTextStyle.



                                       52


 GetFontName   function GetFontName : String;

               頥 ப   䮭.

CetCharHeight  function GetCharHeight(Ch : Char) : word; virtual;

               頥   ᥫ ᨬ Ch. ࠪ ⮤,
                 ८।.

 CetCharWidth  function GetCharWidth(Ch : Char) : word; virtual;

               頥 ਭ  ᥫ ᨬ Ch. ࠪ ⮤,
                 ८।.


TImage                                                               Images
===========================================================================
               -----------
               | TObject |
               -----------
                    |
                    |
               ----------
               | TImage |
               ----------

               TImage ।祭  ࠭ ࠦ ந
               ࠧ஢.

           -----------------------------------------------------------

        Size   Size : TPoint;

                ࠧ  ᥫ.

        Data   Data : PStream;

               ⥫  ⮪,  ஬ ࠭ ࠦ.

         -------------------------------------------------------------

        Init   constructor Init(ASize : TPoint);

               ᢠ  Size 祭 ࠬ ASize,  ᮧ
               ⮪,  ஬ 㤥 ࠭ ࠦ.

      Import   constructor Import(AName : FNameStr; AFilter : PFilter);

               㦠 ࠦ  䠩 AName ᯮ 䨫
               ᪨ ଠ⮢,   㪠뢠 ࠬ AFilter.



                                       53


        Load   constructor Load(var S : TStream);

               㦠 ࠦ  ⮪ S.
               砫 㦠  ⮪ ꥪ - ᪨ 䨫,
               ⥬,   맮
                  Filter^.LoadImage(@Self)
               㦠  ⮪ S ࠦ, ࠭饥  -
               ᪮ ଠ.

        Done   desctructor Done; virtual;

               ⮦ ꥪ-⮪,  ஬ ࠭ ࠦ,
               ⥬ 뢠 TObject.Done.

      Export   procedure Export(AName : FNameStr; AFilter : PFilter);

               ࠭ ࠧ  䠩 AName  ᪮ ଠ,
               ।塞 ⨯ ᪮ 䨫 AFilter.

GetBytesPerLine  function GetBytesPerLine : integer;

               頥 ⢮ ⮢, 室  ࠭
                ப ᥫ ࠧ.

     GetLine   procedure GetLine(Line : integer; var Buffer);

               뢠 ப ࠧ  ஬ Line  頥 
                 Buffer.

     PutLine   procedure PutLine(Line : integer; var Buffer);

               뢠 ப ᥫ, 室   Buffer,
                ࠧ   ப Line.

        Draw   procedure Draw(X,Y : integer; BitBlt : word);

               뢮 ࠧ  ࠭. X,Y - न  孥 㣫
               ࠦ ⭮⥫쭮 ⥪饩  뢮.
               ࠬ BitBlt  ०   .



TMouseCursor                                                         ExtObj
===========================================================================

                -----------
                | TObject |
                -----------
                     |
                     |
              ----------------
              | TMouseCursor |
              ----------------

               TMouseCursor ।祭  ᮧ, ࠭  ࠢ
               ஬ .



                                       54


           -------------------------------------------------------------

        Size   Size : TPoint;

               ࠭ ࠧ ࠧ .

     HotSpot   HotSpot : TPoint;

               न "祣 ⭠"

       Shape   Shape : pointer;

               ⥫  ࠧ 

         -------------------------------------------------------------

        Init   constructor Init(ASize, AHotSpot : TPoint;
                                AndPlane,XorPlane : Pointer);

               뢠 TObject.Init; ᢠ  Size  HotSpot
               祭 ࠬ஢ ASize  AHotSpot; 뤥 
                ࠧ   ࠭ AND  XOR ᪨.

       Load    constructor Load(var S : TStream);

               ⠥  ⮪ S  Size  HotSpot,  ⠪ ࠧ
               .

       Done    destructor Done; virtual;

               ᢮ ,   ࠧ , 
               뢠 TObject.Done.

 MakeActive    procedure MakeActive;

                  , 뢠 楤 SetMouseShape.

      Store    procedure Store(var S : TStream);

               ࠭ ଠ  設   ⮪ S:
               뢠 祭  Size  HotSpot,  ⠪
               ࠧ .




                                       55


TRasterFont                                                          GFonts
===========================================================================

                  ---------
                  | TFont |
                  ---------
                      |
                      |
               ---------------
               | TRasterFont |
               ---------------

                ࠪ ⨯, 騩 ᭮  ॠ樨
               ࠧ  ஢ 䮭⮢,  ⮬ ᫥ ஥
               䮭⮢ .

           ------------------------------------------------------------

  ImageTable   ImageTable : pointer;

               ⥫  ⠡ ࠧ ᨬ.

   FirstChar   FirstChar : byte;

                ࢮ ᨬ,  ண । ࠧ  ⠡
               ࠧ.

   CharCount   CharCount : byte;

               ⢮ ࠧ  ⠡ ࠧ ( 1  ॠ쭮).

  CharHeight   CharHeight : word;

                ᨬ  ᥫ.

         ------------------------------------------------------------

       Init    constructor Init(AName : String; AImageTable : Pointer;
                                First,Count : byte);

               뢠 TFont.Init, ࠭ 㪠⥫  ⠡ ࠧ
                 ImageTable, 祭 ࠬ First    FirstChar
                祭 ࠬ Count    CharCount.

BytesPerChar   function BytesPerChar(Ch : Char) : word; virtual;

               頥 ࠧ ࠧ    ᨬ Ch.
               ࠪ ⮤.   ८। 
               ꥪ-⮬.
               TRasterFont.BytesPerChar   頥 0.

GetCharImage   function GetCharImage(Ch : Char) : Pointer; virtual;

               頥 㪠⥫  ࠧ ᨬ Ch.
               ࠪ ⮤.   ८। 
               ꥪ-⮬.
               TRasterFont.GetCharImage  頥 nil.


GetCharHeight  function GetCharHeight(Ch : Char) : word; virtual;

               ४뢠 TFont.GetCharHeight.



                                       56


 TextHeight    function TextHeight(S : String) : integer; virtual;

               ४뢠 TFont.TextHeight.

  TextWidth    function TextWidth(S : String) : integer; virtual;

               ४뢠 TFont.TextWidth.


TSharedResourceCollection                                            ExtObj
===========================================================================

                   ---------------------
                   | TStringCollection |
                   ---------------------
                             |
                             |
               -----------------------------
               | TSharedResourceCollection |
               -----------------------------

                ꥪ ᯮ ꥪ⮬ TSharedResource.
                 樨 ᮤন   Resource,Count  Key,
                 㪠⥫ﬨ  ꥪ-, 稪
               ᯮ짮    ᮮ⢥⢥.
               ८। ⮤ FreeItem  KeyOf



TSharedResource                                                       ExtObj
============================================================================

                   -----------
                   | TObject |
                   -----------
                        |
                        |
               -------------------
               | TSharedResource |
               -------------------

               TSharedResource ।祭  ࠢ ࠧ塞묨
               ᠬ, .. ᠬ,    ᯮ짮
               ᪮쪨 "⠬" ६.    ⮬
               ࠭ ⮫쪮   .

           -------------------------------------------------------------

 ResourceFile  ResourceFile : PResourceFile;

               ⥫  ꥪ ⨯ TResourceFile,  ஬ ࠭
               .


                                       57


         -------------------------------------------------------------

       Init    constructor Init(AResourceFile : PresourceFile);

               뢠 TObject.Init, 樠  ᮢ,
               ᢠ  ResourceFile 祭 । ࠬ.

       Done    destructor Done; virtual;

               㦠  㦥 , 㤠  ᮢ 
               뢠 䠩 ᮢ,   ResourceFile.

       Count   function Count : integer;

               頥 ⢮ 㦥 ᮢ.

       Free    proceure Free(Key : String);

               ᫨    Key 㦥,  稪 ᯮ짮
               㬥蠥  . ᫨ 稪 ⠭ ࠢ ,
                㤠  .

       Get     function Get(Key : String) : PObject;

               ᫨    Key 㦥 㦥,  稪
               ᯮ짮 㢥稢    㭪 Get 頥
               㪠⥫  .  ⨢ 砥  㦠 
               䠩 ᮢ,   ResourceFile. ᫨  
                Key    䠩 ᮢ, 㭪 Get
               頥 nil.

       KeyAt   function KeyAt(I : integer) : String;

               頥    ஬ I.


TXmsStream                                                           ExtObj
===========================================================================

                 -----------
                 | TObject |
                 -----------
                      |
                      |
               --------------
               | TXmsStream |
               --------------


               TXmsStream -  ꥪ, ॠ騩 ⮪  XMS .
                ⥫   ।祭  ࠭
               ࠧ ⮪   ⥪饩 樨.  ⨯ ꥪ⮢
               । ⮫쪮  ᨨ  ॠ쭮 ०.



                                       58


           -------------------------------------------------------------

        Size   Size : LongInt;

                ⮪  .

    Position   Position : LongInt;

                  ⮪. 砫쭠  ࠢ 0.

         -------------------------------------------------------------

        Init   constructor Init(ALimit : LongInt);

                ⮪  XMS     ࠧ஬
                . 뢠 TStream.Init, ஢ 稥 XMS
               , , ᫨  㯭, ⠥ ।
                XMS-,   ࠧ襭 ALimit ⮢.
               ᫨ XMS- ,  ந諠 訡 
               뤥  , 뢠 ⮤ Error c
               㬥⮬ stInitError.

        Done   destructor Done; virtual;
               ᢮  XMS , ⥬ ᠬ 㭨⮦ ⮪.
                 ४뢠.

      GetPos   function GetPos : LongInt; virtual;

               蠥 ⥪   ⮪.
                 ४뢠.

     GetSize   function GetSize : LongInt; virtual;

               頥 ࠧ ⮪  .
                 ४뢠.

        Seek   procedure Seek(Pos : LongInt); virtual;

               ⠭ ⥪  ⮪ ࠢ Pos.
                 ४뢠.

    Trunkate   procedure Truncate; virtual;

                  , 稭  ⥪饩 樨  
               䠩.   ⠭  殬 䠩.
                 ४뢠.

        Read   procedure Read(var Buf; Count : word); virtual;

               ⠥ Count ⮢   Buf, 稭  ⥪饩 樨.
                 ४뢠.

       Write   procedure Write(var Buf; Count : word); virtual;

               뢠 Count ⮢   Buf, 稭 
               ⥪饩 樨.
                 ४뢠.



                                       59


                                                            3
----------------------------------------------------------------------------


BiosFontParams    ⨯                                                 GFonts
============================================================================

    BiosFontParams =  record
                  Width  : word;
                  Height : word;
                  BytesPerChar : word;
                  case TwoPart : boolean of
                  false : (ImageTable : Pointer);
                  true  : (Base,Top : Pointer);
               end;

    㭪    ⨯ BiosFontParams 㦠  祭 ࠪ⨪
              ஥ ࠭ 䮭⮢.   । ଠ  
               ਭ ᨬ, ⢮   ࠧ ᨬ, 㪠⥫ 
              ⠡ ࠧ ( 砥 䮭 8x8 । 2 㪠⥫:
              Base - 㪠⥫    ⠡ ( 0-127),
              Top -  㪠⥫    ⠡ ( 128-255)).




BitPerPlane   ६                                            LowGraph
============================================================================

    BitPerPlane : integer;

    㭪   ⢮ ⮢  ⮢ , 室  ࠭
                ᥫ.



bsXXXXXXX     ⠭                                                 Grav
============================================================================

    㭪   ⠭ ⨫ 䮭  ꥪ ⨯ GraphBackground

   祭   ⠭     祭        
              --------------------------------------------------------------
              bsNone           0            ࠭
              bsBump           1         㪫 䮭
              bsDip            2          䮭



                                       60


BytesPerLine  ६                                            LowGraph
============================================================================

    BytesPerLine : integer;

    㭪    ᪠-    ⥪饣 ०.



CanFillBackground   㭪                                           GFonts
============================================================================

    function CanFillBackground : boolean;

    㭪   頥 true, ᫨ ⥪騩 䮭 㬥  梥
              䮭 ᥫ. 筠 맮

                  PFont(Fonts^.At(CurrentFont))^.CanFillBackground;


ConvertPixRow   楤                                           LowGraph
============================================================================

    procedure ConvertPixRow(var Source,Dest; Width : word;
                                      var Palette : TPaletteType);


    㭪   ८ࠧ ப ᥫ. Source - 室 ᨢ,
               ஬  ᥫ   .
              Dest - ᨢ,  ஬ ࠭ १ 樨.
               ᨢ Dest   ⥪饣 ० 
              ᮮ⢥ ଠ ࠭ ᥫ  .
              ࠬ Width   ப ᥫ.
              Palette - ⠡ ४஢ 梥⮢.
              楤 ConvertPixRow ᯮ  㫥 Images  
              䠩 ࠧ ᪨ ଠ⮢.



CstrToStr     楤                                             EventMan
============================================================================

    procedure CStrToStr(Source : string; var Dest : string);

    㭪    ப Source  ப Dest, 㤠  ⮬
               ⨫ ('~').



CurrentFont   ६                                              GFonts
============================================================================

    CurrentFont : integer = 0;

    㭪    ⥪饣 ᯮ㥬 䮭.
               ⥪饣 䮭    ⠭  
              楤 SetTextStyle   GFonts.  楤,
              ⠪  OutText, OutTextXY, TextWidth  .., ᯮ
               ⥪饣 䮭.


                                       61




CursorAreaSize  ६                                          LowGraph
============================================================================

    CursorAreaSize : word;

    㭪    , 室  ࠭  ࠭,
              ४뢠 ஬ . ⠭  樠樨
              ०. ᯮ  ० 樨 設 .



DoneFonts     楤                                               GFonts
============================================================================

     procedure DoneFonts;

   㭪    ⮦  䮭⮢.



DoneVideo     楤                                             GrDriver
============================================================================

    procedure DoneVideo;

    㭪   蠥 ࠡ  ᪮ ⥬.



DrawChar      楤                                             LowGraph
============================================================================

    procedure DrawChar(X,Y : integer; Width,Height : word;
                                 Fore,Back : word; FillBackgr : boolean;
                                 Image : pointer);

    㭪   稭  樨 (X,Y)   ࠭ ᨬ,  ࠧ
              ண 㪠뢠 ࠬ Image. ਭ   ᨬ
               ࠬࠬ Width  Height ᮮ⢥⢥.
                梥⮬ Fore. ᫨ ࠬ
              FillBackground = true, 䮭  梥⮬ Back.
              ।,  ᨬ  ᥪ ࠭ ࠭.


DrawImage     楤                                             GrDriver
============================================================================

    procedure DrawImage(X,Y : integer; var Bitmap; BitBlt : word);

    㭪   뢮  ࠭ ⮢ ࠧ.
              襭  楤 PutImage   Graph.
              믮 祭 ࠦ  ࠭ ⥪饩 
              뢮 (viewport).

                                       62



DrawMouseShape   楤                                          LowGraph
============================================================================

    procedure DrawMouseShape(X,Y : integer; var Shape);

    㭪     ࠭ 設 . ࠬ X  Y 
              न  孥 㣫 .  Shape
              ᮤন ᪨ ࠧ .
              楤 DrawMouseShape 믮 祭 ࠧ 設
                ࠭ ࠭.  饩 ᨨ ন
              ⮫쪮  ࠧ 16x16 祪.



DriverMode    ६                                            GrDriver
============================================================================

    DriverMode : integer = Vga640x480;

    㭪   ⭮  ६ DriverType । ᯮ㥬
              ०. ⨬ 祭 ०  
              ࠩ ਢ  ᠭ ⠭ Vesa*.
               樠樨 㦭 ० ࠩ 室
              ᢮ ६ DriverMode ᮮ⢥饥 祭
              । 맮 楤 InitVideo:

                 DriverType := Vesa16;          { ࠩ VESA 16 梥⮢ }
                 DriverMode := Vesa16_1024x768; { ० 1024 x 768       }
                 InitVideo;

 ⠪  DriverType, InitVideo.



DriverPaths   ६                                            GrDriver
============================================================================

    DriverPaths : array[0..2] of string = ('','','');

    㭪   ᯮ 楤ன InitVideo  樠 ᪮
              த⥬.  祭 ६ DriverType 롨ࠥ
              ப   ⠫,  ஬ 室 ᯮ㥬
              ࠩ.  㬮砭 ⠥,  ࠩ 室 
              ⥪饬 ⠫. ᫨ ࠩ 室 -  㣮
              ⠫, 室 㪠     맮
              楤 InitVideo:

                 DriverType := Vesa16;     { ᯮ㥬 ੢ Vesa 16 梥⮢}
                 DriverMode := Vesa16_800x600;
                 DriverPaths[DriverType] := 'c:\tp\bgi';
                 InitVideo;


                                       63


DriverType    ६                                            GrDriver
============================================================================

    DriverType : integer = StandardVga;

    㭪   । ⨯ ࠩ, ᯮ㥬  믮
              ணࠬ.
              ६ DriverType   ᢮   ᫥
              祭:

                 StandardVGA - c짮 ࠩ ⠭⭮ VGA.
                 Vesa16      - 㤥 ᯮ짮 ࠩ VESA 16 梥⮢.
                 Vesa256     - 㤥 ᯮ짮 ࠩ VESA 256 梥⮢.

               㬮砭 ᯮ ࠩ ⠭⭮ VGA.
              ⮡ ᯮ짮 - 㣮 ࠩ, 室
              ᢮ ६ DriverType ᮮ⢥饥 祭 ।
              맮 楤 InitVideo.

 ⠪  DriverMode, InitVideo.



EmulateMouseCursor   ६                                     LowGraph
============================================================================

    EmulateMouseCursor : boolean = false;

    㭪    樨  .
               㬮砭  設  ⪫祭  ⮡ࠦ
              設  믮 ⥬ ࠩ஬ .
               ⠭ ࠩ   ন ० Vesa,
                 ࠭  ⮡ࠦ.
               祭 樨  室 ᢮
              ६ EmulateMouseCursor 祭 true  ।
              樠樥  ᮡ⨩:

                 EmulateMouseCursor := true;
                 InitVideo;
                 InitEvents;
                 .....

 ⠪  InitEvents.



                                       64


ExtractImage  楤                                             LowGraph
============================================================================

    procedure ExtractImage(X1,Y1,X2,Y2 : integer; var Source, Dest);

    㭪     ࠧ   Source   Dest.
              ࠬ X1,Y1,X2,Y2 㪠뢠  ᥫ   न
              㥬  ࠧ   Source.
              Source  ᮤঠ ࠧ  ଠ GetImage/PutImage.
              ࠧ   Dest ⠪ 㤥  ଠ GetImage/PutImage.




FalseMode     ६                                            LowGraph
============================================================================

    FalseMode : byte;

    㭪   ᯮ   ࠩ   ६ 樠樨
               ᮡ⨩  Vesa ०.
              ⠭  ६ 樠樨 ०.
               16-梥 ० ᯮ 祭 $12,
               256-梥 ० ᯮ 祭 $13.
               ⠭⭮ ०, ࠭騩  ६ FalseMode,
              뢠 । 樠樥    $40:$49.
               १  맮 㭪樨 "mouse reset" (int $33, ax=0)
              ࠩ  ਭ ⥪騩 ०  ⠭.



FillBackGround   ६                                           GFonts
============================================================================

    FillBackground  : boolean = true;

    㭪   ᫨ FillBackgrount = true,   뢮 ⥪ 䮭 ᥫ
                梥⮬,   ᫥ 맮 楤
              SetFillStyle.

                 FillBackground := true;
                 SetFillStyle(SolidFill,Yellow);
                 OutText('Text with yellow background');
                 ......
                 FillBackGround := false;
                 OutText('Do not fill background');


Fonts         ६                                              GFonts
============================================================================

    Fonts : PCollection;

    㭪   ⥫   ꥪ⮢ 䮭⮢.  ᮧ
              楤ன InitFonts.

 ⠪  TFont




                                       65


GetNearestColor   㭪                                           LowGraph
============================================================================

    function GetNearestColor(Count : Integer;
                                      rgbRed,rgbGreen,rgbBlue : byte) : byte;


    㭪    梥,  ࠬࠬ rgbRed,rgbGreen 
              rgbBlue, 頥   室饣 梥
               ⠭⭮  BIOS.
              ࠬ Count  ⢮ ⮢  BIOS,
              ।  ந .
              ᯮ  㫥 Images  ᮧ ⠡ ४஢
              梥⮢  ७  㥬 ᪮ 䠩
               ⠭  BIOS.

 ⠪  TPaletteType, ConvertPixRow


Hot           ६                                            Eventman
============================================================================

    Hot : TPoint = (X : 0, Y :0 );

    㭪   न 祣 ⭠ 設 .
              ᯮ  樨  楤ࠬ ⮡ࠦ
              .



InitEvents    楤                                             EventMan
============================================================================

    procedure InitEvents;

    㭪   樠  ᮡ⨩ GraphVision.
              ᫨ ࠩ  ⠭  EmulateMouseCursor = true,
              墠뢠  뢠 int $33  ⠭
              ᮡ⢥ ணࠬ ࠡ⪨ 饭  㭪
              ࠢ .

 ⠪  EmulateMouseCursor, FalseMode


InitFonts     楤                                               GFonts
============================================================================

    procedure InitFonts;

    㭪   樠  䮭⮢,    ꥪ
              ⨯ TDefaultBGIFont (⠪  䮭 DefaultFont ᥣ
              ,  ᮮ⢥騩  ꥪ  樨 䮭⮢
                0), । ⢮ ஥ 䮭⮢,뢠
              㭪 GetMaxFont,      䮭⮢ 뢠
              楤 GetFontParams, ᮧ ꥪ ⨯ TBiosFont
              ( T8x8BiosFont  䮭 88)    ꥪ 
               䮭⮢.


                                       66



InitVideo     楤                                             GrDriver
============================================================================

    procedure InitVideo;


    㭪   樠  ⥬  ⠭ ॡ㥬
              ०.
              믮 ᫥騥 ⢨:
              1. ⠭ ࠩ,   㪠  ᨢ
                 VesaDriverNames;
              2. 뢠 楤 ॣ樨 ࠩ஢, ᫨  ।
              3. 뢠 楤 InitGraph,  ⠭
                 室 ०.
              4.  ᨬ  ᯮ㥬 ० ⠭ 祭
                 ᫥ ६:
                    SwitchBank,
                    ScreenWidth,
                    ScreenHeight,
                    BitPerPlane,
                    Planes
                    BytesPerLine

              ᫨  樠樨 ᪮ ⥬ ந諠 訡,
               ࠭ 뢮 ᮮ⢥饥 ᮮ饭  ணࠬ
              ਩ 蠥.



LockMouseCursor   ६                                            Grav
============================================================================

    LockMouseCursor : word = 0;

    㭪       設 .
              ᫨ LockMouseCursor = 0,     ࠧ襭.



MinWinSize    ६                                                Grav
============================================================================

    MinWinSize: TPoint = (X: 124; Y: 84);

    㭪   ।  ࠧ .


                                       67


MouseInRect   㭪                                               EventMan
============================================================================

    function MouseInRect(Bounds : TRect) : boolean;

    㭪   頥 true, ᫨     筮
              室   Bounds. ࠬ Bounds  ᮤঠ
               (࠭) न.

              ਬ
                  ...
                  GetExtent(R);
                  with R do begin
                     MakeGlobal(A,A);
                     MakeGlobal(B,B);
                  end;
                  if MouseInRect(R) then HideMouse;
                  ...


MouseOwner    ६                                                Grav
============================================================================

    MouseOwner : PGraphView = nil;

    㭪   ⥫   ,  ࠭ ண
                 室 .


MouseShape    ६                                            EventMan
============================================================================

    MouseShape : pointer = nil;

    㭪   ⥫  ⥪騩 ࠧ 設 .



MoveBlock     楤                                             GrDriver
============================================================================

    procedure MoveBlock(X1,Y1,X2,Y2 : integer;
                                  DeltaX,DeltaY : integer);

    㭪     ᥫ, ࠭ ண  ࠬࠬ
              X1,Y1,X2  Y2. न  ⭮⥫쭮 ⥪饩
               뢮. ࠬ DeltaX  DeltaY  ﭨ
               ࠢ ७. 믮 祭  ࠭
              ⥪饩  뢮.

 ⠪   MovePixels


                                       68


MovePixels    楤                                             LowGraph
============================================================================

    procedure MovePixels(X1,Y1,X2,Y2 : integer;
                                   DeltaX,DeltaY : integer);

    㭪     ᥫ, ࠭ ண  ࠬࠬ
              X1,Y1,X2  Y2. न  ⭮⥫쭮 ࠭ ࠭.
              ࠬ DeltaX  DeltaY  ﭨ  ࠢ
              ७.
              ।,   室, ⠪   न
              室  ࠭ ࠭.



ofXXXXXX      ⠭                                                 Grav
============================================================================

    㭪    䫠   GraphView.Options

   祭   ⠭        祭
              --------------------------------------------------------------
              ofNoDrawSelect      ᮢ뢠  롮
              ofResizeable         ࠧ
              ofMoveable           ६饭



OutText       楤                                               GFonts
============================================================================

    procedure OutText(S : String);

    㭪   뢮  ࠭ ப ⥪ 稭  ⥪饩 樨 
              ࠭  ᯮ ⥪騩 䮭  樨 䮭⮢.
              筠 맮

                  PFont(Fonts^.At(CurrentFont))^.OutText(S);

 ⠪  TFont.OutText, CurrentFont, Fonts


OutTextXY     楤                                               GFonts
============================================================================

    procedure OutTextXY(Location : TPoint; S : String);

    㭪   뢮  ࠭ ப ⥪, 稭  樨 Location
               ᯮ ⥪騩 䮭  樨 䮭⮢.
              筠 맮

                  PFont(Fonts^.At(CurrentFont))^.OutTextXY(Location,S);

 ⠪  TFont.OutText, CurrentFont, Fonts





                                       69


Planes        ६                                            LowGraph
============================================================================

    Planes : integer;

    㭪   ⢮ ⮢     ⥪饣 ०.
              ⠭  ६ 樠樨 ०.




RegisterProc  ६                                            GrDriver
============================================================================

    RegisterProc : procedure = nil;

    㭪   ⥫  楤 ॣ樨 BGI ࠩ஢.
              楤 InitVideo ஢ 祭 ⮩ 楤୮
              ६,  ᫨ 祭  ࠢ nil, 뢠
              易  ६ 楤 ॣ樨.

              procedure MyRegisterProc;
              begin
              ...
              end;

              begin
                 RegisterProc := MyRegisterProc;
                 ...
                 InitVideo;
                 ...
              end;

               ᠭ 楤 InitVideo.


ScreenHeight  ६                                            LowGraph
============================================================================

    ScreenHeight : integer;

    㭪   ࠭  ࠭  ᥫ. ⠭  ६
              樠樨 ०.


ScreenWidth   ६                                            LowGraph
============================================================================

    ScreenWidth : integer;

    㭪   ࠭ ਭ ࠭  ᥫ. 祭 ᢠ 
              ६ 樠樨 ०.




                                       70


SelectFont    楤                                               GFonts
============================================================================

    procedure SelectFont(Font : integer);

   㭪    ᫨ 䮭  ஬ Font    樨 䮭⮢,
                ⠭ ⥪騬 (६ CurrentFont ᢠ
              祭 Font). ᫨  ᯮ BGI 䮭,  ⮩
              楤ன   짮.
                㦭 ᯮ짮 楤 SetTextStyle(. )



SetExclusiveArea   楤                                        EventMan
============================================================================

    procedure SetExclusiveArea(Bounds : TRect);

    㭪   ⠭ न  ࠭,  ன 饭
               設 .     
               㤥 襭.




SetMouseCursor  楤                                           EventMan
============================================================================

    procedure SetMouseShape(HotSpot,Size : TPoint; Shape : pointer);

    㭪     設 . ࠬ Shape 
              㪠⥫  ࠧ  .
              ࠬ HotSpot  न "祣 ⭠"  ࠧ
              . ࠬ Size ᥣ  ᮤঠ 祭 (16,16),
              ᪮   ᨨ GraphVision ন ⮫쪮
               ࠧ 16x16.



SetTextStyle  楤                                               GFonts
============================================================================

    procedure SetTextStyle(Font,Direction : word; CharSize : word);

    㭪    䮭 Font ⥪騬, 뢠 楤 SelectFont,
              ⥬ 뢠 ⮤ SetTextStyle ⥪饣 䮭:

              PFont(Fonts^.At(CurrentFont))^.SetTextStyle(Direction,CharSize);

 ⠪  TFont.SetTextStyle, CurrentFont, Fonts


                                       71


SetupMethods16   楤                                          LowGraph
============================================================================

    procedure SetupMethods16

    㭪   㦥 楤, 뢠 楤ன InitVideo 
              樠樨 16-梥 ०.


SetupMethods256   楤                                          LowGraph
============================================================================

    procedure SetupMethods256

    㭪   㦥 楤, 뢠 楤ன InitVideo 
              樠樨 256-梥 ०.


SetWriteMode  楤                                             GrDriver
============================================================================

    procedure SetWriteMode(WriteMode : integer);

    㭪   ⠭ ०     権 ᮢ.
               楤 SetWriteMode   Graph,  ⥫쭮
              ࠭  ०   ६ Mode, 
              ᯮ 묨 楤ࠬ   LowGraph.


StdResource   ६                                              ExtObj
============================================================================

    StdResource : PResourceFile = nil;

              ⥫  䠩 ⠭ ᮢ.


StdSharedResource   ६                                        ExtObj
============================================================================

    StdSharedResource : PSharedResource = nil;

              ⥫   ࠧ塞 ᮢ.


SwitchBank    ६                                            LowGraph
============================================================================

    SwitchBank : boolean = false;

    㭪   ⠭  ६ 樠樨 ०.
              ᫨ SwitchBank = true,  ॡ ४祭 
                 ᮢ.


                                       72


SystemFont    ६                                              GFonts
============================================================================

    SystemFont : integer = 0;

    㭪    䮭  樨 䮭⮢, ᯮ㥬  ⥬ 䮭.
              ⥬ 䮭 ᯮ  뢮 ⥪  ,
              ப ﭨ  .



TextHeight    㭪                                                 GFonts
============================================================================

    function TextHeight(S : string) : integer;

    㭪    ⥪饣 䮭 頥  ⥪.
              筠 맮

                  PFont(Fonts^.At(CurrentFont))^.TextHeight(S);

 ⠪  TFont.TextHeight, Fonts, CurrentFont


TextWidth     㭪                                                 GFonts
============================================================================

    function TextWidth(S : String) : integer;

    㭪    ⥪饣 䮭 頥 ਭ ⥪  ᥫ.
              筠 맮

                  PFont(Fonts^.At(CurrentFont))^.TextWidth(S);

 ⠪  TFont.TextWidth, Fonts, CurrentFont



TPaletteType     ⨯                                                LowGraph
============================================================================

    TPaletteType = record
                 Size : word;
                 Colors : array[0..255] of byte;
              end;

    㭪    ⨯ TPaletteType ᯮ  ᭮ 
              ⠡ ४஢  ८ࠧ  㥬
              ࠧ  ⠭  BIOS.

               ⠪ ᠭ 㭪樨 GetNearestColor 
              楤 ConvertPixRow.


                                       73

Vesa16Modes   ᨢ                                                GrDriver
============================================================================

    Vesa16Modes : array[0..2] of integer =
                         (Vesa16_800x600,Vesa16_1024x768,Vesa16_1280x1024);

   㭪     ० Vesa 16 梥⮢  ᯮ㥬 ࠩ.
              ᪮     ०  ࠧ ࠩ  
              ࠧ , ᨢ Vesa16Modes ᯮ  ४஢
               ० GraphVision  ᮮ⢥騩  ०
              ᯮ㥬 ࠩ. ᨢ ० ᯮ 楤ன
              InitVideo  樠樨 ᪮ ⥬.
              祭 ⠬ ᨢ   ᢮  맮
              楤 InitVideo:

                 Vesa16Modes[0] := 16;
                 Vesa16Modes[1] := 17;
                 Vesa16Modes[2] := 18;
                 .....
                 InitVideo;



Vesa256Modes  ᨢ                                                GrDriver
============================================================================

    Vesa256Modes : array[0..4] of integer =
                  (Vesa256_640x400, Vesa256_640x480, Vesa256_800x600,
                   Vesa256_1024x768,Vesa256_1280x1024);

   㭪     ० Vesa 256 梥⮢  ᯮ㥬 ࠩ.
              ᪮     ०  ࠧ ࠩ  
              ࠧ , ᨢ Vesa256Modes ᯮ  ४஢
               ० GraphVision  ᮮ⢥騩  ०
              ᯮ㥬 ࠩ. ᨢ ० ᯮ 楤ன
              InitVideo  樠樨 ᪮ ⥬.
              祭 ⠬ ᨢ   ᢮  맮
              楤 InitVideo:

                 Vesa256Modes[0] := 21;
                 Vesa256Modes[1] := 22;
                 .....
                 InitVideo;



VesaDriverNames  ᨢ                                             GrDriver
============================================================================

    VesaDriverNames : array[1..2] of string[20] =
                                ('Vesa16','');

    㭪   ᨢ  ࠩ஢  ० VESA 16  256 梥⮢.
              ᯮ 楤ன InitVideo  ⠭  ॣ樨
              ࠩ஢  ᪮ த⥬.  祭 ६
              DriverType ।  ᯮ㥬 ࠩ,
              ஥ । 楤 InstallUserDriver  ࠬ.


                                       74


               㬮砭 ⠥,   ० Vesa 16 梥⮢
              ᯮ ࠩ Vesa16.bgi, 室騩  ⠢ Turbo Pascal,
                ࠩ  ० Vesa 256 梥⮢  ।.
                 ᯮ짮  㯭 ࠩ,
              ন騥 ० Vesa 16  256 梥⮢. 
              ८।  ᯮ㥬 ࠩ:

                 VesaDriverNames[Vesa16] := 'MyVesa16';
                 VesaDriverNames[Vesa256] := 'Svga';




wfXXXXXX      ⠭                                                 Grav
============================================================================

    㭪    ᪨   GraphWindow.Flags

   祭   ⠭         
              --------------------------------------------------------------
               wfThickFrame       ப ࠬ
               wfThinFrame        ⮭ ࠬ
               wfFramed           ࠬ
               wfTitle            



Xms_Addr      ६                                                 Xms
============================================================================

    Xms_Addr : pointer = nil;

    㭪   ন  窨 室 ᯥ XMS .
              ᫨ Xms_Addr = nil,  砥,  XMS  
                뫠 樠஢.


Xms_FreeMem    楤                                                 Xms
============================================================================

    procedure Xms_FreeMem(Handle : word);

    㭪   ᢮  ७ , । ࠭
              㭪樥 Xms_GetMem  易  ਯ஬ Handle.
               襭 樨 ࠭  ६ Xms_Status.


Xms_GetMem    㭪                                                   Xms
===========================================================================

    function Xms_GetMem(Size : word) : word;

    㭪   뤥  ७ .   Size 
                1024 . 頥 ਯ , ᫨ 
              ᯥ譮 뤥,  0  ⨢ 砥.
               襭 樨 ࠭   Xms_Status.


                                       75


Xms_Init      㭪                                                    Xms
============================================================================

    function Xms_Init : boolean;

    㭪   । 稥 ࠩ XMS .
              頥 True, ᫨ ࠩ 室  ,
               ⠪ ࠭  ६ Xms_Addr 
              ᯥ ७ .


Xms_Initialized    ६                                            Xms
============================================================================

     Xms_Initialized : boolean = false;

    㭪      XMS . ᫨ Xms_Initialized = false,
                砥,  XMS     뫠
               樠஢.


Xms_MaxAvail   㭪                                                   Xms
============================================================================

     function Xms_MaxAvail : word;

     㭪   頥 ࠧ ᨬ쭮 ᢮ 
                .
                襭 樨 ࠭   Xms_Status.


Xms_MemAvali   㭪                                                   Xms
============================================================================

     function Xms_MemAvali : word;

     㭪   頥 ࠧ ᢮ ७   .
                襭 樨 ࠭   Xms_Status.


                                       76


Xms_MoveMem    楤                                                 Xms
============================================================================

     procedure Xms_MoveMem(Source : pointer; SHandle : word;
                                     Dest  : pointer; DHandle : word;
                                     Count : LongInt);


     㭪   뫪  / ७ .

               ࠬ:

               SHandle - ਯ -筨;
               DHandle - ਯ -ਥ;
               Source - 32-ࠧ來 ᬥ饭  -筨
                         ࢮ 뫠 .
               Dest   - 32-ࠧ來 ᬥ饭  -ਥ.
               Count  - ⢮ 뫠 ⮢.

               ᫨ SHandle = 0,  Source   㪠⥫
                ⠭⭮ .   ᠬ ୮  DHandle  Dest.

               ⢮ 뫠    .


Xms_ResizeMem    楤                                               Xms
============================================================================

     procedure Xms_ResizeMem(Handle,Size : word);

     㭪    ࠧ  ७ , 易 
               ਯ஬ Handle.
               ࠬ Size   ࠧ .
                襭 樨 ࠭   Xms_Status.


Xms_Status     ६                                                Xms
============================================================================

     Xms_Status : byte

                襭 樨  XMS .
               祭 Xms_Status, ⫨筮  , 砥,  ᫥
                 XMS  訫 ਩.
               ஡ ᠭ   襭 
                ᯥ䨪樨 XMS.







                                       77


                                                                  II
---------------------------------------------------------------------------

               GraphVision ணࠬ  ६ ࠡ ᯮ 譨
               , ⠪  ࠧ 設 ஢,   
               ࠧ  ࠧ筮  .    ࠭
                䠩 Standard.rsc, 室饬  ⠢ .


                室  䠩 Standard.rsc                         1
---------------------------------------------------------------------------

               1.  ࠧ 設 :

                  "IBEAM" - ᯮ  ࠡ  ⥪⠬;
                  "MOVE" - ६饭 ;
                  "POINTINGHAND" - ᯮ  ࠡ  ;
                  "RESIZEHOR" -  ࠧ   ਧ⠫;
                  "RESIZEVERT" -  ࠧ   ⨪;
                  "STANDARD" - ⠭  (५);
                  "WAIT" - ᯮ  믮 ⥫ 権.

               2. 樨 ࠧ  ,   
                  ᯮ  ࣠樨   짮⥫:

                  "ABORT" - ࢠ;
                  "CANCEL" - ⪠;
                  "CLEAR" -  ;
                  "HELP"  - ;
                  "IGNORE" - ஢;
                  "NO" - "";
                  "OK" - "ᮣᥭ";
                  "OPEN" - ;
                  "REPLACE" - ;
                  "RETRY" - ;
                  "SETUP" - ⠭;
                  "YES" - "";

               3. 樨 ࠧ  , ᯮ㥬 ꥪ⠬
                  GraphVision:

                  "CHECKBOX" -   ᨬ 䨪樥;
                  "RADIOBUTTON" -   ᨬ 䨪樥;
                  "DOWN" - ५ ;   \
                  "LEFT" - ५ ;    \ ᯮ ᠬ ப⪨;
                  "RIGHT" - ५ ࠢ;  /
                  "UP" - ५ ;     /
                  "ZOOM" -  ⠡஢ .


               4. ⨭, ᯮ㥬   ᮮ饭 (MessageBox):

                  "CONFIRM" - ⥫  -   ⢥ত;
                  "ERROR"   - ⠭ 㪠 -  ᮮ饭  訡;
                  "INFORMATION" - 㪢 "i" -   ଠ樮 ᮮ饭;
                  "WARNING"  - ᪫⥫  -  ᮮ饭-।०.


                                       78


                㧨                                        2
---------------------------------------------------------------------------

                ६ ࠡ GraphVision-ਫ ᮧ ꥪ ⨯
               TResourceFile, 易  䠩 ᮢ,  ࠭
               㪠⥫    ६ StdResource. ᪮ 
                 ꥪ⮬   㭨쭮 ,   
               㦥     맮 Stdresource^.Get.
               ਬ, 맮

                  StdResource^.Get('HELP');

               頥 㪠⥫   ࠧ   Help.


                ࠭                                        3
---------------------------------------------------------------------------

               ࠧ 設 ஢ ࠭  ꥪ ⨯ TMouseCursor.
               ஡ ᠭ ⮣ ⨯ ꥪ   ࠢ筨
               ꥪ⮢.
                ࠧ  ࠧ筮   ࠭ 
               樨 ꥪ⮢ ⨯ TImage. ᠭ ⮣ ⨯ ⠪ 
                ࠢ筨 ꥪ⮢.
               ⨭ ࠭  ꥪ ⨯ TImage.


                                                         4
---------------------------------------------------------------------------

                ⠢  室  ணࠬ, AddResrc.exe,
                    䠩 Standard.rsc.
                ணࠬ 믮 ⮫쪮  ᮢ,   ᮤন
                ।   ᮧ.
                ஡  ࠧ訬. ᪮  ⨭  䠩
               ᮢ ࠭  ଠ Windows bitmap,   ᮧ
                  ᪮ ।, ন饣
                ଠ.
               ।⥫쭥 ᯮ짮 16-梥 ࠧ, ᪮
                  ᯮ짮   16, ⠪   256-梥
               ०.  ⥫쭮   ᮧ ᯮ짮
               ⮤ ᦠ RLE4, ᪮ ⠪ ࠧ  
                 ᪥  ॥ 㦠  .
                讥 砭:  GraphVision ᮤন 
               ।⢠  ८ࠧ ७  㥬
               ࠧ  ⠭  BIOS, १  ᥣ
                 㤮⢮⥫묨. ⮬ ४ 
               ᮧ 16-梥 ࠧ ᯮ짮 RGB-祭 梥⮢,
                 RGB-祭 梥⮢  BIOS.



                                       79


               ⮡    , 室 ᮧ
                ᪥ 䠩  묨 ᫥饩 :

               MouseData = record
                 SizeX : word;                  { ਭ }
                 SizeY : word;                  {  }
                 HotX  : word;                  { X-न 祣 ⭠}
                 HotY  : word;                  { Y-न 祣 ⭠}
                 AndMask : array[0..15] of word; { AND ᪠ }
                 XorMask : array[0..15] of word; { XOR ᪠ }
               end;

                ⥬ 믮  ⮣ 䠩   ணࠬ
               AddResrc.exe. (  ᨨ ন 設 
               ⮫쪮  ࠧࠬ 16x16).





                                       80


                                                                  III
---------------------------------------------------------------------------


               ⠭ ०                                     1
---------------------------------------------------------------------------

                ⠭ ॡ㥬 ० 室 ।
               樠樥 ਫ ⠭ ᮮ⢥騥 祭
               ६ DriverType  DriverMode.
               ६ DriverType ।  ᪮ ࠩ
               ०. ᪨ ࠩ -  ⨥, 
                GraphVision.  ᪨ ࠩ஢  GraphVision
               䨪஢  塞.  ᪨ ࠩ ᯮ
               ॠ BGI ࠩ,    .
               ६ DriverMode ।  ᯮ㥬
               ०  ᪮ ࠩ.
                 GraphVision । ᫥騥 ⠭ 
               祭 ᪨ ࠩ஢:

                  StandardVGA = 0      -  ࠩ ⠭⭮ VGA;
                  Vesa16      = 1      -  ࠩ VESA 16 梥⮢;
                  Vesa256     = 2      -  ࠩ VESA 256 梥⮢.

               ⠭, ।騥  ०   ࠩ,
               ਢ  ᫥饩 ⠡:


               ------------------------------------------------------------
               ⠭           | 祭 |   ०
               ------------------------------------------------------------
               VGA640x480          |  VGAHI   |  640 x 480 x 16

               VESA16_800x600      |    0     |  800 x 600 x 16
               VESA16_1024x768     |    1     |  1024 x 768 x 16
               VESA16_1280x1024    |    2     |  1280 x 1024 x 16

               VESA256_640x400     |    0     |  640 x 400 x 256
               VESA256_640x480     |    1     |  640 x 480 x 256
               VESA256_800x600     |    2     |  800 x 600 x 256
               VESA256_1024x768    |    3     |  1024 x 768 x 256
               VESA256+1280x1024   |    4     |  1280 x 1024 x 256
               -------------------------------------------------------------

                㬮砭 ᯮ ࠩ ⠭⭮ VGA 
               ० 640 x 480 :

                  DriverType := StandardVga;
                  DriverMode := VGA640x480;

               ।,  室 ० 256 梥⮢  ࠧ襭
               800 x 600 祪.  ᯮ짮 ⮣ ० 室
               ⠭ ᫥騥 祭:

               DriverType := Vesa256;
               DriverMode := VESA256_800x600;


                                       81


               楤 InitVideo, 뢠  GraphApplication.Init,
               ᯮ 祭  ६, ⠭ ॡ㥬
               ०.

                   -  BGI ࠩ 㤥  ⮬
               ᯮ짮?
                ࠩ஬  StandardVGA  ᭮ -  EGAVGA.BGI
                 ⠭ 裡  ᪨ ࠩࠬ
               Vesa16  Vesa256  ॠ묨 BGI ࠩࠬ ᯮ
               ।  㫥 GrDriver ᨢ VesaDriverNames.
                㬮砭  ⮬ ᨢ  ᫥騥 祭:

                  VesaDriverNames[Vesa16] := 'vesa16';
                  VesaDriverNames[Vesa256] := '';

                ,  㬮砭 ᪨ ࠩ Vesa16 易
                ࠩ஬ Vesa16.bgi,   ᪮ ࠩ Vesa256
                BGI ࠩ  ।.
               ।,  ⨬ 易 ᪨ ࠩ Vesa16
               c ࠩ஬ MyVesa16.bgi,  ᪨ ࠩ Vesa256 - c
               ࠩ஬ Svga256.bgi.  ⮣ 室 । 樠樥
               ਫ ᢮ ᮮ⢥騥 祭 ⠬
               ᨢ VesaDriverNames:

                  VesaDriverNames[Vesa16] := 'myvesa16';
                  VesaDriverNames[Vesa256] := 'svga256';

                ⭮, ᪠ ⥬ Turbo Pascal 
               樠樨  㬮砭 ⠥  ॡ㥬 ࠩ 
               ⥪饬 ⠫. ᫨ ࠩ 室 -  㣮
               ⠫, 室 㪠   .  ⮩ 楫
                㫥 GrDriver । ᨢ DriverPaths:

                  DriverPaths : array[0..2] of string = ('','','');

               ⮡ 㪠   ⭮ ࠩ,  ᢮
               㦭 祭 ᮮ⢥饬  ᨢ:

                  DriverPaths[StandardVga] := 'c:/tp/oldbgi';
                  DriverPaths[Vesa256] := 'c:/tp/newbgi';


               室    ஡.  ᭮  ⭮
                BGI ࠩࠬ  256-梥 ०.  GraphVision
                ०  䨪஢ 祭,  
               ࠧ BGI ࠩ஢ -  ਭ﫨   , 
               ⮬   ⮬  ०  ࠧ ࠩ
                 祭 ࠧ .  襭 ⮩ ஡
                 ᨢ Vesa16Modes  Vesa256Modes, ।
                㫥 GrDriver.  ᨢ    ࠬ
               ० ᪨ ࠩ஢  ࠬ ०
               ॠ BGI ࠩ஢.


                                       82


               ।,   ࠩ Svga256.bgi ० VESA
               ᢮   31  35. ⥫쭮, 室
               ᢮  祭 ᮮ⢥騬 ⠬ ᨢ
               Vesa256Modes:

                  Vesa256Modes[Vesa256_640x400] := 31;
                  Vesa256Modes[Vesa256_640x480] := 32;
                  Vesa256Modes[Vesa256_800x600] := 33;

                ⠪ .


               祭 BGI ࠩ஢  ⠢ ᯮ塞         2
----------------------------------------------------------------------------

                祭 BGI ࠩ஢  ⠢ ᯮ塞 
               室 믮 ॣ ࠩ  ᪮
               ⥬.  㫥 GrDriver । 楤ୠ ६
               RegisterProc,     㪠⥫
                楤 ॣ樨 ࠩ஢.  㬮砭 楤
               ॣ樨  ।:

                  RegisterProc : procedure = nil;

                ॣ樨 BGI ࠩ஢  楤, 믮
               室 ⢨,  ᢮ ६ RegisterProc
               㪠⥫  :

               procedure MyRegisterProc;
               begin
                  ...
               end;

               RegisterProc := MyRegisterProc;



               ᯮ짮 BGI ࠩ஢  ணࠬ 饭 ० 3
----------------------------------------------------------------------------

               ࠩ EgaVga.bgi  Vesa16.bgi, 室騥   ⠢
               Turbo/Borland Pascal 7, ন 饭 ० 
                ᯮ짮  뢠 ஡.
                 ⮨  ࠩࠬ  256-梥 ०.
               ࠪ᪨     ᯮ짮 ⮫쪮
                ॠ쭮 ० .  ⥭ ⮫쪮 
               BGI ࠩ 256-梥 ०, ন騩 
               ॠ, ⠪  饭 ० ࠡ .
                ࠩ, 室騩  ⠢  Svga333b.zip ( -
               Ullrich von Bassewitz, email: uz@wuschel.sunflower.sub.org).
                Svga333b.zip     ࠧ 䠩
               ࢥ.



                                       83


               設   VESA ०                               4
----------------------------------------------------------------------------

               ࠪ᪨   ⠭ ࠩ   ন
               SVGA ०   VESA ०  ⭮. ⮬
                GraphVision 뫠  প   ० VESA,
                ⭮,  樨  .
                㫥 LowGraph । ६ EmulateMouseCursor,
                 ० 樨 設 :

                  EmulateMouseCursor : boolean = false;

                㬮砭 ० 樨 設  ⪫祭.
               ⮡  , ᢮ ६ EmulateMouseCursor
               祭 true । 樠樥 ਫ:

                  EmulateMouseCursor := true;
                  ....
                  MyApp.Init;

                 祭 ⮩ ६  ६ ࠡ
               ணࠬ!   ਢ  ।᪠㥬 ᫥⢨.






