data structures of graphics in classifiers of GIS Panorama ver. 7.2.(rsc_gdi.rfi):
Class: GIS files, Status: Almost Complete, Last change: 14.11.2005 12:20:00

/****** MAPGDI.H *************** Kruzhkov A.E.   ****** 18/05/04 ***
******* MAPGDI.H *************** Belenkov O.V.   ****** 14/05/04 ***
******* MAPGDI.H *************** Panteleeva N.A. ****** 02/09/03 ***
******* MAPGDI.H *************** Dishlenko S.G.  ****** 23/04/01 ***
*                                                                  *
*              Copyright (c) PANORAMA Group 1991-2004              *
*                      All Rights Reserved                         *
*                                                                  *
********************************************************************
*                                                                  *
*      +LTL=L+ LL+T+T LL=L TLLLTLLLL +LT+T-=--       *
*             +LLL++TL- ++'+T+T T+T+==+ LT-               *
*                                                                  *
*******************************************************************/

//Conversion into FlexT by AX

type

TImgFnInfo forward

TImgFn enum u1 (
  IMG_EMPTY=127,  //   -  

  IMG_LINE=128,
  IMG_DOT=129,

  IMG_SQUARE=135,

  IMG_CIRCLE=140,

  IMG_TEXT=142,

  IMG_MULTIMARK=143,
  IMG_MULTISQUAREMARK=144,

  IMG_DRAW=147,

  IMG_DOTSHIFT=148,

  IMG_VECTOREX=149,

  IMG_TEMPLATE=150,

  IMG_TRUETYPE=151,

  IMG_TRUETEXT=152,

  IMG_HATCHSQUARE=153,

  IMG_SQUAREGLASS=154,

  IMG_SQUAREVECTOR=155,
  IMG_VECTOREXTURN=156,

  IMG_DECORATE=157,
  IMG_DASH=158,
  IMG_LINESHIFT=159,
  IMG_VECTORTEXT=160,
  IMG_VECTORNODE=161,       // Tv   (IMGVECTOREX)
  IMG_THICKENLINE=162,       // L𠸠 
  IMG_MIDDLETHICKENLINE=163,       // L𠸠     

  IMG_VECTORGRADIENT=199,       // T 

  IMG_PERCENT=249,       // T  IMG_LONG
  IMG_LIBRARY=250,

  IMG_SEMANTIC=251,       // T  IMG_LONG
  IMG_COLOR=252,       // T  IMG_LONG
  IMG_DOUBLE=253,
  IMG_LONG=254,

  IMG_OBJECT=255,

// LTTL+T+L+ TTLTL- LL+T+T TLLLTLLLL (v  IMGDRAW...)
  IMG_LINEDOT=130,
  IMG_DOUBLELINE=131,
  IMG_DOTDLINE=132,
  IMG_DOUBLEDOT=133,
  IMG_SHIFTLINEDOT=134,
  IMG_SQUARECROSS=136,
  IMG_MARK=137,
  IMG_SQUAREMARK=138,
  IMG_LEFTLINEDOT=145,
  IMG_DECORATELINE=146

)

/*

// v  ( IMG_SQUAREMARK, IMG_MULTISQUAREMARK,
//                      IMG_SQUARECROSS, IMG_FONT)
#define IMGC_TRANSPARENT  0x0FFFFFFFFL
#define IMGC_NOMARK       0x0FFFFFFFFL  // = v ( IMG_OBJECT)

// L     (|IMGC_INDEX, RGB)
#define IMGC_INDEX        0x0F0000000L  // L   v v
#define IMGC_SYSTEM       0x0F1000000L  // L    v (LINUX)  // 16/10/03
#define IMGC_CLEARINDEX   0x0FF000000L  // -    (& IMGC_CLEARINDEX)
#define IMGC_CLEARCOLOR   0x000FFFFFFL  // L        (& IMGC_CLEARCOLOR)

// L  
#define SETCOLORINDEX(color)   (((long int)(color))|IMGC_INDEX)
#define SETCOLORSYSTEM(color)  (((long int)(color))|IMGC_SYSTEM)

// +   (: 0 - RGB, 1 -   v)
#define TESTCOLORINDEX(color)  ((((long int)(color))&IMGC_CLEARINDEX)==IMGC_INDEX)

// +   (: 0 - RGB, 1 -    v)
#define TESTCOLORSYSTEM(color) ((((long int)(color))&IMGC_CLEARINDEX)==IMGC_SYSTEM)  // 16/10/03

// T   4x4 (16 ) ( IMG_SQUAREMARK, IMG_MULTISQUAREMARK)
//  1 - v v 
//  0 - v
// +v v :
//  0000(0)  1111(F)  1010(A)  0101(5)
//  0000(0)  1111(F)  0101(5)  1010(A)
//  0000(0)  1111(F)  1010(A)  0101(5)
//  0000(0)  1111(F)  0101(5)  1010(A)
#define IMGK_REGULAR0     0x00000000L  //  ( )
#define IMGK_REGULAR      0x0000FFFFL  //  ( )
#define IMGK_ONECHESS     0x0000A5A5L  // +
#define IMGK_TWOCHESS     0x00005A5AL  // + 

// T  ( IMG_OBJECT)
#define IMGL_LINE      0  // Tv
#define IMGL_SQUARE    1  // 
#define IMGL_POINT     2  // Tv
#define IMGL_TITLE     3  // 
#define IMGL_VECTOR    4  // Tv
#define IMGL_MIXED     5  // T  ()

// T p ( IMG_SQUARECROSS)
#define SC_HORIZONTAL  1  // +pv 
#define SC_VERTICAL    2  // Tpav 
#define SC_QUADRATIC   3  // a
#define SC_CROSS45     4  //   45 
#define SC_CROSS135    5  //   135 
*/

TVType enum u1 (
// Tv v  ( SCR_VECTOR)
  VT_THICK2=2, // T v 2
  VT_THICK3=3, // T v 3
  VT_THICK4=4, // T v 4
  VT_THICK5=5, // T v 5
  VT_CIRCLE2=8, // + v 2
  VT_CIRCLE3=9, // + v 3
  VT_CIRCLE4=10, // + v 4
  VT_CIRCLE5=11, // + v 5

// Tv v  (IMG_VECTOREX)
  VT_SQUARE=0, // 
  VT_LINE=1, // T
  VT_ROUND=6, //  ()
  VT_CIRCLE=7, // +
  VT_FREE=12, //   

// Tv v  (IMG_VECTOREX)
  VT_ELLIPSE=64, // 
  VT_OVAL=65, //  ()
  VT_ARC=66, //   
  VT_PIE=67, // T ()
  VT_TEXT=68, //    (v)
  VT_STEXT=69, //    ( )
  VT_ARC_REVERT=70, //   

// Tv v    v 
  VT_OBJECT=101, // = 
  VT_SUBJECT=102, // = 
  VT_END=103 //  
)

/*
// +    v  
#define MKMINPIX     250  //  1000 * 25.4 / 96 = 264.583333
#define PIX2MKM(pixel)  (((long int)(pixel))  * MKMINPIX)
#define MKM2PIX(metric) (((long int)(metric)) / MKMINPIX)

//------------------------------------------------------------------
// - IMG_FONT
//------------------------------------------------------------------

// v  (  )
#define UNIC_TRANSPARENT  255

// +  
#define UNIW_NORMAL       0  // =v
#define UNIW_NARROW       1  // Tv
#define UNIW_WIDE         2  // +

// Tv  
#define UNIA_BASELINE     0  //   
#define UNIA_TOP          1  //  
#define UNIA_BOTTOM       2  //  

// Tv  
#define UNIA_LEFT         0  //   
#define UNIA_CENTER       1  //  
#define UNIA_RIGHT        2  //   

//   v   
#define CharMin  5  //  v < CharMin,  𦪸
                    // 5 - 25/10/99

// +   (mapgds.h)
//  UNIW_NORMAL     - =v
//  UNIW_NARROW     - Tv
//  UNIW_WIDE       - +

// T ,   (Windows-v)
//  FW_THIN         - T
//  FW_ULTRALIGTH   - +
//  FW_NORMAL       - T
//  FW_MEDIUM       - Lv
//  FW_BOLD         - Tv
#define FW_DONTCARE         0
#define FW_THIN             100
#define FW_EXTRALIGHT       200
#define FW_LIGHT            300
#define FW_NORMAL           400
#define FW_MEDIUM           500
#define FW_SEMIBOLD         600
#define FW_BOLD             700
#define FW_EXTRABOLD        800
#define FW_HEAVY            900

#define FW_ULTRALIGHT       FW_EXTRALIGHT
#define FW_REGULAR          FW_NORMAL
#define FW_DEMIBOLD         FW_SEMIBOLD
#define FW_ULTRABOLD        FW_EXTRABOLD
#define FW_BLACK            FW_HEAVY


// Tv   (Windows-v)
#define FA_LEFT      0     // T = TA_LEFT       // 14/09/00
#define FA_RIGHT     2     // T = TA_RIGHT     // 14/09/00
#define FA_CENTER    6     //   = TA_CENTER // 14/09/00

// Tv   (Windows-v)
#define FA_TOP       0     // T = TA_TOP       // 14/09/00
#define FA_BOTTOM    8     // T = TA_BOTTOM     // 14/09/00
#define FA_BASELINE  24    //    = TA_BASELINE  // 14/09/00
#define FA_MIDDLE    4120  //    = (TA_BASELINE|0x01000) // 14/09/00

//  v v
#define FA_MASK     (FA_CENTER | FA_MIDDLE)         // 23/04/03

//   (Windows-v)
//  RUSSIAN_CHARSET -   (ANSI/WINDOWS)
//  OEM_CHARSET     -   (OEM/866/DOS)
//------------------------------------------------------------------

*/

//******************************************************************
//               TTLTL- LL+T+T TLLLTLLLL                 *
//******************************************************************
//      TT+ L+- (T+T-L=L, -TL=L, LTTT+-=L+ ...) T L+=L-    *
//                 (T T-T-+=-- -+T-- LTTL+TL)                   *
//******************************************************************
// :                                                     *
//  1.    COLORREF (0x00BBGGRR)         *
//     v v   ,     0x0F *
//  2. -      ()            *
//       PIX2MKM( ):              *
//     Parm->Thick = PIX2MKM(2);  ( 2 )              *
//******************************************************************



type

TColor ulong

TIMGLINE struc           // (128) TL=L-
                                //      (size = 8)
  TColor Color;           //   (COLORREF)
  ulong Thick;           // T 
ends


TIMGTHICKENLINE struc    // (162,163) LT+T-L-L-T- TL=L-
                                //      (size = 12)
  TColor Color;           //   (COLORREF)
  ulong Thick;           // T 
  ulong Thick2;          // T  ()
ends


TIMGDOT struc            // (129) L=TL=L- TL=L-
                                //      (size = 16)
  TColor Color;           //  
  ulong Thick;           // Ta p
  ulong Dash ;           // - p
  ulong Blank;           // - p
ends


TIMGSQUARE struc         // (135) T+-L-=+ ++'+T
                                //      (size = 4)
  TColor Color;           //  
ends




TIMGCIRCLE struc         // (140) +L=+TT-
                                //      (size = 12)
  TColor Color ;          //  
  ulong Thick ;          // T 
  ulong Radius;          //  
ends



TIMGTEXT struc           // (142) +LLT                   // 30/01/01
                                //      (size = 32)
  TColor Color       ;   //  
  ulong  BkgndColor  ;   //   (IMGC_TRANSPARENT - v)
  ulong  ShadowColor ;   //   (IMGC_TRANSPARENT - v)
  long  Height      ;   // Tv ( 𸪠  
                                 //   1800 )
  long  Weight      ;   // T ,   (FW_THIN, ...)
  word Align       ;   // Tv (FA_LEFT|FA_BASELINE, ...)
  word Service     ;   //  0
  byte  Wide        ;   // +   (UNIW_NORMAL, ...)
  byte  Horizontal  ;   //    (0/1)
  byte  Italic      ;   //    (0/1)
  byte  Underline   ;   //      (0/1)
  byte  StrikeOut   ;   //     (0/1)
  u1  Type        ;   // T  (  : 0,1,2,3,4)
  byte  CharSet     ;   //   (RUSSIAN_CHARSET, ...)
  byte  Flag        ;   // L   :
                                 // 1 -  𸪠  
ends

const
  IMGTEXT_SCALE=1;

set byteorder rev
type bit

TImgBit num+(1):displ=(CHR(' ' when (@=0) exc '*'))
TBitLine array[32]of TImgBit:displ=(ShowArray(@,(@)))

set byteorder norm

type

TBitMtr array[32]of TBitLine:displ=(ShowArray(@,(NL,'|',@,'|')))

type

TIMGFONT TIMGTEXT


TIMGMARKCHAIN struc      // T++++=- LTT+T- ++'+T +++L
                                //      (size = 4 + 128 = 132)
  TColor Color    ;       //  
  TBitMtr Bits;       // 𸪨  32x32   
ends



TIMGMULTIMARK struc      // (143) =+++T+T=- T++++=-
                                //      (size = 20 + 132*Count)
  ulong Length;          //     
  ulong Count ;          // +   
  ulong Size  ;          //    ( )
  ulong PosV  ;          // T   PosV,PosH  <  Size
  ulong PosH  ;          //  ( IMGMULTISQUAREMARK -   >= Size)
  array[@.Count]of TIMGMARKCHAIN Mrk // : Count   IMGMARKCHAIN
ends



TIMGMULTISQUAREMARK struc// (144) T+-L-=+ + =+++T+T=- T++++=-
                                //      (size = 4 + 20+132*Count )
  word Kind    ;       // T   4x4 (16 )
                                 //  (IMGK_REGULAR, ...)
  byte  FullMark;       // L 
                                 //  0 -   
                                 //  1 -  v 
  byte  Weight  ;       // T ,     // 27/04/00
                                 //  0 - 
                                 //  1 - v
  TIMGMULTIMARK   Mark    ;       // (143) =+++T+T=- T++++=-
                                 // : Count   IMGMARKCHAIN
ends



TIMGDECOR struc          // L++T+T+ +LTTL LL+T+T

  word Length;         // -  >= 4
                                 // ( sizeof(IMGDECOR))
  //word Number;         // = 
  TImgFnInfo F
  raw[] Rest
ends:[@:Size=@.Length]


const
// L      // 28/07/00
   IMGD_SPLINE=0x0001; // L    

type

TIMGDRAW struc           // (147) =L++ LLTLT+T

  ulong Ident   ;        // L  0x7FFF7FFFE
  ulong Length  ;        //     
  word Count  ;        //  
  word Flags  ;        // - v 0
  array[@.Count]of TIMGDECOR Image
ends:assert[@.Ident=0x7FFF7FFE]

TIMGDOTSHIFT struc       // (148) L=TL T+-+==-
                                //
  TIMGDOT    Dot   ;              // 
  long      Shift ;              // =   
                                 // 0 -      
                                 // > 0    , 
                                 //   = -    
                                 //    
ends


TIMGVECTPOINT struc      // - (149)   
                                //      (size = 8)
  long Hor;                      // v   
  long Ver;                      //     
                                 //   :
                                 //    v  T   
                                 // Circle, Round  (h,v)  (dh,dh)
                                 // Ellipse, Oval  (h,v)  (dh,dv)
                                 // Arc,      Pie  (h,v)  (dh,dv) (h1,v1)(h2,v2)
ends


TIMGSHIFTLINEDOT forward
TIMGLEFTLINEDOT forward


TIMGPOLYDESC struc       // - (149)  
                                //      (size = 12 + 8*Count + Length)
  TVType Type    ;       // T  (VT_SQUARE, ...)
                                 //  v  VT_OBJECT,
                                 // VT_SUBJECT, VT_END)
  TImgFn  Image   ;       // T 
                                 // (IMG_SQUARE, IMG_LINE, IMG_DOT,
                                 // IMG_SHIFTLINEDOT, IMG_LEFTLINEDOT;
  word Length  ;       // -  (>= 4)
  struc
    case @@.Image of
     IMG_SQUARE: TIMGSQUARE
     IMG_LINE: TIMGLINE
     IMG_DOT: TIMGDOT
     IMG_SHIFTLINEDOT: TIMGSHIFTLINEDOT
     IMG_LEFTLINEDOT: TIMGLEFTLINEDOT
    endc Inf
    raw[] rest
  ends:[@:Size=@@.Length]  Parm    ;       // v    
  ulong  Count   ;       // +   
  array[@.Count]of TIMGVECTPOINT Point;       // v  512 
ends


TIMGVECTOREX struc       // (149,156) LL+T- T+T+=+++ ++'+TL
                                //      (size = 20 + ...)
  long Length      ;             //     
  long PosV        ;             // T    
  long PosH        ;             //    (  )
  long Base        ;             // -    
  long VLine1      ;             // =     (0)
  long VLine2      ;             //       (VSize)
  long VSize       ;             // Tv    
  long HLine1      ;             // =    (0)
  long HLine2      ;             //      (HSize)
  long HSize       ;             // Tv    
  u1 Static      ;             // 1 -  
                                 // 0 -  
  u1 Mirror      ;             // L   
                                 //     
  u1 NoPress     ;             //    
  u1 Scale       ;             //  𸪠  
  u1 Centre      ;             //    
  array[3]of byte Reserve  ;             // 
  long Border      ;             // +v       0
  long Count       ;             // + ,v 
  array[@.Count]of TIMGPOLYDESC  Desc;             // + 
ends
                   //    IMG_VECTOREXTURN (156)

TTemplateCell enum long (
  tcEmpty = 0,
  tcLine = -1,
  tcSign = -2
)

TTABLETEMPLATE struc     //  𸪹  

  long Length  ;                 //  v
  array[12]of TTemplateCell Order;                 //   
                                 // 0- 
                                 // -1   -2 
                                 // >0      ()
  long Origin  ;                 // =  
  long Static  ;                 // 1 -  
                                 // 0 -  
ends


TIMGTEMPLATE struc       // (150) LL+T- T+T+=+++ +L+T+=L
                                //      (size = 20 + ...)
  long Length               ;    //     
  TTABLETEMPLATE Table       ;    //  𸪹  
  long          Count       ;    //  
  TIMGDECOR      Text        ;    //  
//  array[1]of ulong Parmtext ;    // v 
  TIMGDECOR      Line        ;    //  
//  array[1]of ulong Parmline ;    // v 
  TIMGDECOR      Mark        ;    //  
//  array[1]of ulong Parmmark ;    // v 
ends


TIMGTRUETYPE struc       // (151) LL+T- =LL  TRUETYPE +LLTL

  TIMGTEXT Text     ;             // v 
  array[32]of char FontName;             // L  
  long Number      ;             // =   
  long MinV        ;             // +v 
  long MinH        ;             //    
  long MaxV        ;             // (0,0)
  long MaxH        ;             // (H,H/2) - v 
  long PosV        ;             // T    
  long PosH        ;             //   (0,0)
ends


TIMGTRUETEXT struc       // (152) +LLT
                                //      (size = 64)
  TIMGTEXT Text     ;             // v  ( Type - )
  array[32]of char FontName;             // L  
ends



TIMGHATCHSQUARE struc    // (153) +TL-+TL==- T+-L-=+

  long Length;               //     ,
                                 //  v  
  long Angle ;               // L     (0 - 180)
                                 //     
  long Step  ;               // 𸸪   v 
  long Number;               // =    (IMGLINE  IMGDOT)
                                 // : v   
ends


TIMGSQUAREGLASS struc    // (154) T+-L-=+ ++'+T - TT+T+
                                //      (size = 8)
  long Bright;            //    (+/- 100)
  long Contrast;          //    (+/- 100)
ends


TIMGSQUAREVECTOR struc   // (155) T+-L-=+ + T+T+=-
                                //
  long           Length  ;       // - v
  word Kind    ;       // T   4x4 (16 )
                                 //  (IMGK_REGULAR, ...)
  byte  FullMark;       // L 
                                 //  0 -   
                                 //  1 -  v 
  byte  Reserv  ;       // - v 0
  long           StepHor ;       // 𸸪    
  long           StepVer ;       // 𸸪    
  long           Angle   ;       // L      
  TIMGVECTOREX    Mark    ;       // + 
ends

/*
DO_BASE=1,           // v  (  )
                                 // v  
DO_FIRST=2,           //   
DO_END=3,           //   
DO_LEFT=4,           //    
DO_RIGHT=5,           //    
DO_MIDDLE1=6,           //   (1 - )
DO_MIDDLE2=7,           //   (2 - )
*/

TIMGDECORHEAD struc      // L++T+T+ +L+T+==+++ TL=+=+++

  ulong Length      ;    //     
           long Begin       ;    // -  
           long End         ;    // -  
           long Left        ;    // -  
           long Right       ;    // -  
           long First       ;    // -   
           long Second      ;    // -   
           char Equidistant ;    //     
           array[3]of char Reserv   ;    //  -  0
ends


TIMGDECORATE struc        // (157) +L+T+==- TL=+=-

  TIMGDECORHEAD   Head         ;   // 
  TIMGDECOR       Base         ;   //   
//  array[1]of ulong BaseParm  ;   // v   
  TIMGDECOR       Begin        ;   //    
//  array[1]of ulong BeginParm ;   // v  
  TIMGDECOR       End          ;   //    
//  array[1]of ulong EndParm   ;   // v  
  TIMGDECOR       Left         ;   //    
//  array[1]of ulong LeftParm  ;   // v  
  TIMGDECOR       Rigth        ;   //    
//  array[1]of ulong RigthParm ;   // v  
  TIMGDECOR       First        ;   //     
//  array[1]of ulong FirstParm ;   // v  
  TIMGDECOR       Second       ;   //     
//  array[1]of ulong SecondParm;   // v  
ends


TIMGSECTION struc     // +    (158)

  ulong Length;       // -  ( IMGSECTION)
  ulong Number;       // = (IMG_EMPTY, IMG_LINE, IMG_VECTOREX,
                              //               IMG_TRUETYPE)
  ulong Base;         // - ,  
  array[1]of ulong Parm;      // v
ends


TIMGDASH struc           // (158) =L++=L- +TL-+TL- TL=L-

  long    Length;            //     ,
  long    Count;             // + v  (, , )
  long    Last;              // v   ( 0  Count-1),
                                 //   
  long    Border;            //   
  long    Reserve;           // 
  array[1]of TIMGSECTION Section;        // +  
ends


TIMGLINESHIFT struc      // (159) C+-+==L- TL=L-

  long    Length;            //     ,
  long    Shift;             // =   
                                 // = 0 -     
                                 // > 0 -    ,  
  TIMGDECOR    Head;              //  
 // array[1]of long Parm;           // v    
ends


TIMGVECTORTEXT struc     // (160) LL+T- +++L T+T+=+++ (VT_TEXT)
                                // (size = 68)
  TIMGTEXT  Text     ;            // v 
  long Code     ;            //   ,  v 
                                 //   0   
  array[32]of char Title;            // v 
ends



TIMGLIBRARY struc        // (250) LL+T- ++'+TL(LTL+T +T-+TLT+T-)

  long Length  ;             //     
  long Code    ;             //  DLL (IML)
  long Index   ;             // L DLL   
  long Function;             //  
  TIMGDRAW  Draw    ;             // v
ends


TIMGDOUBLE struc         // (253) TT+++-=-+ LL+T- TLL DOUBLE
  TDouble Value;
ends


TIMGLONG struc           // (254) TT+++-=-+ LL+T- TLL LONG

  long Value;
ends


TIMGOBJECT struc         // (255) +T++LLT-/T--+TLT- ++'+T
                                //  T LTT+T=-- =LL- TLTTLLLLT+L
                                 //      (size = 16)
  TColor Color ;          //  v   
                                 //  (IMGC_NOMARK -  v)
  ulong Incode;          // T  
                                 //  (0 -   Excode  Local)
  ulong Excode;          // T  
  ulong Local ;          // T  (IMGL_LINE, ...)

  // -   PaintMapObject(...) Incode 
  // . + v   ,  
  //  v  v .
ends




TIMGVECTORGRADIENT struc    // TT+++LT+T-=L- TTLTLL

  TColor Color;        //    (COLORREF)
  ulong Left;         //    
  ulong Right;        //    
  ulong Bright;       //    
ends



//**********************************************************************
// LTTL+T+L+ TTLTL- LL+T+T TLLLTLLLL (v  IMGDRAW...)
//**********************************************************************

type

TIMGLINEDOT struc        // (130) L=TL + TL=LL
                                //      (size = 24)
  TIMGLINE Line;                  // = 
  TIMGDOT  Dot ;                  // T 
ends



TIMGDOUBLELINE struc     // (131) TL=L- + TL=LL
                                //      (size = 16)
  TIMGLINE OneLine;               // = 
  TIMGLINE TwoLine;               // T 
ends



TIMGDOTDLINE struc       // (132) -T+=L- TL=L- + L=TLL
                                //      (size = 32)
  TIMGDOT        Dot   ;          // = 
  TIMGDOUBLELINE Double;          // T 
ends



TIMGDOUBLEDOT struc      // (133) -T+=+ L=TL
                                //      (size = 32)
  TIMGDOT OneDot;                 // = 
  TIMGDOT TwoDot;                 // T 
ends



TIMGSHIFTLINEDOT struc   // (134) L=TL, T+-+==- TLT+, + TL=LL
                                //      (size = 24)
  TIMGLINE Line;                  // = 
  TIMGDOT  Dot ;                  // T -
ends



TIMGSQUARECROSS struc    // (136) +TL-+TL==L- T+-L--
                                //      (size = 16)
  TColor Color;           //  p (IMGC_TRANSPARENT - v)
  ulong Kind ;           // T p (SC_HORIZONTAL, ...)
  ulong Thick;           // Ta pa
  ulong Blank;           // Ta pa
ends


TIMGMARK struc           // (137) T++++=- LTT+T- ++'+T
                                //      (size = 16 + 128 = 144)
  TColor Color    ;       //  
  ulong Size     ;       //    ( )
  ulong PosV     ;       // T   PosV,PosH < Size
  ulong PosH     ;       //  ( IMGSQUAREMARK -   >= Size
  array[128]of byte Bits;       // 𸪨  32x32   
ends


TIMGSQUAREMARK struc     // (138) T+-L-=+ + T++++=-
                                //      (size = 8 + 144 = 152)
  TColor Color   ;       //   (IMGC_TRANSPARENT - v)
  word Kind    ;       // T   4x4 (16 )
                                 //  (IMGK_REGULAR, ...)
  byte  FullMark;       // L 
                                 //  0 -   
                                 //  1 -  v 
  byte  Weight  ;       // T ,     // 27/04/00
                                 //  0 - 
                                 //  1 - v
  TIMGMARK        Mark    ;       // + 
ends




TIMGLEFTLINEDOT struc    // (145) L=TL, T+-+==- TT+T+, + TL=LL
                                //      (size = 24)
  TIMGLINE Line;                  //  
  TIMGDOT  Dot ;                  //  -
ends



TIMGDECHEAD struc        // L++T+T+ +L+T+==+++ TL=+=+++

  ulong Length   ;       //     
  long Distance ;       // 𸸪   .
ends

                                 //     
                                 //
TIMGDECORATELINE struc   // (146) +L+T+==- TL=+=-

  TIMGDECHEAD     Head        ;   // 
  TIMGDECOR       Base        ;   //   
//  array[1]of ulong BaseParm ;   // v   
  TIMGDECOR       First       ;   //  
//  array[1]of ulong FirstParm;   // v  
  TIMGDECOR       End         ;   //  
//  array[1]of ulong EndParm  ;   // v  
  TIMGDECOR       Left        ;   //  
//  array[1]of ulong LeftParm ;   // v  
  TIMGDECOR       Rigth       ;   //  
//  array[1]of ulong RigthParm;   // v  
  TIMGDECOR       Middle1     ;   //   
//  array[1]of ulong Mid1Parm ;   // v  
  TIMGDECOR       Middle2     ;   //   
//  array[1]of ulong Mid2Parm ;   // v  
  TIMGDECOR       X   // T  - AX
ends


TImgFnInfo struc
  TImgFn hFn
  u1 b3
  case @.hFn of
   IMG_EMPTY: void
   IMG_LINE: TIMGLINE
   IMG_DOT: TIMGDOT
   IMG_SQUARE: TIMGSQUARE
   IMG_CIRCLE: TIMGCIRCLE
   IMG_TEXT: TIMGTEXT
   IMG_MULTIMARK: TIMGMULTIMARK
   IMG_MULTISQUAREMARK: TIMGMULTISQUAREMARK
   IMG_DRAW: TIMGDRAW
   IMG_DOTSHIFT: TIMGDOTSHIFT
   IMG_VECTOREX,IMG_VECTOREXTURN: TIMGVECTOREX
   IMG_TEMPLATE: TIMGTEMPLATE
   IMG_TRUETYPE: TIMGTRUETYPE
   IMG_TRUETEXT: TIMGTRUETEXT
   IMG_HATCHSQUARE: TIMGHATCHSQUARE
   IMG_SQUAREGLASS: TIMGSQUAREGLASS
   IMG_SQUAREVECTOR: TIMGSQUAREVECTOR
   IMG_DECORATE: TIMGDECORATE
   IMG_DASH: TIMGDASH
   IMG_LINESHIFT: TIMGLINESHIFT
   IMG_VECTORTEXT: TIMGVECTORTEXT
   IMG_VECTORNODE: TIMGVECTOREX
   IMG_THICKENLINE: TIMGTHICKENLINE
   IMG_MIDDLETHICKENLINE: TIMGTHICKENLINE
   IMG_VECTORGRADIENT: TIMGVECTORGRADIENT
   IMG_PERCENT: TIMGLONG
   IMG_LIBRARY: TIMGLIBRARY
   IMG_SEMANTIC: TIMGLONG
   IMG_DOUBLE: TIMGDOUBLE
   IMG_LONG: TIMGLONG
   IMG_OBJECT: TIMGOBJECT

// LTTL+T+L+ TTLTL- LL+T+T TLLLTLLLL (v  IMGDRAW...)
   IMG_LINEDOT: TIMGLINEDOT
   IMG_DOUBLELINE: TIMGDOUBLELINE
   IMG_DOTDLINE: TIMGDOTDLINE
   IMG_DOUBLEDOT: TIMGDOUBLEDOT
   IMG_SHIFTLINEDOT: TIMGSHIFTLINEDOT
   IMG_SQUARECROSS: TIMGSQUARECROSS
   IMG_MARK: TIMGMARK
   IMG_SQUAREMARK: TIMGSQUAREMARK
   IMG_LEFTLINEDOT: TIMGLEFTLINEDOT
   IMG_DECORATELINE: TIMGDECORATELINE
  endc D
ends


Other specifications.


FlexT home page, Author`s home page.