00001
00002
00003
00004 #ifndef __XYAREA_H
00005 #define __XYAREA_H
00006
00007 #include "xyobj.h"
00008 #include "xymath.h"
00009 #include "xyax.h"
00010 #include "xymk.h"
00011
00012 class XYGraph;
00013
00014
00015
00016
00017 class XYArea : public XYObject
00018 {
00019 public:
00020
00021
00022
00023 XYArea (
00024 const XYAxis* axis1,
00025 const XYAxis* axis2,
00026
00027 double begin1,
00028 double end1,
00029
00030 double begin2,
00031 double end2,
00032 xybool visible = xytrue);
00033
00034
00035 virtual ~XYArea (void) {};
00036
00037
00038
00039 virtual void axis1 (const XYAxis* ax);
00040
00041 virtual const XYAxis* axis1 (void) const;
00042
00043 virtual void axis2 (const XYAxis* ax);
00044
00045 virtual const XYAxis* axis2 (void) const;
00046
00047
00048
00049 virtual void begin1 (double bm);
00050
00051
00052 virtual double begin1 (void) const;
00053
00054
00055
00056 virtual void end1 (double em);
00057
00058
00059 virtual double end1 (void) const;
00060
00061
00062
00063 virtual void begin2 (double bm);
00064
00065
00066 virtual double begin2 (void) const;
00067
00068
00069
00070 virtual void end2 (double em);
00071
00072
00073 virtual double end2 (void) const;
00074
00075
00076 virtual void color (long c);
00077
00078 virtual long color (void) const;
00079
00080
00081 virtual void width (int w);
00082
00083 virtual int width (void) const;
00084
00085
00086 virtual void style (XYObject::LineStyle st);
00087
00088 virtual int style (void) const;
00089
00090
00091 char* text( void );
00092
00093 void text( char* txt );
00094
00095
00096 virtual void textColor (long tc);
00097
00098 virtual long textColor (void) const;
00099
00100
00101 void textSize (int ts);
00102
00103 int textSize (void) const;
00104
00105
00106 virtual void backgroundColor (long bc);
00107
00108 virtual long backgroundColor (void) const;
00109
00110
00111 virtual void forcedText (xybool flg);
00112
00113 virtual xybool forcedText (void) const;
00114
00115
00116 virtual void insertAction (XYGraph *g);
00117
00118
00119 virtual void removeAction (XYGraph *g);
00120
00121
00122
00123 virtual xybool pick (int px, int py) = 0;
00124
00125
00126 virtual xybool fence (int x0, int y0, int x1, int y1) = 0;
00127
00128
00129
00130 virtual void draw (void) = 0;
00131
00132 virtual void draw (int xmin, int ymin, int xmax, int ymax) const = 0;
00133
00134
00135
00136 virtual void boundingBox (int& bxmin, int& bymin,
00137 int& bxmax, int& bymax) const = 0;
00138
00139 protected:
00140
00141 xybool _forced_text;
00142 char* _text;
00143
00144 const XYAxis* _axis1;
00145 const XYAxis* _axis2;
00146
00147 double _begin1;
00148 double _end1;
00149 double _begin2;
00150 double _end2;
00151 long _color;
00152 long _backgroundColor;
00153 long _textColor;
00154 int _textSize;
00155 int _width;
00156 LineStyle _style;
00157 };
00158
00159 #endif
00160
00161