home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 March / Chip_1999-03_cd.bin / zkuste / delphi / D / MATEM.ARJ / RCHART.ZIP / cppbld3 / rchart.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-23  |  23.5 KB  |  614 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1998 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'RChart.pas' rev: 3.00
  6.  
  7. #ifndef RChartHPP
  8. #define RChartHPP
  9. #include <Menus.hpp>
  10. #include <DsgnIntf.hpp>
  11. #include <Buttons.hpp>
  12. #include <StdCtrls.hpp>
  13. #include <ExtCtrls.hpp>
  14. #include <Dialogs.hpp>
  15. #include <Forms.hpp>
  16. #include <Controls.hpp>
  17. #include <Graphics.hpp>
  18. #include <Classes.hpp>
  19. #include <Messages.hpp>
  20. #include <Windows.hpp>
  21. #include <SysUtils.hpp>
  22. #include <SysInit.hpp>
  23. #include <System.hpp>
  24.  
  25. //-- user supplied -----------------------------------------------------------
  26.  
  27. namespace Rchart
  28. {
  29. //-- type declarations -------------------------------------------------------
  30. enum YearLengthType { ylNone, ylYY, ylYYYY };
  31.  
  32. enum DateOrderType { doMMDDYY, doDDMMYY, doYYMMDD };
  33.  
  34. enum TimeFormatType { tfHHMMSS, tfHHhMM, tfAMPM };
  35.  
  36. enum TCrossHMode { chOff, chHoriz, chVert, chBoth };
  37.  
  38. enum DateForTimeType { dtNone, dtOnePerChart, dtOnePerDay, dtAllTicks };
  39.  
  40. enum TBkgFill { bfSimple, bfStretch, bfTile };
  41.  
  42. class DELPHICLASS TBakGndImg;
  43. class PASCALIMPLEMENTATION TBakGndImg : public Classes::TPersistent 
  44. {
  45.     typedef Classes::TPersistent inherited;
  46.     
  47. private:
  48.     System::AnsiString FName;
  49.     Classes::TNotifyEvent FOnChange;
  50.     bool FIncldPath;
  51.     TBkgFill FFillMode;
  52.     void __fastcall SetName(System::AnsiString fn);
  53.     void __fastcall SetIncldPath(bool x);
  54.     void __fastcall SetFillMode(TBkgFill x);
  55.     
  56. public:
  57.     __fastcall TBakGndImg(Classes::TComponent* AOwner);
  58.     __fastcall virtual ~TBakGndImg(void);
  59.     void __fastcall Changed(void);
  60.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  61.     
  62. __published:
  63.     __property System::AnsiString Name = {read=FName, write=SetName};
  64.     __property bool IncludePath = {read=FIncldPath, write=SetIncldPath, nodefault};
  65.     __property TBkgFill FillMode = {read=FFillMode, write=SetFillMode, nodefault};
  66. };
  67.  
  68. class DELPHICLASS TrcBakBMPEditor;
  69. class PASCALIMPLEMENTATION TrcBakBMPEditor : public Forms::TForm 
  70. {
  71.     typedef Forms::TForm inherited;
  72.     
  73. __published:
  74.     Stdctrls::TCheckBox* CBIncldPath;
  75.     Stdctrls::TComboBox* CBFillMode;
  76.     Buttons::TSpeedButton* SBLoadBMP;
  77.     Buttons::TSpeedButton* SBOK;
  78.     Stdctrls::TEdit* EdName;
  79.     Stdctrls::TLabel* Label1;
  80.     Buttons::TSpeedButton* SBCancel;
  81.     Extctrls::TImage* Image1;
  82.     Extctrls::TBevel* Bevel1;
  83.     Stdctrls::TLabel* LblDims;
  84.     void __fastcall SBLoadBMPClick(System::TObject* Sender);
  85.     void __fastcall CBIncldPathClick(System::TObject* Sender);
  86.     void __fastcall SBOKClick(System::TObject* Sender);
  87.     void __fastcall SBCancelClick(System::TObject* Sender);
  88.     
  89. public:
  90.     System::AnsiString FullName;
  91. public:
  92.     /* TCustomForm.Create */ __fastcall virtual TrcBakBMPEditor(Classes::TComponent* AOwner) : Forms::TForm(
  93.         AOwner) { }
  94.     /* TCustomForm.CreateNew */ __fastcall TrcBakBMPEditor(Classes::TComponent* AOwner, int Dummy) : Forms::
  95.         TForm(AOwner, Dummy) { }
  96.     /* TCustomForm.Destroy */ __fastcall virtual ~TrcBakBMPEditor(void) { }
  97.     
  98. public:
  99.     /* TWinControl.CreateParented */ __fastcall TrcBakBMPEditor(HWND ParentWindow) : Forms::TForm(ParentWindow
  100.         ) { }
  101.     
  102. };
  103.  
  104. class DELPHICLASS TBakGndFileProperty;
  105. class PASCALIMPLEMENTATION TBakGndFileProperty : public Dsgnintf::TClassProperty 
  106. {
  107.     typedef Dsgnintf::TClassProperty inherited;
  108.     
  109. public:
  110.     virtual void __fastcall Edit(void);
  111.     virtual Dsgnintf::TPropertyAttributes __fastcall GetAttributes(void);
  112. public:
  113.     /* TPropertyEditor.Destroy */ __fastcall virtual ~TBakGndFileProperty(void) { }
  114.     
  115. public:
  116.     /* TObject.Create */ __fastcall TBakGndFileProperty(void) : Dsgnintf::TClassProperty() { }
  117.     
  118. };
  119.  
  120. class DELPHICLASS TDTLabel;
  121. class PASCALIMPLEMENTATION TDTLabel : public Classes::TPersistent 
  122. {
  123.     typedef Classes::TPersistent inherited;
  124.     
  125. private:
  126.     TimeFormatType FTimeFormat;
  127.     char FDateSeparator;
  128.     char FTimeSeparator;
  129.     YearLengthType FYearLength;
  130.     bool FMonthName;
  131.     DateOrderType FDateOrder;
  132.     DateForTimeType FDateForTime;
  133.     Classes::TNotifyEvent FOnChange;
  134.     void __fastcall SetTimeFormat(TimeFormatType Value);
  135.     void __fastcall SetDateForTime(DateForTimeType value);
  136.     void __fastcall SetDateSeparator(char Value);
  137.     void __fastcall SetTimeSeparator(char Value);
  138.     void __fastcall SetYearLength(YearLengthType value);
  139.     void __fastcall SetMonthName(bool value);
  140.     void __fastcall SetDAteOrder(DateOrderType value);
  141.     
  142. public:
  143.     void __fastcall Changed(void);
  144.     
  145. __published:
  146.     __property TimeFormatType TimeFormat = {read=FTimeFormat, write=SetTimeFormat, nodefault};
  147.     __property char DateSeparator = {read=FDateSeparator, write=SetDateSeparator, nodefault};
  148.     __property char TimeSeparator = {read=FTimeSeparator, write=SetTimeSeparator, nodefault};
  149.     __property YearLengthType YearLength = {read=FYearLength, write=SetYearLength, nodefault};
  150.     __property bool MonthName = {read=FMonthName, write=SetMonthName, nodefault};
  151.     __property DateOrderType DateOrder = {read=FDateOrder, write=SetDAteOrder, nodefault};
  152.     __property DateForTimeType DateForTime = {read=FDateForTime, write=SetDateForTime, nodefault};
  153.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  154. public:
  155.     /* TPersistent.Destroy */ __fastcall virtual ~TDTLabel(void) { }
  156.     
  157. public:
  158.     /* TObject.Create */ __fastcall TDTLabel(void) : Classes::TPersistent() { }
  159.     
  160. };
  161.  
  162. enum TRFrameStyle { rbLowered, rbRaised, rbEmbossed, rbEngraved };
  163.  
  164. enum ItemType { tkNone, tkMarkAt, tkLine, tkLineto, tkRect, tkRectFrame, tk3DBar, tkText, tkMoveTo, 
  165.     tkEllipse, tkEverything, tkNotMoveTo };
  166.  
  167. struct TDrawCan;
  168. typedef TDrawCan *PDrawCan;
  169.  
  170. struct TDrawCan
  171. {
  172.     TDrawCan *Next;
  173.     double x;
  174.     double y;
  175.     Graphics::TColor color;
  176.     int tag;
  177.     Byte lwid;
  178.     Byte ItemClass;
  179.     ItemType Element;
  180.     union
  181.     {
  182.         Byte mark;
  183.         struct  foo   // this foo is inserted as a bug fix - SDL May97
  184.         {
  185.             System::SmallStringBase<15>  txt;
  186.             int size;
  187.             
  188.         };
  189.         struct 
  190.         {
  191.             double x3;
  192.             double y3;
  193.             Graphics::TColor fillcol4;
  194.             int depth;
  195.             int angle;
  196.             
  197.         };
  198.         struct 
  199.         {
  200.             double ha;
  201.             double hv;
  202.             Graphics::TColor fillcol3;
  203.             
  204.         };
  205.         struct 
  206.         {
  207.             double x4;
  208.             double y4;
  209.             Graphics::TColor fillcol2;
  210.             TRFrameStyle framest;
  211.             Graphics::TColor shadowcol;
  212.             Graphics::TColor hilightcol;
  213.             
  214.         };
  215.         struct 
  216.         {
  217.             double x2;
  218.             double y2;
  219.             Graphics::TColor fillcol1;
  220.             
  221.         };
  222.         
  223.     };
  224. } ;
  225.  
  226. enum FigType { ftNoFigs, ftNum, ftTime, ftNoScales, ftDateTime, ftUserText };
  227.  
  228. enum GridStyleType { gsNone, gsPoints, gsVertLines, gsHorizLines, gsLines, gsHorizDotLines, gsVertDotLines, 
  229.     gsDotLines };
  230.  
  231. enum TShadowStyle { ssFlying, ssBox };
  232.  
  233. enum TTextBkg { tbClear, tbSolid };
  234.  
  235. typedef SmallString<50>  LabelStr;
  236.  
  237. typedef SmallString<15>  InscriptStr;
  238.  
  239. enum ZoomStateType { zsNormal, zsDrawWin };
  240.  
  241. enum MouseBoxStateType { msNormal, msFirstCorner, msRectDraw, msFinished };
  242.  
  243. enum MouseActMode { maNone, maPan, maZoomWind, maZoomWindPos, maZoomDrag };
  244.  
  245. typedef void __fastcall (__closure *TMouseMoveInChartEvent)(System::TObject* Sender, bool InChart, Classes::TShiftState 
  246.     Shift, double rMousePosX, double rMousePosY);
  247.  
  248. typedef void __fastcall (__closure *TZoomPanEvent)(System::TObject* Sender);
  249.  
  250. class DELPHICLASS TRChart;
  251. class PASCALIMPLEMENTATION TRChart : public Controls::TGraphicControl 
  252. {
  253.     typedef Controls::TGraphicControl inherited;
  254.     
  255. private:
  256.     bool LButtonWasDown;
  257.     int MouseAnchorScrX;
  258.     int MouseAnchorScrY;
  259.     double MouseAnchorRcLoX;
  260.     double MouseAnchorRcLoY;
  261.     double MouseAnchorRcHiX;
  262.     double MouseAnchorRcHiY;
  263.     ZoomStateType FZoomState;
  264.     MouseBoxStateType MouseBoxState;
  265.     int LastMouseX;
  266.     int LastMouseY;
  267.     int MouseBoxX1;
  268.     int MouseBoxX2;
  269.     int MouseBoxY1;
  270.     int MouseBoxY2;
  271.     int WindAnchorX;
  272.     int WindAnchorY;
  273.     int WindOldCornerX;
  274.     int WindOldCornerY;
  275.     int FXTickPosCnt;
  276.     int FYTickPosCnt;
  277.     double FXScaleTickPos[50];
  278.     double FYScaleTickPos[50];
  279.     bool FItClassVisib[256];
  280.     TMouseMoveInChartEvent FOnMMvInChart;
  281.     TZoomPanEvent FOnZoomPan;
  282.     Graphics::TBitmap* AuxBmp;
  283.     Graphics::TBitmap* AuxCHBmp;
  284.     Graphics::TBitmap* GrafBmp;
  285.     Graphics::TBitmap* ChartBmp;
  286.     TBakGndImg* FBakGndFile;
  287.     int FDataTag;
  288.     GridStyleType RcGridStyle;
  289.     Graphics::TColor RcGridCol;
  290.     double RcGridDx;
  291.     double RcGridDy;
  292.     int RcLRim;
  293.     int RcRRim;
  294.     int RcTRim;
  295.     int RcBRim;
  296.     int Rc3DRim;
  297.     TShadowStyle RcShadowStyle;
  298.     Graphics::TColor RcShadowColor;
  299.     Graphics::TColor RcShadowBakCol;
  300.     bool RcShortTicksX;
  301.     bool RcShortTicksY;
  302.     bool RcXLog;
  303.     bool RcYLog;
  304.     MouseActMode RcMouseAction;
  305.     TDrawCan *RcFrstCan;
  306.     TDrawCan *RcLastCan;
  307.     TDrawCan *RcLastCanOnShow;
  308.     Graphics::TColor RcDataCol;
  309.     Graphics::TColor RcScaleCol;
  310.     Graphics::TColor RcFillCol;
  311.     Graphics::TColor RcChartCol;
  312.     Graphics::TColor RcWindCol;
  313.     Byte RcLineWid;
  314.     System::AnsiString TitStr;
  315.     InscriptStr RcScaleInscrX;
  316.     InscriptStr RcScaleInscrY;
  317.     double RcBndLoX;
  318.     double RcBndLoY;
  319.     double RcBndHiX;
  320.     double RcBndHiY;
  321.     Byte RcClassDefault;
  322.     int RcDecPlcX;
  323.     int RcDecPlcY;
  324.     double Cpkx;
  325.     double Cpdx;
  326.     double Cpky;
  327.     double Cpdy;
  328.     LabelStr RcXUnits;
  329.     LabelStr RcYUnits;
  330.     int RcXNtick;
  331.     int RcYNtick;
  332.     FigType RcXLabelType;
  333.     FigType RcYLabelType;
  334.     System::AnsiString FUserTickTextX;
  335.     System::AnsiString FUserTickTextY;
  336.     double FMousePosX;
  337.     double FMousePosY;
  338.     TDTLabel* FDTXFormat;
  339.     TDTLabel* FDTYFormat;
  340.     bool FMCurFixed;
  341.     double FCrossHPos[4][2];
  342.     Graphics::TColor FCrossHColor[4];
  343.     TCrossHMode FCrossHMode[4];
  344.     TPenStyle FCrossHLineType[4];
  345.     int FCrossHLineWid[4];
  346.     bool FAutoRedraw;
  347.     int FNumPPa;
  348.     Graphics::TFontStyles FTextFontStyle;
  349.     TTextBkg FTextBkStyle;
  350.     Graphics::TColor FTextBkColor;
  351.     TAlignment FTextAlignment;
  352.     bool FIsometric;
  353.     double FZoomStack[8][4];
  354.     int FZStackPoi;
  355.     double FZoomRange[4];
  356.     virtual void __fastcall AdjustScaling(void);
  357.     System::AnsiString __fastcall AddScaleInscription(System::AnsiString Instring,  InscriptStr &Inscr)
  358.         ;
  359.     void __fastcall ConstructChartBmp(Graphics::TCanvas* cv);
  360.     void __fastcall ConstructDataBmp(Graphics::TCanvas* cv, int PosX, int PosY, bool BlkWhite, PDrawCan 
  361.         FirstItem);
  362.     void __fastcall DrawCrossHairs(int xPos, int yPos, Graphics::TBitmap* SrcBmp);
  363.     System::AnsiString __fastcall ExtractUserText(System::AnsiString TickText, int ix);
  364.     void __fastcall ForceRange(double xLo, double yLo, double xHi, double yHi, bool EnterToZoomStack, bool 
  365.         ConfineRange);
  366.     ItemType __fastcall GetTypeOfFirstItem(void);
  367.     ItemType __fastcall GetTypeOfLastItem(void);
  368.     PDrawCan __fastcall GetFirstItemLL(void);
  369.     bool __fastcall GetClassVisib(Byte cnum);
  370.     double __fastcall GetCHPosX(int chnum);
  371.     double __fastcall GetCHPosY(int chnum);
  372.     void __fastcall InitGraf(Graphics::TCanvas* cv, int PosX, int PosY);
  373.     void __fastcall SetClassVisib(Byte cnum, bool value);
  374.     void __fastcall SetCHPosX(int chnum, double value);
  375.     void __fastcall SetCHPosY(int chnum, double value);
  376.     void __fastcall SetLRim(int r);
  377.     void __fastcall SetRRim(int r);
  378.     void __fastcall SetTRim(int r);
  379.     void __fastcall SetBRim(int r);
  380.     void __fastcall SetRc3DRim(int r);
  381.     void __fastcall SetDataTag(int tag);
  382.     void __fastcall SetShadowStyle(TShadowStyle ss);
  383.     void __fastcall SetShadowColor(Graphics::TColor c);
  384.     void __fastcall SetShadowBakColor(Graphics::TColor c);
  385.     void __fastcall SetClassDefault(Byte DefClass);
  386.     void __fastcall SetDecPlcX(int d);
  387.     void __fastcall SetDecPlcY(int d);
  388.     void __fastcall SetGridStyle(GridStyleType gs);
  389.     void __fastcall SetGridDx(double dx);
  390.     void __fastcall SetGridDy(double dy);
  391.     void __fastcall SetDataCol(Graphics::TColor c);
  392.     void __fastcall SetScaleCol(Graphics::TColor c);
  393.     void __fastcall SetFillCol(Graphics::TColor c);
  394.     void __fastcall SetChartCol(Graphics::TColor c);
  395.     void __fastcall SetWindCol(Graphics::TColor c);
  396.     void __fastcall SetGridCol(Graphics::TColor c);
  397.     void __fastcall SetTitStr(System::AnsiString hstr);
  398.     void __fastcall SetLineWid(Byte w);
  399.     void __fastcall SetXUnits( LabelStr &hstr);
  400.     void __fastcall SetYUnits( LabelStr &hstr);
  401.     void __fastcall SetShortTicksX(bool st);
  402.     void __fastcall SetShortTicksY(bool st);
  403.     void __fastcall SetRcXLog(bool XLog);
  404.     void __fastcall SetRcYLog(bool YLog);
  405.     void __fastcall SetBndLoX(double r);
  406.     void __fastcall SetBndHiX(double r);
  407.     void __fastcall SetBndLoY(double r);
  408.     void __fastcall SetBndHiY(double r);
  409.     void __fastcall SetDTXFormat(TDTLabel* x);
  410.     void __fastcall SetDTYFormat(TDTLabel* x);
  411.     MESSAGE void __fastcall WMMouseMoveInChart(Messages::TWMMouse &Message);
  412.     void __fastcall SetXNTick(int d);
  413.     void __fastcall SetYNTick(int d);
  414.     void __fastcall SetTextFontStyle(Graphics::TFontStyles tfs);
  415.     void __fastcall SetTextBkStyle(TTextBkg bs);
  416.     void __fastcall SetTextBkColor(Graphics::TColor bc);
  417.     void __fastcall SetTextAlignment(Classes::TAlignment al);
  418.     void __fastcall SetXLabType(FigType x);
  419.     void __fastcall SetYLabType(FigType x);
  420.     void __fastcall SetUserTickTextX(System::AnsiString txt);
  421.     void __fastcall SetUserTickTextY(System::AnsiString txt);
  422.     void __fastcall SetScaleInscrX( InscriptStr &x);
  423.     void __fastcall SetScaleInscrY( InscriptStr &x);
  424.     void __fastcall SetBakGndFile(TBakGndImg* x);
  425.     void __fastcall ZoomStateOnStack(void);
  426.     void __fastcall ShowYaxInternal(Graphics::TCanvas* cv, int XPos, double LowRange, double HighRange, 
  427.         int NTicks, int DecPlaces, FigType LabelType, bool LogAx,  InscriptStr &ScaleInscript, System::AnsiString 
  428.         UserTicktext,  LabelStr &UnitLabel, bool StoreTickPos);
  429.     
  430. protected:
  431.     virtual void __fastcall Paint(void);
  432.     DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  433.     void __fastcall MouseMoveInChart(bool InChart, Classes::TShiftState Shift, double RMousePosX, double 
  434.         RMousePosY);
  435.     DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  436.         int Y);
  437.     DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  438.         Y);
  439.     void __fastcall StyleChanged(System::TObject* Sender);
  440.     void __fastcall DoZoomPanEvent(void);
  441.     
  442. public:
  443.     __fastcall virtual TRChart(Classes::TComponent* AOwner);
  444.     __fastcall virtual ~TRChart(void);
  445.     void __fastcall M2R(int xin, int yin, double &xout, double &yout);
  446.     void __fastcall R2M(double xin, double yin, int &xout, int &yout);
  447.     void __fastcall ClearGraf(void);
  448.     void __fastcall ConfineZoomRange(double xLo, double yLo, double xHi, double yHi);
  449.     void __fastcall ShowGraf(void);
  450.     void __fastcall ShowGrafNewOnly(void);
  451.     virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
  452.     bool __fastcall MouseBox(double &xLo, double &yLo, double &xHi, double &yHi);
  453.     void __fastcall Bar3D(double llx, double lly, double urx, double ury, int Depth, int Angle);
  454.     void __fastcall CopyToBMP(System::AnsiString FName);
  455.     void __fastcall CopyToClipboard(void);
  456.     void __fastcall CopyToOpenPrinter(int &x, int &y, double ScaleF, bool BlkWhite);
  457.     void __fastcall CopyToOpenPrinterHiRes(int &x, int &y, double ScaleF, bool BlkWhite);
  458.     __property double CrossHairPosX[int chnum] = {read=GetCHPosX, write=SetCHPosX};
  459.     __property double CrossHairPosY[int chnum] = {read=GetCHPosY, write=SetCHPosY};
  460.     void __fastcall CrossHairSetPos(int chnum, double x, double y);
  461.     void __fastcall CrossHairSetup(int ch, Graphics::TColor chColor, TCrossHMode Mode, Graphics::TPenStyle 
  462.         LineType, int LineWidth);
  463.     __property int DataTag = {read=FDataTag, write=SetDataTag, nodefault};
  464.     void __fastcall DrawTo(double x, double y);
  465.     void __fastcall Ellipse(double cx, double cy, double HorizAxLeng, double VertAxLeng);
  466.     void __fastcall Line(double x1, double y1, double x2, double y2);
  467.     void __fastcall MoveTo(double x, double y);
  468.     void __fastcall MarkAt(double x, double y, Byte mk);
  469.     void __fastcall PrintIt(double ScaleF, bool BlkWhite);
  470.     void __fastcall PrintItHiRes(double ScaleF, bool BlkWhite);
  471.     void __fastcall Rectangle(double x1, double y1, double x2, double y2);
  472.     void __fastcall RectFrame(double x1, double y1, double x2, double y2, TRFrameStyle FrameStyle, Graphics::TColor 
  473.         ShadowColor, Graphics::TColor HiLightColor);
  474.     void __fastcall SaveLinkedListASC(System::AnsiString FName);
  475.     void __fastcall SaveLinkedList(System::AnsiString FName);
  476.     void __fastcall LoadLinkedList(System::AnsiString FName, bool AppendIt);
  477.     void __fastcall SetRange(double xLo, double yLo, double xHi, double yHi);
  478.     void __fastcall AutoRange(double rim);
  479.     HIDESBASE void __fastcall Text(double x, double y, int size, System::AnsiString txt);
  480.     void __fastcall RemoveLastItem(void);
  481.     void __fastcall RemoveFirstItem(void);
  482.     void __fastcall RemoveItem(PDrawCan Item);
  483.     void __fastcall FindMinMax(double RangeLoX, double RangeLoY, double RangeHiX, double RangeHiY, double 
  484.         &MinX, double &MinY, double &MaxX, double &MaxY);
  485.     PDrawCan __fastcall FindNearestItemReal(double mx, double my, ItemType ItemID, Byte ClassNumber, double 
  486.         &Dist);
  487.     PDrawCan __fastcall FindNearestItemScreen(double mx, double my, ItemType ItemID, Byte ClassNumber, 
  488.         double &Dist);
  489.     __property PDrawCan FirstItemOfLinkedList = {read=GetFirstItemLL};
  490.     TDrawCan __fastcall GetItemParams(PDrawCan Item);
  491.     void __fastcall SetItemParams(PDrawCan Item, const TDrawCan &ItParams);
  492.     void __fastcall ScaleItem(PDrawCan Item, double kx, double dx, double ky, double dy);
  493.     int __fastcall MarkItemsInWindow(double xLo, double YLo, double XHi, double YHi, ItemType ItemID, Byte 
  494.         ClassNumber);
  495.     void __fastcall MarkAllItems(ItemType ItemID, Byte ClassNumber);
  496.     __property bool ClassVisible[Byte cnum] = {read=GetClassVisib, write=SetClassVisib};
  497.     void __fastcall ScaleAllItems(double kx, double dx, double ky, double dy);
  498.     void __fastcall ScaleSelectedItems(double kx, double dx, double ky, double dy, Byte ClassNumber);
  499.     __property ItemType TypeOfLastItem = {read=GetTypeOfLastItem, nodefault};
  500.     __property ItemType TypeOfFirstItem = {read=GetTypeOfFirstItem, nodefault};
  501.     void __fastcall NewColorOfClassItems(Graphics::TColor Newcol, Byte ClassNumber);
  502.     __property ZoomStateType ZoomState = {read=FZoomState, nodefault};
  503.     void __fastcall ZoomHistory(int Index);
  504.     
  505. __published:
  506.     __property Font ;
  507.     __property Align ;
  508.     __property Visible ;
  509.     __property ShowHint ;
  510.     __property PopupMenu ;
  511.     __property bool AutoRedraw = {read=FAutoRedraw, write=FAutoRedraw, nodefault};
  512.     __property int LRim = {read=RcLRim, write=SetLRim, default=50};
  513.     __property int RRim = {read=RcRRim, write=SetRRim, default=10};
  514.     __property int TRim = {read=RcTRim, write=SetTRim, default=16};
  515.     __property int BRim = {read=RcBRim, write=SetBRim, default=32};
  516.     __property TBakGndImg* BackGroundImg = {read=FBakGndFile, write=SetBakGndFile};
  517.     __property Byte ClassDefault = {read=RcClassDefault, write=SetClassDefault, nodefault};
  518.     __property int DecPlaceX = {read=RcDecPlcX, write=SetDecPlcX, default=1};
  519.     __property int DecPlaceY = {read=RcDecPlcY, write=SetDecPlcY, default=1};
  520.     __property GridStyleType GridStyle = {read=RcGridStyle, write=SetGridStyle, nodefault};
  521.     __property double GridDx = {read=RcGridDx, write=SetGridDx};
  522.     __property double GridDy = {read=RcGridDy, write=SetGridDy};
  523.     __property double RangeLoX = {read=RcBndLoX, write=SetBndLoX};
  524.     __property double RangeHiX = {read=RcBndHiX, write=SetBndHiX};
  525.     __property double RangeLoY = {read=RcBndLoY, write=SetBndLoY};
  526.     __property double RangeHiY = {read=RcBndHiY, write=SetBndHiY};
  527.     __property Graphics::TColor DataColor = {read=RcDataCol, write=SetDataCol, default=0};
  528.     __property Graphics::TColor ScaleColor = {read=RcScaleCol, write=SetScaleCol, default=0};
  529.     __property Graphics::TColor FillColor = {read=RcFillCol, write=SetFillCol, default=12632256};
  530.     __property Graphics::TColor ChartColor = {read=RcChartCol, write=SetChartCol, default=16777215};
  531.     __property Graphics::TColor WindColor = {read=RcWindCol, write=SetWindCol, default=-2147483633};
  532.     __property Graphics::TColor GridColor = {read=RcGridCol, write=SetGridCol, default=0};
  533.     __property Byte LineWidth = {read=RcLineWid, write=SetLineWid, default=1};
  534.     __property System::AnsiString Caption = {read=TitStr, write=SetTitStr};
  535.     __property LabelStr IdAbscissa = {read=RcXUnits, write=SetXUnits};
  536.     __property LabelStr IdOrdinate = {read=RcYUnits, write=SetYUnits};
  537.     __property InscriptStr ScaleInscriptX = {read=RcScaleInscrX, write=SetScaleInscrX};
  538.     __property InscriptStr ScaleInscriptY = {read=RcScaleInscrY, write=SetScaleInscrY};
  539.     __property bool LogScaleX = {read=RcXLog, write=SetRcXLog, nodefault};
  540.     __property bool LogScaleY = {read=RcYLog, write=SetRcYLog, nodefault};
  541.     __property int MinTickX = {read=RcXNtick, write=SetXNTick, default=3};
  542.     __property int MinTickY = {read=RcYNtick, write=SetYNTick, default=3};
  543.     __property double MousePosX = {read=FMousePosX};
  544.     __property double MousePosY = {read=FMousePosY};
  545.     __property MouseActMode MouseAction = {read=RcMouseAction, write=RcMouseAction, nodefault};
  546.     __property bool MouseCursorFixed = {read=FMCurFixed, write=FMCurFixed, nodefault};
  547.     __property int ShadowWidth = {read=Rc3DRim, write=SetRc3DRim, default=0};
  548.     __property TShadowStyle ShadowStyle = {read=RcShadowStyle, write=SetShadowStyle, nodefault};
  549.     __property Graphics::TColor ShadowColor = {read=RcShadowColor, write=SetShadowColor, nodefault};
  550.     __property Graphics::TColor ShadowBakColor = {read=RcShadowBakCol, write=SetShadowBakColor, nodefault
  551.         };
  552.     __property bool ShortTicksX = {read=RcShortTicksX, write=SetShortTicksX, nodefault};
  553.     __property bool ShortTicksY = {read=RcShortTicksY, write=SetShortTicksY, nodefault};
  554.     __property Graphics::TFontStyles TextFontStyle = {read=FTextFontStyle, write=SetTextFontStyle, nodefault
  555.         };
  556.     __property TTextBkg TextBkStyle = {read=FTextBkStyle, write=SetTextBkStyle, nodefault};
  557.     __property Graphics::TColor TextBkColor = {read=FTextBkColor, write=SetTextBkColor, nodefault};
  558.     __property Classes::TAlignment TextAlignment = {read=FTextAlignment, write=SetTextAlignment, nodefault
  559.         };
  560.     __property FigType XLabelType = {read=RcXLabelType, write=SetXLabType, nodefault};
  561.     __property FigType YLabelType = {read=RcYLabelType, write=SetYLabType, nodefault};
  562.     __property System::AnsiString UserTickTextX = {read=FUserTickTextX, write=SetUserTickTextX};
  563.     __property System::AnsiString UserTickTextY = {read=FUserTickTextY, write=SetUserTickTextY};
  564.     __property TDTLabel* DTXFormat = {read=FDTXFormat, write=SetDTXFormat};
  565.     __property TDTLabel* DTYFormat = {read=FDTYFormat, write=SetDTYFormat};
  566.     __property OnClick ;
  567.     __property OnDblClick ;
  568.     __property OnMouseMove ;
  569.     __property OnMouseDown ;
  570.     __property OnMouseUp ;
  571.     __property TMouseMoveInChartEvent OnMouseMoveInChart = {read=FOnMMvInChart, write=FOnMMvInChart};
  572.     __property TZoomPanEvent OnZoomPan = {read=FOnZoomPan, write=FOnZoomPan};
  573. };
  574.  
  575. //-- var, const, procedure ---------------------------------------------------
  576. #define defLRim (Byte)(50)
  577. #define defRRim (Byte)(10)
  578. #define defTRim (Byte)(16)
  579. #define defBRim (Byte)(32)
  580. #define defShadowWidth (Byte)(0)
  581. #define defDataCol (int)(0)
  582. #define defScaleCol (int)(0)
  583. #define defFillCol (int)(12632256)
  584. #define defChartCol (int)(16777215)
  585. #define defWindCol (int)(-2147483633)
  586. #define defGridCol (int)(0)
  587. #define defLineWid (Byte)(1)
  588. #define defRCHeight (Byte)(160)
  589. #define defRCWidth (Byte)(240)
  590. extern PACKAGE double defBndLoX;
  591. extern PACKAGE double defBndLoY;
  592. extern PACKAGE double defBndHiX;
  593. extern PACKAGE double defBndHiY;
  594. #define defDecPlcX (Byte)(1)
  595. #define defDecPlcY (Byte)(1)
  596. #define defNXTick (Byte)(3)
  597. #define defNYTick (Byte)(3)
  598. #define MaxRCMarks (Byte)(25)
  599. #define MinRCWidth (Byte)(50)
  600. #define MinRCHeight (Byte)(10)
  601. #define MaxTickPos (Byte)(50)
  602. #define MaxZoomStack (Byte)(8)
  603. extern PACKAGE Extended RcMaxDouble;
  604. #define MaxCrossH (Byte)(4)
  605. extern PACKAGE TrcBakBMPEditor* rcBakBMPEditor;
  606. extern PACKAGE void __fastcall Register(void);
  607.  
  608. }    /* namespace Rchart */
  609. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  610. using namespace Rchart;
  611. #endif
  612. //-- end unit ----------------------------------------------------------------
  613. #endif    // RChart
  614.