home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / RealTime Graphics ActiveX / DATA.3 / Examples / Delphi / ctwxdef.pas
Encoding:
Pascal/Delphi Source File  |  1997-10-23  |  13.6 KB  |  494 lines

  1. unit CTWXDEF;
  2. interface
  3. uses WinProcs, WinTypes, Messages;
  4. const
  5.  
  6.   PAGE_CLIENT  = 0;               { fill parent window client area }
  7.   PAGE_FULL    = 1;               { fill the whole screen          }
  8.   PAGE_EXACT   = 2;               { use passed coordinates         }
  9.  
  10. { Page Window scaling types - fixed, proportionate, and isotropic }
  11.   MM_FIXED   =  MM_ISOTROPIC;
  12.   MM_PROPORT =  MM_ANISOTROPIC;
  13.   MM_ISOTR   =  9;
  14.   MM_PROPORT_FT = 10;
  15.   MM_ISOTR_FT = 11;
  16. { coordinate types }
  17.  
  18.   CO_LOG  =0;
  19.   CO_PHYS =1;
  20.   CO_NORM =2;
  21.   CO_DEV  =3;
  22.  
  23. { Point search constants }
  24.  
  25.  FNP_X    = 0;   { nearest x }
  26.  FNP_Y    = 1;   { nearest y }
  27.  FNP_DIST = 2;   { shortest distance }
  28.  
  29. { printing styles }
  30.  
  31.  PRT_FULL =   0;       { Pages and graphs are printed so that paper
  32.                              is used maximally. Text is printed
  33.                              proportionately to other objects }
  34.  PRT_PROP =   1;       { Pages are printed so that paper
  35.                              is used maximally. Graphs are printed
  36.                              proportionately to page size.
  37.                              Text is printed proportionately to other objects }
  38.  
  39.  PRT_EXACT =  2;   { physical size, font size in points are preserved }
  40.  
  41. {************************************************************************}
  42. { Graphical objects }
  43. {************************************************************************}
  44.  
  45.     GO_PLOT   = 1;              { can be line, bars, scat, etc }
  46.     GO_GROUP  = 2;              { can be stacked lines, bars   }
  47.     GO_LEGEND = 3;
  48.     GO_LINE   = 4;              { Straight line }
  49.     GO_ARROW  = 5;              { Straight line with arrow }
  50.  
  51.     GO_LAST1  = 9;
  52.  
  53.     GO_AX     = 10;
  54.     GO_LABELS = 11;
  55.     GO_TEXT   = 12;
  56.     GO_ARC    = 13;
  57.  
  58.     GO_LAST2  = 19;
  59.  
  60. {***********************************************************}
  61.  
  62.     GO_PIECHART = 20;
  63.     GO_METAFILE = 21;
  64.     GO_ELLIPSE  = 22;
  65.     GO_BITMAP   = 23;
  66.     GO_POLYGON  = 24;
  67.     GO_RECT     = 25;
  68.     GO_PIE      = 26;
  69.     GO_DATACURSOR = 27;
  70.     GO_PLOTSCALE  = 49;
  71.     GOS_MAX  =   50;   { max value of statical graphical object }
  72.     GO_USER  =  1000;
  73.  
  74. { Line types - subtype field }
  75.  
  76.     LT_LINE   =   3;
  77.     LT_LINEMARK = 4;
  78.     LT_SCAT   =   5;
  79.     LT_VBAR   =   6;
  80.     LT_HBAR   =   7;
  81.     LT_3DVBAR =   8;
  82.     LT_3DHBAR =   9;
  83.     LT_LAST   =   LT_3DHBAR;
  84.  
  85. { types of group plots }
  86.  
  87.  GT_GROUPBARS   = 0;
  88.  GT_DEEPBARS    = 1;
  89.  GT_STACKEDBARS = 2;
  90.  GT_FLOATBARS   = 3;
  91.  GT_STACKEDLINES= 5;
  92.  GT_HILOCLOSE   = 6;
  93.  GT_ERRORBARS   = 7;
  94.  
  95. { data cursor types }
  96.  
  97.  DC_VLINE  =  0;   { vertical line }
  98.  DC_HLINE  =  1;   { horizontal line }
  99.  DC_CROSS  =  2;   { crosshair }
  100.  DC_BOX    =  3;   { square }
  101.  
  102. {************************************************************************}
  103. { Dynamic Graphical objects }
  104. {************************************************************************}
  105.  
  106.     GO_DYN  = 100;         { First dynamic object }
  107.  
  108.  GOD_ALARMLINES = GO_DYN;      { alarm lines }
  109.  GOD_ALARMMARKS = GO_DYN + 1;  { alarm marks (for bar graphs) }
  110.  GOD_DYNGRID    = GO_DYN + 2;  { grid lines  }
  111.  GOD_SCROLL     = GO_DYN + 3;  { scroll, sweep, scrolling bars, etc. }
  112.  GOD_XYPLOT     = GO_DYN + 4;  { dynamic xy plot      }
  113.  GOD_LABELS     = GO_DYN + 5;  { dynamic labels       }
  114.  GOD_BARS       = GO_DYN + 6;  { dynamic bars         }
  115.  GOD_TEXT       = GO_DYN + 7;  { dynamic text }
  116.  GOD_MESSAGE    = GO_DYN + 8;  { message text }
  117.  GOD_ANNUNC     = GO_DYN + 9;  { annunciator panel - compound object }
  118.  GOD_METER      = GO_DYN + 10; { meter }
  119.  GOD_CHCONTROL  = GO_DYN + 11; { child control }
  120.  
  121.  GOD_SUBT_SCLINE= 1;         { scrolling line subtype }
  122.  GOD_SUBT_SCBAR = 2;         { scrolling bar  subtype }
  123.  GOD_SUBT_SWLINE= 3;         { sweep line subtype }
  124.  GOD_SUBT_LOGIC = 4;         { logic line subtype }
  125.  GOD_SUBT_BAR   = 5;         { bar graph subtype  }
  126.  GOD_SUBT_ALMTEXT =6;        { alarm text subtype }
  127.  GOD_SUBT_STACKED =7;        { stacked line subtype }
  128.  GOD_SUBT_TIME  =10;         { time subtype (for axes and labels) }
  129.  
  130.  ARROW_START =1;
  131.  ARROW_END   =2;
  132.  ARROW_BOTH  =3;
  133.  
  134.  MAX_ALMNAME =12;
  135.  NALMLINES =5;
  136.  
  137. { data reduction types }
  138.  
  139.  DC_SKIP    =0;
  140.  DC_AVERAGE =1;
  141.  DC_MAX     =2;
  142.  DC_MIN     =3;
  143.  
  144. { bitmap display modes }
  145.  
  146.  BM_ORIG     =0;
  147.  BM_STRETCH  =1;
  148.  
  149. { COLOR CODES }
  150.  
  151.     C_TRANSPARENT  = -1;
  152.     C_BLACK        =  0;
  153.     C_BLUE         =  1;
  154.     C_GREEN        =  2;
  155.     C_CYAN         =  3;
  156.     C_RED          =  4;
  157.     C_MAGENTA      =  5;
  158.     C_BROWN        =  6;
  159.     C_LIGHTGRAY    =  7;
  160.     C_GRAY         =  8;
  161.     C_LIGHTBLUE    =  9;
  162.     C_LIGHTGREEN   = 10;
  163.     C_LIGHTCYAN    = 11;
  164.     C_LIGHTRED     = 12;
  165.     C_LIGHTMAGENTA = 13;
  166.     C_YELLOW       = 14;
  167.     C_WHITE        = 15;
  168.  
  169.     C_PALEBLUE     = 16;
  170.     C_PALEGREEN    = 17;
  171.     C_MEDGRAY      = 18;
  172.     C_OFFWHITE     = 19;
  173.  
  174.     NUMCOLS        = 20;
  175.  
  176. {************************************************************************}
  177. { Axis scaling types  }
  178.  
  179.     ST_LINEAR   = 0;
  180.     ST_LOG      = 1;
  181.  
  182. {************************************************************************}
  183. { Grid types  }
  184.  
  185.     GRID_MAJOR  = 0;
  186.     GRID_MINOR  = 1;
  187.     GRID_ALL    = 2;
  188.  
  189. {************************************************************************}
  190. { Tick mark, bar, etc. position definitions: }
  191.  
  192.   POS_BELOW    = 0;
  193.   POS_INSIDE   = POS_BELOW;
  194.   POS_LEFT     = 1;
  195.   POS_RIGHT    = 2;
  196.   POS_MIDDLE   = 3;
  197.   POS_ABOVE    = 4;
  198.   POS_OUTSIDE  = POS_ABOVE;
  199.   POS_INVISIBLE = 5;
  200.  
  201.   POS_BELOW_PLOT = 6;
  202.   POS_ABOVE_PLOT = 7;
  203.   POS_LEFT_PLOT  = 8;
  204.   POS_RIGHT_PLOT = 9;
  205.  
  206.   TEXT_NORMAL    = 0;
  207.   TEXT_VERTLEFT  = 900;
  208.   TEXT_VERTRIGHT = 2700;
  209.  
  210.   TEXT_BOLD      = 1;           { can be ORed with each other }
  211.   TEXT_ITAL      = 2;
  212.   TEXT_UNDERLINE = 4;
  213.  
  214. {*********************************************************************}
  215. { last label indicators: }
  216. {*********************************************************************}
  217.  
  218.   LL_ON   = 0;
  219.   LL_OFF  = 1;
  220.   LL_TEXT = 2;
  221.  
  222.   LABELLEN   = 42;        { maximal length of string label }
  223.   LG_MAXLEN  = LABELLEN;  { maximal legend length }
  224.   MAX_MESLEN = LABELLEN;  { 42 }
  225.   MAX_MESNUM = 8 ;        { number of messages
  226.  
  227. {*********************************************************************}
  228. { Pie Chart Constants }
  229. {*********************************************************************}
  230.  
  231.  PIE_NUM_NONE    = 0;
  232.  PIE_NUM_PERC    = 1;
  233.  PIE_NUM_VAL     = 2;
  234.  PIE_NUM_BOTH    = 3;
  235.  
  236.  PIE_IN          = 0;
  237.  PIE_OUT         = 1;
  238.  
  239.  PIE_2D          = 10;
  240.  PIE_3D          = 11;
  241.  
  242. {*********************************************************************}
  243. { Numbers formats:                                                    }
  244.  
  245.     NF_DECIMAL    = 0;
  246.     NF_SCIENTIFIC = 1;
  247.     NF_ENG        = 2;
  248.     NF_EXP        = 3;
  249.     NF_G          = 4;
  250.  
  251. {**********************************************************************}
  252. { Intercept flags for auto axes.  }
  253.  
  254.     INTF_ZERO   = 0;       { use 0 for intercepts              }
  255.     INTF_MIN    = 1;       { minimal values for both axes      }
  256.     INTF_MAX    = 2;       { maximal values for both axes      }
  257.     INTF_MINMAX = 3;       { min Y intercept for axis X, max for Y }
  258.     INTF_MAXMIN = 4;       { max for X, min for Y                  }
  259.  
  260. {**********************************************************************}
  261. { Symbols (markers) types:                                             }
  262.  
  263.     MK_NONE          = 0;
  264.     MK_X             = 1;
  265.     MK_UPTRIANGLE    = 2;
  266.     MK_DOWNTRIANGLE  = 3;
  267.     MK_BOX           = 4;
  268.     MK_PLUS          = 5;
  269.     MK_ASTERISK      = 6;
  270.     MK_DIAMOND       = 7;
  271.     MK_CIRCLE        = 8;
  272.     MK_DOT           = 9;
  273.  
  274. {*******************************************************************}
  275. { Marker and bar styles }
  276.  
  277.     MKS_FILLED     = 0;
  278.     MKS_EMPTY      = 1;
  279.     MKS_CDOT       = 2;
  280.  
  281.     BAR_FULL    = MKS_FILLED;
  282.     BAR_HOLLOW  = MKS_EMPTY ;
  283.     BAR_BORDER  = MKS_CDOT;
  284.  
  285. {**********************************************************************}
  286. { Autoscaling parameters: }
  287.  
  288.     AS_ROUNDCLOSE = 1;
  289.     AS_ROUNDFAR   = 2;
  290.  
  291. {********************************************************************}
  292. { DSP constants (windows types)                                      }
  293. {********************************************************************}
  294.  
  295.  DSPWIN_RECTANG = 0;
  296.  DSPWIN_PARZEN  = 1;
  297.  DSPWIN_HANNING = 2;
  298.  DSPWIN_WELCH   = 3;
  299.  DSPWIN_HAMMING = 4;
  300.  DSPWIN_EXACTB  = 5;
  301.  
  302. {*************************************************************************}
  303. { orientation constants }
  304.  
  305.  OR_VERT  = 0;
  306.  OR_HORZ  = 1;
  307.  
  308. {*************************************************************************}
  309. { raised rectangle constants }
  310.  
  311.  RC_FLAT     = 0;      { regular }
  312.  RC_HIGH     = 1;
  313.  RC_DEEP     = 2;
  314.  RC_LOW      = 3;
  315.  RC_SHALLOW  = 4;
  316.  RC_3DBORDER = 5;
  317.  
  318.  
  319. {*************************************************************************}
  320. { Metafile types }
  321.  
  322.  MF_WIN    = 0;    { Old Windows metafile    }
  323.  MF_PL     = 1;    { Placeable Aldus metafile }
  324.  MF_ENH    = 2;    { New enhanced Windows metafile }
  325.  
  326. {*************************************************************************}
  327. { placeable metafile header }
  328.  
  329.  
  330.  
  331. AXU_SEC    = 0;       { time units codes for time axes}
  332.  AXU_MIN    = 1;
  333.  AXU_HOUR   = 2;
  334.  
  335. { staircase style}
  336.  
  337.  NO_STEP    =0;
  338.  STEP_START =1;
  339.  STEP_END   =2;
  340.  
  341.               { alarm types}
  342.  ALM_OK    =0;
  343.  ALM_SETP  =0;
  344.  ALM_HIGH  =1;
  345.  ALM_LOW   =2;
  346.  ALM_HH    =3;
  347.  ALM_LL    =4;
  348.  ALM_RATE  =5;
  349.  ALM_DEV   =6;
  350.  ALM_FAIL  =7;
  351.  
  352. { meter subtypes }
  353.  GOD_SUBT_NEEDLE  = 0;       { needle meter  }
  354.  GOD_SUBT_PIE     = 1;       { pie meter  }
  355.  GOD_SUBT_ARC     = 2;       { arc meter  }
  356.  
  357. {********************************************************************}
  358. { Direction definitions                                              }
  359. {********************************************************************}
  360.  
  361.  DYN_LEFT   = 0;       { scroll or move from right to left}
  362.  DYN_RIGHT  = 1;
  363.  DYN_UP     = 2;
  364.  DYN_DOWN   = 3;
  365.  
  366. {************************************************************************}
  367. { Meter definitions******************************************************}
  368. {************************************************************************}
  369. { needle types }
  370.  
  371.  NEEDLE_LINE     =  0;  { simple line}
  372.  NEEDLE_THICK    =  1;  { thick lline with circle}
  373.  NEEDLE_SHORTF   =  2;  { triangle with base at center - filled}
  374.  NEEDLE_SHORTH   =  3;  { triangle with base at center - hollow}
  375.  NEEDLE_LONGF    =  4;  { triangle with back plane - filled}
  376.  NEEDLE_LONGH    =  5;  { triangle with back plane - hollow}
  377.  
  378.  MET_TICK_REG    = 0;
  379.  MET_TICK_THICK  = 1;
  380.  MET_TICK_TRIAG  = 2;
  381.  
  382.  MET_NOBORDER    = 0;
  383.  MET_RECT        = 1;
  384.  MET_CIRC        = 2;
  385.  MET_RD_RECT     = 3;
  386.  
  387. {************************************************************************}
  388. { Dynamic label types ***************************************************}
  389. {************************************************************************}
  390.   DLB_NUMERIC  = 0;
  391.   DLB_HMS      = 1;    { time format, hh:mm:ss. Prec ignored}
  392.   DLB_HM       = 2;    { time format, hh:mm}
  393.   DLB_MS       = 4;
  394.  
  395. { CONTROL STYLES}
  396.          { logic }
  397.   BC_STYLE_PUSH      = 0;       { like standard push button}
  398.   BC_STYLE_ONOFF     = 1;       { 2 state}
  399.   BC_STYLE_XOR       = 2;       { radio button logic}
  400.   BC_STYLE_PASSIVE   = 3;       { cannot be pressed}
  401.          { appearance}
  402.   BC_LOOK_LOW   = 0;            { standard pushbutton look}
  403.   BC_LOOK_HIGH  = 1;            { "deep" pushbutton}
  404.   BC_LOOK_RADIO = 2;            { standard radio button}
  405.   BC_LOOK_CHECK = 3;            { "deep" check box}
  406.   BC_LOOK_LED   = 4;            { LED}
  407.  
  408.  
  409.  
  410.  ST_LINEPLOT = 0;
  411.  ST_BARGRAPH =1;
  412.  ST_SCATTERPLOT =2;
  413.  
  414.  X_AXIS1 =0;
  415.  Y_AXIS1 =1;
  416.  X_AXIS2 =2;
  417.  Y_AXIS2 =3;
  418.  
  419.  AXES1 =0;
  420.  AXES2 =1;
  421.  
  422.  TITLE1 =0;
  423.  TITLE2 =1;
  424.  FOOTER =2;
  425.  NUMAXES =4;
  426.  NUMTITLES =3;
  427.  
  428.  SIMPLE_XY_DATA_TYPE =0;
  429.  GROUP_DATA_TYPE     =1;
  430.  PIECHART_DATA_TYPE  =2;
  431.  
  432.  SIMPLE_LEGEND =0;
  433.  GROUP_LEGEND  =1;
  434.  
  435.  RTMETER_NEEDLE =0;
  436.  RTMETER_ARC =1;
  437.  RTMETER_PIE =2;
  438.  
  439.  CROSSHAIR_NONE =0;
  440.  CROSSHAIR_GRAPHAREA= 1;
  441.  CROSSHAIR_PLOTAREA =2;
  442.  CROSSHAIR_SMALL =3;
  443.  
  444.  DATACURSOR_DISABLED= 0;
  445.  DATACURSOR_LEFTBUTTON =1;
  446.  DATACURSOR_RIGHTBUTTON= 2;
  447.  
  448.  SCROLLING_LINE_GRAPH =  0;
  449.  SWEEP_GRAPH = 1;
  450.  SCROLLING_BAR_GRAPH = 2;
  451.  SCROLLING_STACKED_LINE_GRAPH= 3;
  452.  SCROLLING_XY_GRAPH = 4;
  453.  VARIABLE_SCROLLING_GRAPH= 5;
  454.  
  455.  LEGEND_BLACKTEXT =0;
  456.  LEGEND_COLORTEXT =1;
  457.  
  458.  GRIDLINE_UPDATE_TIMER =0;
  459.  GRIDLINE_UPDATE_EVERY =1;
  460.  GRIDLINE_UPDATE_NEVER =2;
  461.  
  462.  ALARMLINE_UPDATE_TIMER =0;
  463.  ALARMLINE_UPDATE_EVERY =1;
  464.  ALARMLINE_UPDATE_NEVER =2;
  465.  
  466.  
  467.  RGB_BLACK   =     $000000;
  468.  RGB_BLUE    =     $800000;   //RGB (  0,0,128)
  469.  RGB_GREEN   =     $008000;   //RGB (  0,128,  0)
  470.  RGB_CYAN    =     $808000;   //RGB (  0,128,128)
  471.  RGB_RED     =     $000080;   //RGB (128,  0,  0)
  472.  RGB_MAGENTA =     $800080;   //RGB (128,  0,128)
  473.  RGB_BROWN   =     $008080;   //RGB (128,128,  0)
  474.  RGB_LIGHTGRAY =   $c0c0c0;   //RGB (192,192,192)
  475.  RGB_GRAY       =  $808080;   //RGB (128,128,128)
  476.  RGB_LIGHTBLUE  =  $ff0000;   //RGB (  0,  0,255)
  477.  RGB_LIGHTGREEN =  $00ff00;   //RGB (  0,255,  0)
  478.  RGB_LIGHTCYAN  =  $ffff00;   //RGB (  0,255,255)
  479.  RGB_LIGHTRED   =  $0000ff;   //RGB (255,  0,  0)
  480.  RGB_LIGHTMAGENTA= $ff00ff;   //RGB (255,  0,255)
  481.  RGB_YELLOW   =    $00ffff;   //RGB (255,255,  0)
  482.  RGB_WHITE    =    $ffffff;   //RGB (255,255,255)
  483.                // for SVGA in 256 colors mode
  484.  RGB_PALEBLUE =    $f0caa6;   //RGB (166,202,240)
  485.  RGB_PALEGREEN=    $c0dcc0;   //RGB (192,220,192)
  486.  RGB_MEDGRAY  =    $a4a0a0;   //RGB (160,160,164)
  487.  RGB_OFFWHITE =    $f0f6ff;   //RGB (255,251,240)
  488.  
  489.  
  490.  
  491.  
  492. IMPLEMENTATION
  493.  
  494. END.