data structures of graphics in classifiers of GIS Panorama ver. 7.2.(rsc_gdi.rfi):
Class: GIS files, Status: Almost Complete, Last change: 16.02.2017 16:34:02

/****** 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+ ¦L¦L¦+T¦+T LL=¦ãLã TL¦LLTL¦LãLL ¦¦+L¦T+T-=--       *
*             +¦LLL++T¦L- ++'+¦T+T ¦T+¦T¦+==+ã ¦L¦T-               *
*                                                                  *
*******************************************************************/

//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,       // Tõúªþ¨ývõ ò º÷ûð¿ (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+ TT¦L¦TL¦- ¦L¦L¦+T¦+T TL¦LLTL¦LãLL (÷ðüõýõý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  // Tøýõùývù
#define IMGL_SQUARE    1  // ¦ûþ•ðôýþù
#define IMGL_POINT     2  // Tþ¢õ¢ývù
#define IMGL_TITLE     3  // ¦þôÿø¸¹
#define IMGL_VECTOR    4  // Tõúªþ¨ývù
#define IMGL_MIXED     5  // Tûþöýð  ÿþôÿø¸¹ (°ðñûþý)

// Tøÿ °ªpø¿þòúø (ôû  IMG_SQUARECROSS)
#define SC_HORIZONTAL  1  // +þpø÷þýªðû¹ývüø ûøýø üø
#define SC_VERTICAL    2  // Tõpªøúaû¹ývüø ûøýø üø
#define SC_QUADRATIC   3  // ¦ºñøúaüø
#define SC_CROSS45     4  // ¦þô ºóûþü 45 ó¨ðôº¸þò
#define SC_CROSS135    5  // ¦þô ºóûþü 135 ó¨ðôº¸þò
*/

TVType enum u1 (
// Tøÿv òõúªþ¨ý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

// Tøÿv òõúªþ¨ýv¿ ¡õÿþ¢õú (IMG_VECTOREX)
  VT_SQUARE=0, // ¦ûþ•ðô¹
  VT_LINE=1, // Tøýø 
  VT_ROUND=6, // ¦¨ºó (ÿûþ•ðô¹)
  VT_CIRCLE=7, // +ú¨ºöýþ¸ª¹
  VT_FREE=12, // ãõÿþ¢úð ýõ þÿ¨õôõûõýð

// Tøÿv òõúªþ¨ý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, // ãõÿþ¢úð ªøÿð ôºóð

// Tøÿv ¸ûºöõñý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  // Tºöõývù
#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     - Tºöõývù
//  UNIW_WIDE       - +ø¨þúøù

// Tõ¸ °¨ø¯ªð, ªþû•øýð úþýªº¨ð (Windows-úþý¸ªðýªv)
//  FW_THIN         - Tþýúøù
//  FW_ULTRALIGTH   - +õªúøù
//  FW_NORMAL       - T¨õôýøù
//  FW_MEDIUM       - Lªþû•õýývù
//  FW_BOLD         - Tþû¸ªvù
#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)
//------------------------------------------------------------------

*/

//******************************************************************
//               TT¦L¦TL¦- ¦L¦L¦+T¦+T TL¦LLTL¦LãLL                 *
//******************************************************************
//      TT+ ¦L¦¦+¦- (T+T-L=L, -TL=L, ¦LTTT+-=L+ ...) T ¦L¦¦+=L-    *
//                 (T T-T-+=-- -+T-- ¦LTTL¦+T¦L)                   *
//******************************************************************
// ¦¨øüõ¢ðýø :                                                     *
//  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;           // Tþû•øýa °ª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 ¦L¦L¦+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++¦ ¦¦L¦LTLT+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
TIMGVECTORTEXT 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
     IMG_VECTORTEXT: TIMGVECTORTEXT
    endc Inf
    raw[] rest
  ends:[@:Size=@@.Length]  Parm    ;       // ¦ð¨ðüõª¨v ¡õÿþ¢úø ÿþ õõ ªøÿº
  ulong  Count   ;       // +ø¸ûþ ªþ¢õú ò ¡õÿþ¢úõ
  array[@.Count]of TIMGVECTPOINT Point;       // ¦þþ¨ôøýðªv ôþ 512 ªþ¢õú
ends


TIMGVECTOREX struc       // (149,156) ¦L¦L¦+T¦- T+¦T+¦=+++ ++'+¦TL
                                //      (size = 20 + ...)
  long Length      ;             // ¦þûýð  ôûøýð ÷ðÿø¸ø þÿø¸ðýø  þñ·õúªð
  long PosV        ;             // Tþ¢úð ÿ¨øò ÷úø ÷ýðúð ÿþ òõ¨ªøúðûø
  long PosH        ;             //  ø óþ¨ø÷þýªðûø (ÿþûþöõýøõ ÿõ¨òþù ªþ¢úø)
  long Base        ;             // -ûøýð ñð÷þòþù þ¸õòþù ûøýøø ÷ýðúð
  long VLine1      ;             // =ð¢ðûþ þªüõªúø ÿþ òõ¨ªøúðûø  (0)
  long VLine2      ;             // ¦þýõ¡  þªüõªúø ÿþ òõ¨ªøúðûø  (VSize)
  long VSize       ;             // T¨õñºõüvù ¨ð÷üõ¨ þªüõªúø ÿþ òõ¨ªøúðûø
  long HLine1      ;             // =ð¢ðûþ þªüõªúø ÿþ óþ¨ø÷þýªðûø (0)
  long HLine2      ;             // ¦þýõ¡ þªüõªúø ÿþ óþ¨ø÷þýªðûø  (HSize)
  long HSize       ;             // T¨õñºõüvù ¨ð÷üõ¨ þªüõªúø ÿþ óþ¨ø÷þýªðûø
  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) ¦L¦L¦+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) ¦L¦L¦+T¦- ¦=L¦L ø÷ 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) +T¦L-+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- +T¦L-+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) ¦L¦L¦+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) ¦L¦L¦+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+++-=-+ ¦L¦L¦+T¦- TL¦L DOUBLE
  TDouble Value;
ends


TIMGLONG struc           // (254) TT+++-=-+ ¦L¦L¦+T¦- TL¦L LONG

  long Value;
ends


TIMGOBJECT struc         // (255) +T++¦L¦LT-/T--+TLT- ++'+¦T
                                //  T LTT+T=-- ¦=L¦L- ¦TLTTLLL¦LT+¦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- TT¦L¦TL¦L

  TColor Color;        // ãòõª ó¨ðôøõýªýþù ÷ðûøòúø (COLORREF)
  ulong Left;         // ¦¨þ¡õýª ÷ðÿþûýõýø  óðñð¨øªþò ¸ûõòð
  ulong Right;        // ¦¨þ¡õýª ÷ðÿþûýõýø  óðñð¨øªþò ¸ÿ¨ðòð
  ulong Bright;       // ¦¨þ¡õýª ø÷üõýõýø   ¨úþ¸ªø ÷ðûøòúø
ends



//**********************************************************************
// LTTL¦+T+L+ TT¦L¦TL¦- ¦L¦L¦+T¦+T TL¦LLTL¦LãLL (÷ðüõýõý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=¦TL¦L
                                //      (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¦+-+==-ã T¦¦LT+, ¦+ TL=LL
                                //      (size = 24)
  TIMGLINE Line;                  // =øöý   ûøýø 
  TIMGDOT  Dot ;                  // Tõ¨¿ý   ûøýø -ÿºýúªø¨
ends



TIMGSQUARECROSS struc    // (136) +T¦L-+TL==L- ¦T+-L--
                                //      (size = 16)
  TColor Color;           // ãòõª °ªpø¿þòúø (IMGC_TRANSPARENT - ÿ¨þ÷¨ð¢ývù)
  ulong Kind ;           // Tøÿ °ªpø¿þòúø (SC_HORIZONTAL, ...)
  ulong Thick;           // Tþû•øýa °ªpø¿a
  ulong Blank;           // Tþû•øýa ÿpþñõûa
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+ TT¦L¦TL¦- ¦L¦L¦+T¦+T TL¦LLTL¦LãLL (÷ðüõýõý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.