00001
00002
00003
00004
00005
00006 #ifndef __XYMASK_H
00007 #define __XYMASK_H
00008
00009 #include "xytext.h"
00010 #include "xyser.h"
00011 #include "xyobj.h"
00012
00013 class XYGraph;
00014
00015
00016
00017
00018 class XYMask : public XYObject
00019 {
00020 public:
00021
00022
00023
00024 enum InteriorStyle {
00025 solid,
00026 hatch,
00027 stipple,
00028 pattern
00029 };
00030
00031
00032
00033 enum MarkStyle {
00034 plus,
00035 star,
00036 circle,
00037 x,
00038 box,
00039 diamond,
00040 hollow_circle,
00041 hollow_box,
00042 hollow_diamond
00043 };
00044
00045
00046
00047 XYMask (
00048 XYText* name,
00049 XYSeries* series,
00050 long color,
00051 xybool visible = xytrue)
00052 : XYObject(0.0, 0.0, visible),
00053 _name(name),
00054 _series(series),
00055 _color(color),
00056 _ixmn(0),
00057 _iymn(0),
00058 _ixmx(0),
00059 _iymx(0) {};
00060
00061
00062 XYMask (
00063 XYSeries* series,
00064 long color,
00065 xybool visible = xytrue)
00066 : XYObject(0.0, 0.0, visible),
00067 _name(NULL),
00068 _series(series),
00069 _color(color),
00070 _ixmn(0),
00071 _iymn(0),
00072 _ixmx(0),
00073 _iymx(0) {};
00074
00075
00076
00077 virtual ~XYMask (void) {};
00078
00079
00080
00081 virtual void series (XYSeries* s);
00082
00083 virtual XYSeries* series (void) const;
00084
00085
00086 virtual void name (XYText* t);
00087
00088 virtual XYText* name (void) const;
00089
00090
00091 virtual void color (long c);
00092
00093 virtual long color (void) const;
00094
00095
00096
00097 virtual void setItemViewport (int xmin, int xmax, int ymin, int ymax);
00098
00099
00100 virtual void getItemViewport (int& xmin, int& xmax, int& ymin, int& ymax)
00101 const;
00102
00103
00104 virtual void insertAction (XYGraph *g);
00105
00106
00107 virtual void removeAction (XYGraph *);
00108
00109
00110
00111 virtual xybool pick (int px, int py) = 0;
00112
00113
00114 virtual xybool fence (int x0, int y0, int x1, int y1) = 0;
00115
00116
00117
00118 virtual void drawIcon (int xmin, int ymin, int xmax, int ymax) const = 0;
00119
00120 protected:
00121
00122 XYText* _name;
00123 XYSeries* _series;
00124 long _color;
00125 int _ixmn, _iymn,
00126 _ixmx, _iymx;
00127 };
00128
00129 #endif
00130