00001
00002
00003 #ifndef task_pkmask_h
00004 #define task_pkmask_h
00005
00006
00007
00008 #include <xy.h>
00009
00010 #include "sxy_graph.h"
00011 #include "sxy_task.h"
00012
00013
00014
00015 class SXYGraph;
00016 class SXYChart;
00017 class SXYCurve;
00018
00019
00020
00021
00022 class SXYTaskPickMask : public SXYTask {
00023
00024 protected:
00025
00026 virtual int getNumConsideredMasks( SXYCurve* curve) = 0;
00027 virtual XYMask* getConsideredMask( SXYCurve* curve, int m) = 0;
00028
00029 public:
00030
00031 virtual SXYTaskReturn clickedAt( SXYGraph* graph, SXYChart* chart, SXYCurve* curve,
00032 XYMask* mask, int b, int x, int y, int sft, int ctr ) = 0;
00033
00034 SXYTaskReturn mouseClick(SXYGraph* graph, int b, int x, int y, int sft, int ctr);
00035 SXYTaskReturn mouseUnclick(SXYGraph* graph, int b, int x, int y, int sft, int ctr);
00036 SXYTaskReturn mouseMotion(SXYGraph* graph, int x, int y, int sft, int ctr);
00037
00038 SXYTaskReturn mouseEnter(SXYGraph* graph);
00039 SXYTaskReturn mouseLeave(SXYGraph* graph);
00040
00041 SXYTaskPickMask(void);
00042 virtual ~SXYTaskPickMask();
00043 };
00044
00045 #endif
00046