                     Graphics Turbo Vision v2.0

        (C) Borland International
        (C) Mindware Brisbane,QLD,Australia Fido : 3:640/305.1
        (C) AE (ᠭ , 誠-, 1994)
             e-mail:   ae@ae.inc.ru
             World Wide Web:   http://ae.inc.ru

         ⥪   ᢮ ᯮ짮 
          ஢  ᫮ ࠭ ࢮ砫
           室 䠩   ⥪.


       , ᮢᥬ 易⥫쭮 稭  ⥫⢠
室 ᪮ 䥩  MS-DOS-ਫ. ⢥-
 ⮬ - ⢮ ᪨ ணࠬ  㡮 , ⠭-
 ࠢ  㦠騬 ।⢠   .  -
⮬  ୮    ࠧ  㬥⮢   饭
ணࠬ஢  ਫ.    ࠧ  
㯯:
   - ࠡ⪨ ⥪ Turbo Vision  
   -  ⠫쭮.

     ᬮ  ᫥ ।⠢⥫ ࢮ 㯯 (
 5 (!!!) ਠ⮢,  ᪨, ⠪  ᥢ-᪨),
訩 ᯥ   (ᯮ   TEGL).  
 ⥪⮢ ਥ樥 TurboVision  ஡,  ।
᫥⥫ ७⥩ ⥪.    稭,
⮫騥     ⪨ -⠪ ⠢ ࠡ TV 
䨪.   ப ࠭ TV,  稥 ஬ -
⢠ 㬥樨  ਬ஢,  ,  ⠢塞 ମ Borland,
TV  ࠪ᪨ ⠭⮬ 쥪⭮-ਥ஢ ணࠬ-
஢,  ,  ᮧ  䥩 ணࠬ  ⠭-
⮬  Borland.

       饩 ⠫ 稭    ᨨ
Graphics Turbo Vision.  ᭮ ॠ樨 뫨  ࠡ⠭
 ⥪ TVGRAPH (C)Midware.  ⮩  ⥪ 뫨 
砫 ॠ樨  楤. "஬" ᪠,  祭-
 १ 㤮⢮ਫ   85%. 裡  ⨬ ࠧ ।-
⠢  襬 . ० ᥣ,  ᭮ 
୨஢ TV ( ⥫, ⠪  ⥫):

  
   ⥫쭮 . ८। ᮢ  ᭮
   ⮡ࠦ ꥪ⮢ (TFrame, TButtom, TScrollBar, ..... ).


   ணࠬ, ᠭ  ᯮ짮 ⠭ ⥪ Turbo
   Vision,   ᮢ⨬  ஢ 室 , ᫨
     ८। .   ⥬,   ᯮ-
   㥬 ⠭묨 쥪⠬ ப  ८।. -
     ⨬  ࠡ⠥  COLORSEL. ,  饬 
    㤥  ९ᠭ.


   ணࠬ ਥ  ࠡ  AT-286/12,   ᪮쪮
   , 祬  ⥪⮢ ०.  ⮣, ⮡ 㡥 
   ⮬, 筮  TVGDEMO.EXE.

 
     ⥪  ।⢠  প 
   ਫ (     ⮣ ॢ
   䥩 ணࠬ  㣮   室 ४-
   樨 ᥩ ⥬). ஥ প ᪨ HotKey,  -
   室 㧪 ⥫쭮 ࠩ . 祬
    ०  ⪫.  ⠭ ⥪ 
   ""   ᪮, ⠪   ᪮ 몠.  -
   ஥ ᫮  ᠭ  ⫠ ணࠬ 
    ᮧ 筮 ਫ ( ...).


 
      Borland Graphics Interface (BGI).  ⥪
   ॠ ᮡ⢥  ࠧ㬭  ᪨
   ਬ⨢ (, אַ㣮쭨,   ..).  -
    뢮 ᪨ ࠧ  ଠ .PCX  Epson FX-80 PCL
   ( ࠢ ESC - ᫥⥫쭮⥩).  न 
   㪠뢠   ᮫ ࠭, ⠪   㠫 न-
    TView (. ).

  
    ⥪ TVGHELP ॠ 室  㭪権 
   ᮧ ⥬ ࠪ⨢ .  ⥪, 
   ⫨稥  ⠭⭮ ᯮ㥬 HELPFILE   㤮
   䥩,    ⥪⮢ 䠩   -
      ଫ,   ᪨
   ࠧ (. ). (⬥, ,   ᮢ⨬  -
     ஢ 㫨 HELPFILE  娢 HELPFILE.ARJ)


      㫨 :
  - VLDS. ᪮쪮 ஢  ᫮  
  - PRMTXT.  TStaticText   뢮
    ᪨  ࠬ஢.



      樨 ᥣ ᪠    䠩
TVGDEMO.EXE, 室騩  ⠫ DEMO\ .  ணࠬ -
⠢ ମ Borland   TVDEMO  ᬮ樨 -
⥩  ਭ樯 ᯮ짮 Turbo Vision.  । -
  ᫥饬:
   - 㤠 , 易  ८।ﬨ ;
   -  ⥪ POLYVIEW   TPolyWindow 
     樨  ᪨ ⥩;
   -  ⠭⭮ Help-⥬  TVGHelp;
   - ॢ  ᪨   ⥪⮢ ப

 﫠   ⫠ 2  40 .

                          .

***********************************************************************
                 ⥭  ⢨ 訡,
***********************************************************************
          (  ᫥ ६   । ).

                               

***********************************************************************
                   ணࠬ  
***********************************************************************
        ( ⮬ ᬮ 室 -  ।⠢ 楫 -
                   - ᭮)




                              .

  ꥪ TView  㠫 ⮤ GDraw :

  Procedure GDraw; Virtual;

 ⮤ (⮩  TView) 筮 Draw ⮬᪨
뢠 ஬ TVision  室 ᮢ 
᫮ ꥪ.    ᪨ 権  
⮤ 室 믮 ᫥ ᫥⥫쭮 맮:

Procedure TPolyView.GDraw;
Var
  R         : TRect;
  MouseHere : Boolean;
  begin
    If Not GraphAvail(MouseHere) then Exit;
    If MouseHere then HideMouse; { 饬- 易⥫, ... }

  {   맮 ᪨ 楤  VIEWS  DRIVERS }

    If MouseHere then ShowMouse; { .  }
  end;

     ⮨  㦭    뢮 - 맮 GraphAvail
樠  뢮 ⠪ ࠧ,    
ᥫ, 室騥    ꥪ.



                         筮.

     ᠭ ணࠬ   㥬  㣨 몠
䥩ᮬ   DRIVERS  㭪 GetS.  ⢥
ࠬ஢ 室 㪠 䨪 ப (楫  )
 ⮬ 䨪 㭪 頥 ப.  ப
ࢮ砫쭮   ⥪⮢     
ଠ⮬y     몠,  ⥬ 
ணࠬ STRRSC, ᫥ 祣  䠩   ᠭ 
ᯮ塞    COPY /B  ᯮ짮  
⤥쭮 䠩. । 樠樥 ᠭ  ᯮ짮
⮣ ।⢠ ਫ 室 㧨 ப  
 맮 LoadMessageFile, 㪠  ⢥ ࠬ஢ 
䠩-⥩ ப ᮢ (᫨  ਫ  .EXE
䠩,   ᯮ짮 ParamStr(0))  ᨬ-ᥫ
몠.  ᫥ ⢫  室 ᮢ (
   筮 ) ,  砥, ᫨  ࠬ =
'R',  ⠭ প ᪨  .  饬
 ࠧ  룫拉 ਬ୮ ⠪ (  TVGDEMO.PAS):

  If not LoadMessageFile(ParamStr(0),Ch) and
     not LoadMessageFile('TVGDEMO.MSG',Ch) then
    begin
      Writeln('Fatal error: Can''t find string resounce neither');
      Writeln('             in '+ParamStr(0)+' nor in TVGDEMO.MSG');
      Writeln('             Language selector = ',Ch);
      Halt(1);
    end;

     ⢨  맮 LoadMessageFile  㤥 맢
⮬᪨  ࢮ 饭  GetS  ᫥騬 ࠬࠬ:
LoadMessageFile('TVG.MSG','E')  ᥬ ⥪騬 
᫥⢨ﬨ.


                            .

       .  롮   ஥
஢ ᯮ SetLocator,  롮 㭨쭮  -
SetNewLocator.


*********************************************************************
*********************************************************************
*********************************************************************
    TView:

 
    GraphWindowId : Word;
ᯮ  ७ 楫 ᪨ ਬ⨢. ,
 ࠢ,  ᯮ.

Procedure GDraw; virtual; - ⮡ࠦ ᪮ ᫮ ꥪ

Function GraphAvail(Var MouseHere : Boolean) : Boolean; - ன
  । 뢮 . ᫮. 맮 易⥫. 頥 False,
  ᫨ TView  ᮤন  ⥩. 㬥 = true, ᫨
    -    ꥪ.


Procedure GetGraphBounds( Var R:TRect ); 頥 ᮫
  ᪨ न TVIEW

Procedure GetGraphClipRect( Var R:TRect ); 筮 ClipRect,
    ᪨ न.

 ᫥騥 ⮤ ࠡ  㠫 न TVIew. 孨
 㣮 TView  न 0,0,  ࠢ  - 9999,9999.

Procedure grLine(X1,Y1,X2,Y2:integer;Color:Word);
Procedure grRect(X1,Y1,X2,Y2:Integer;Color:Word);
Procedure grPlato(X1,Y1,X2,Y2:Integer;Color:Word);
Procedure grBar(X1,Y1,X2,Y2:Integer;Color:Word);
Procedure grCircle(X,Y,Rad : Integer; Color : Word);
Procedure grEllipse(X,Y,XRad,YRad : Integer; Color : Word);
Procedure grText(s : String; x,y : Integer; Color : Word);


 DRIVERS **************************************************
------------ 䨪
Const
{ Graph mode constants }
  smEGA         = $0010;
  smVGA         = $0012;
  smGraphAutoDetect = $00FF;   (* Autodetect *)
  wrmOVERWRITE  = 0;
  wrmAND        = 1;
  wrmOR         = 2;
  wrmXOR        = 3;


  DefaultVideoMode : Word    = smGraphAutoDetect; - 
                                          । SetVideoMode.

  SoundOn          : Boolean = True;  -   ᯮ

Var
  CharWidth    : Byte;   (* Width in text mode                      *)
  CharHeight   : Byte;   (* Height in text mode                     *)
  GraphWidth   : Word;   (* Width in graphics                       *)
  GraphHeight  : Word;   (* Height in graphics                      *)
  AspectRatio  : Real;
  GraphWriteAvail : Array[0..4095] of Word;
     { one word for each text position on the screen                      }


    ᮫ ࠭ न :
Procedure _grPutPixel(X,Y:integer; Color:Word);
Procedure _grLine(X1,Y1,X2,Y2:integer;Color:Word);
Procedure _grRect(X,Y,X1,Y1:Integer;Color:Word);
Procedure _grPlato(X,Y,X1,Y1:Integer;Color:Word);
Procedure _grBar(X,Y,X1,Y1:Integer;Color:Word);
Procedure _grCircle(X,Y,Rad : Integer; Color : Word);
Procedure _grEllipse(X,Y,XRad,YRad : Integer; Color : Word);
Procedure _grText(s : String; x,y : Integer; Color : Word);
Procedure _grEPSONImage( X,Y          : Integer;
                         Image        : Pointer;
                         Length,Color : Word);

Procedure _grPCXImage(x,y : integer; Image : pointer);



------------ 
Var
  GMouseWhere  : TPoint;  (* Graphics location of Mouse *)
  HotSpotX     : ShortInt;
  HotSpotY     : ShortInt;

Type
  PLocator = ^TLocator;
  TLocator = Record
               HSx,HSy  : Word;
               XOrMask  : Array[0..15] of Word;
               ORMask   : Array[0..15] of Word;
             end;

Procedure SetLocator(LocatorNo : Byte);
Procedure SetNewLocator(Var Locator : TLocator);



---------------- 筮  ᪨ "稥" 
Type
  TLanguage     = (English,Russian);

  Language : TLanguage = English;

{ Russian characters and keyboard support }

Function  Upcase( Ch : Char) : Char;         { The same as System.UpCase }
Function  RusQwerty ( Ch : Char) : Char; Far; { Convert russian keyboard }
                                      { codes for QWERTY keyboard layout }


Type
  TCharFunction = Function  ( Ch : Char) : Char;

Const
  CvtKeyProc : TCharFunction = RusQwerty;

{ International language support }
Function GetS(StringId : Word) : String;
Function LoadMessageFile(FileName : String; Selector : Char) : Boolean;


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

Procedure TextToGraphics( T : TRect; Var G : TRect);
Procedure SetGraphFont( FontPtr : Pointer; Height : Byte );

ਣ᪨ 㭪樨.
  㬥                = ࠤ * 16
  頥 省  = ॠ쭮 祭 㭪樨 * 1024;
Function ISin( X : integer) : integer;
function ICos( X : integer) : integer;
