//*****************************************************************************
//                                             (C) IpeSoft s.r.o. (Ltd.) ZILINA
//   PROJECT :  D2000 
//   FILE    :  Imp_def.h
//
//   DESCRIPTION : definicia konstant a typov pre import gr.formatov
//
//*****************************************************************************
  //***************************************************************************
  // Constants of gr.object's types
  //***************************************************************************
  #define cLine    =  0 // objekt ciara
  #define cPLine   =  1 // objekt viacnasobna ciara
  #define cDLine   =  2 // objekt viacnasobna prerusovana ciara 
  #define cArc     =  3 // objekt obluk
  #define c3Arc    =  4 // objekt trojbodovy obluk
  #define cBox     =  5 // objekt obdlznik
  #define cPAngle  =  6 // objekt mnohouholnik
  #define cCircle  =  7 // objekt kruh
  #define cPiArc   =  8 // objekt kruhova vysec
  #define cElipse  = 11 // objekt elipsa
  #define cText    = 12 // objekt text
  #define cGroup   = 32 // skupina objektov
  // extra types
  #define cLineCombined   = -1  // skombinuje seriu ciar rovankych atributov do jedneho objektu
                                // typu PolyLine alebo PolyLineDisjoint
  #define cPLineAdd       = -2  // pridaj seriu parametrov do vytvaraneho objektu typu polyline
                                // (ak nie je vytvarany, tak zaloz novy)
  #define cFontStyle      = -3  // vytvorenie textového štýlu + autovytváranie 
                                // počas vytvárania textov - od ver. 5.00
                                // (s daným menom môže existovať len 1 štýl)
  //***************************************************************************
  // konstanty definujuce povolene typy pre niektore parametre
  //---------------------------------------------------------------------------
  // oznacenia v komentaroch
  // (*) - default parameter
  //***************************************************************************
  //***************************************************************************
  // color definition, implicitne farby logickej palety pouzivanej pri importe
  //***************************************************************************
  
  // bazy farieb
  #define CLR_BASE_WHITE   =  0
  #define CLR_BASE_YELLOW  = 16
  #define CLR_BASE_CYAN    = 32
  #define CLR_BASE_GREEN   = 48
  #define CLR_BASE_RED     = 64
  #define CLR_BASE_PINK    = 80
  #define CLR_BASE_BLUE    = 96
  // bazy farieb - skratky
  #define W = CLR_BASE_WHITE
  #define Y = CLR_BASE_YELLOW
  #define C = CLR_BASE_CYAN
  #define G = CLR_BASE_GREEN
  #define R = CLR_BASE_RED
  #define P = CLR_BASE_PINK
  #define B = CLR_BASE_BLUE
  type TColorArr  is ARRAY (0.. 15) OF integer // svetla..tmava
  // indexy farieb
  CLR_WHITE    : constant TColorArr := (W+0,W+1,W+2,W+3,W+4,W+5,6,W+7,W+8,W+9,W+10,W+11,W+12,W+13,W+14,W+15)
  CLR_YELLOW   : constant TColorArr := (Y+0,Y+1,Y+2,Y+3,Y+4,Y+5,6,Y+7,Y+8,Y+9,Y+10,Y+11,Y+12,Y+13,Y+14,Y+15)
  CLR_CYAN     : constant TColorArr := (C+0,C+1,C+2,C+3,C+4,C+5,6,C+7,C+8,C+9,C+10,C+11,C+12,C+13,C+14,C+15)
  CLR_GREEN    : constant TColorArr := (G+0,G+1,G+2,G+3,G+4,G+5,6,G+7,G+8,G+9,G+10,G+11,G+12,G+13,G+14,G+15)
  CLR_RED      : constant TColorArr := (W+0,W+1,W+2,W+3,W+4,W+5,6,W+7,W+8,W+9,W+10,W+11,W+12,W+13,W+14,W+15)
  CLR_PINK     : constant TColorArr := (P+0,P+1,P+2,P+3,P+4,P+5,6,P+7,P+8,P+9,P+10,P+11,P+12,P+13,P+14,P+15)
  CLR_BLUE     : constant TColorArr := (B+0,B+1,B+2,B+3,B+4,B+5,6,B+7,B+8,B+9,B+10,B+11,B+12,B+13,B+14,B+15)
  // niektore vybrane farby
  #define i_CLR_WHITE         =  0
  #define i_CLR_PALEGRAYLIGHT =  2
  #define i_CLR_PALEGRAY      =  4
  #define i_CLR_DARKGRAY      = 10
  #define i_CLR_DARKGRAYDARK  = 12
  #define i_CLR_BLACK         = 15
  #define i_CLR_YELLOW        = 22
  #define i_CLR_DARKYELLOW    = 26
  #define i_CLR_CYAN          = 38
  #define i_CLR_DARKCYAN      = 42
  #define i_CLR_GREEN         = 54
  #define i_CLR_DARKGREEN     = 58
  #define i_CLR_RED           = 70
  #define i_CLR_DARKRED       = 74
  #define i_CLR_PINK          = 86
  #define i_CLR_DARKPINK      = 90
  #define i_CLR_BLUE          =102
  #define i_CLR_DARKBLUE      =106

  //***************************************************************************
  // štýl čiar
  // lineStyles - type TPenStyle is (Solid, Alternate, Dash, Dot, DashDot, DashDotDot, Invisible) 
  //***************************************************************************
  #define tLS_Solid       = 0  // -----------  (*)
  #define tLS_Alternate   = 1  // . . . . . . - iba tenka, nepouzivat
  #define tLS_Dash        = 2  // - - - - - - 
  #define tLS_Dot         = 3  // . . . . . .
  #define tLS_DashDot     = 4  // - . - . - .
  #define tLS_DashDotDot  = 5  // - . . - . .
  #define tLS_Invisible   = 6  // nepodporena
  //***************************************************************************
  // ukončenie čiar
  // lineEnd - type TLineEnd  is (Flat,  Square, Round)
  //***************************************************************************
  #define tLE_Flat        = 0  // ostry roh (*) 
  #define tLE_Square      = 1  // skoseny roh
  #define tLE_Round       = 2  // zaobleny roh
  //***************************************************************************
  // zalomenie čiar
  // lineJoin - type TLineJoin is (Bevel, Round,  Miter)
  //***************************************************************************
  #define tLJ_Bevel       = 0  // ukoncenie na koncovom bode (*) 
  #define tLJ_Round       = 1  // zaoblene zakoncenie za koncovym bodom
  #define tLJ_Miter       = 2  // hranate zakoncenie za koncovym bodom
 
  //***************************************************************************
  // vyplnove vzory poskytovane vo Windows
  // brushStyle - type TBrushStyle is (Solid, Hollow, BDiagonal, Cross, DiagCross, 
  //                  FDiagonal,  Horizontal, Vertical) 
  //***************************************************************************
  #define tBS_Solid       = 0  // plny vzor
  #define tBS_Hollow      = 1  // prazdny vzor (*) 
  #define tBS_BDiagonal   = 2
  #define tBS_Cross       = 3 
  #define tBS_DiagCross   = 4 
  #define tBS_FDiagonal   = 5
  #define tBS_CHorizontal = 6 
  #define tBS_Vertical    = 7
    
  //***************************************************************************
  // umiestnenie textov
  // cTextPos - type tTextPos   is (tpAtPos,tpInBox,tpIntoBox)
  //***************************************************************************
  #define tTP_ATPOS       = 0  // text na zadanej pozicii (*)
  #define tTP_INBLOCK     = 1  // text umiestneny v obdlzniku
  #define tTP_INTOBLOCK   = 2  // text zaplnujuci obdlznik
  //***************************************************************************
  // horizontalne umiestnenia pre text umiestneny v obdlzniku
  // cTextCenterH -horizontal center
  //***************************************************************************
  #define tTHC_LEFT       = 0  // vlavo
  #define tTHC_MIDDLE     = 1  // centrovany (*)
  #define tTHC_RIGHT      = 2  // vpravo
  //***************************************************************************
  // vertikalne umiestnenia pre text umiestneny v obdlzniku
  // cTextCenterV - vertical center
  //***************************************************************************
  #define tTVC_TOP        = 0  // hore
  #define tTVC_MIDDLE     = 1  // centrovany (*)
  #define tTVC_BOTTOM     = 2  // dole
 
  //***************************************************************************
  // parametre gr.objektov - param's types constants
  //---------------------------------------------------------------------------
  // implementacne poznamky
  //   1. aby boli parametre akceptovane, musia by v procedurach takych typov ako
  //      su v poznamke za parametrom
  //   2. nie vsetky parametre su realizovane
  //   3. možno zadať max.1000 pozicnych bodov, ale V4.5 pozna max.prvych 1+30
  //      pri väčšom počte bodov pre typ polyline sa generuje viacero objektov tohto typu 
  //   4. index farby pre import index do default farebnej palety
  //   5. farba RGB od ver V5.0 farby plnia 128 prvkovu tabulku z ktorej bude vytvoreny
  //      objet paleta, farby v objekte budu ukladane ako indexy do tejto tabulky
  //***************************************************************************
  //---------------------------------------------------------------------------
  // positions and sizes
  //---------------------------------------------------------------------------
  #define cPosXY              =1 // 2 * int/float - pozicia bodu
  #define cPosDXY             =2 // 2 * int/float - vzdialenodt bodu od predosleho bodu
  //---------------------------------------------------------------------------
  // line params
  //---------------------------------------------------------------------------
  #define cLineColorRGB        =10 // int  - RGB farba objektu - od ver V5.0
  #define cLineColorIdx        =11 // int  - index farby v lokalnej palete
  #define cLineStyle           =12 // int  - styl ciary - lineStyles
  #define cLineWidth           =13 // int  - hrubka ciary 1..
  #define cLineEnd             =14 // int  - zakoncenie hrubej ciary - lineEnd
  #define cLineJoin            =15 // int  - zalomenie polyline ciary - lineJoin
  //---------------------------------------------------------------------------
  // fill params
  //---------------------------------------------------------------------------
  #define cFillColorRGB        =30 // int - RGB farba objektu - od ver V5.0
  #define cFillColorIdx        =31 // int - index farby v lokalnej palete
  #define cFillPattern         =32 // int  - styl ciary - brushStyle
  //---------------------------------------------------------------------------
  // circles
  //---------------------------------------------------------------------------
  #define cCircleRadial        =50 // int/float - polomer kruhu
  
  #define cCircleAngleDegStart =56 // int/float - degree 
  #define cCircleAngleDegEnd   =57 // int/float - degree
  #define cCircleAngleDegSize  =58 // int/float - degree
  
  #define cCircleAngleRadStart =59 // int/float - radiant
  #define cCircleAngleRadEnd   =60 // int/float - radiant
  #define cCircleAngleRadSize  =61 // int/float - degree
  
  //---------------------------------------------------------------------------
  // text params
  //---------------------------------------------------------------------------
  #define cTextText            =70 // text
  #define cTextColorRGB        =71 // int - RGB farba objektu - od ver V5.0
  #define cTextColorIdx        =72 // int - index farby v lokalnej palete
 
  #define cTextPos             =73 // int - umiestnenie v obdlzniku, tTP_ATPOS,..
  #define cTextCenterH         =76 // int - horizontalne centrovanie v obdlzniku
  #define cTextCenterV         =77 // int - vertikalne centrovanie v obdlzniku
  //***************************************************************************
  // vytvorenie textového štýlu
  // txt.štýl sa vytvori ako objekt s parametrom CFont alebo pocas vytvarania textu
  //  * ak nebudú nastavené všetky parametre font sa nevytvorí
  //  * ak štýl s menom v cFontStyleName existuje, nový nebude vytvorený, použije sa existujúci
  //  * ak je txt.štýl vytvorený počas vytvárania textu, bude text kreslený týmto štýlom
  //  * ak je počas vytvárania textu zadaný iba cFontStyleName,
  //    potom bude text kreslený týmto štýlom (ak existuje)
  //***************************************************************************
  #define cFontStyleName       =200 //  string  - meno textového štýlu
  #define cFontName            =201 //  string  - meno fontu
  #define cFontSize            =202 //  Integer - vyska fonty
  #define cFontBold            =203 //  Boolean - atribut pre hruby font
  #define cFontItalic          =204 //  Boolean - atribut pre sikmy font
  #define cFontUnderline       =205 //  Boolean - atribut pre podtrhnuty font
  #define cFontStrikeOut       =206 //  Boolean - atribut pre preciarknuty font
  #define cFontCharSet         =207 //  Integer - subor znakov (Western,Central euroean)
  //***************************************************************************
  // types of obj.actions
  //***************************************************************************
  type tObjAction  is (closeFigure,// uzatvor polyline , prevod na mnohouholník
                       closeObject,// zatvor objekt
                       closeGroup, // zatvor objekt a grupu
                       closeAll)   // zatvor objekt a všetky grupy
                                   // vnútorne volaný po ukončení importu
  //***************************************************************************
  // access to functions - definitions
  //***************************************************************************
  void _stdcall (*CreateObj)(int)
  void _stdcall (*ObjAtion)(tObjAction)
  void _stdcall (*Set_string )(int,char far * )
  void _stdcall (*Set_boolean)(int,bool)
  void _stdcall (*Set_integer)(int,int)  
  void _stdcall (*Set_float)(int,real)
  void _stdcall (*Set_integer2)(int,int,int)  
  void _stdcall (*Set_float2)(int,real,real)
  // info text pocas importu
  void _stdcall (*ShowInfo)(char far * )
  //***************************************************************************
  // access to functions
  //***************************************************************************
  createObj    : tCreateObj    := null;
  objAction    : tObjAtion     := null;
  
  set_string   : tset_string   := null;
  set_boolean  : tset_boolean  := null;
  set_integer  : tset_integer  := null;
  set_float    : tset_float    := null;
  set_integer2 : tset_integer2 := null;
  set_float2   : tset_float2   := null;
  // info text pocas importu
  ShowInfo     : tShowInfo     := null;
  //***************************************************************************
  // access to import functions
  //***************************************************************************
  #define pShowInfo     = 0
  #define pcreateObj    = 1    
  #define pobjAction    = 2  
  #define pset_string   = 3   
  #define pset_boolean  = 4
  #define pset_integer  = 5  
  #define pset_float    = 6
  #define pset_integer2 = 7 
  #define pset_float2   = 8
  // pointer to 1.char of null terminating string
  #define maxResStr     = 10000
  // nazov importu a tup suboru
  void _stdcall (*GetFileType)(char far * description,char far * extension)
  // inicializacia call-back procedur
  void _stdcall (*ImportConnect)(int procType,int procAddr )
  // load autocad dxf file
  void _stdcall (*ImportConnect)(int procType,int procAddr )
 
//*****************************************************************************
//-----------------------------------------------------------------------------
// Revisions History --
//-----------------------------------------------------------------------------
//  0.00     28.02.01 - vytvorenie modulu
//-----------------------------------------------------------------------------
Napíšte komentár