00001
00002
00003
00004 char *task_pkmask_cpp = "$Id: sxy_task_pkmask.cpp,v 1.1 2002/11/25 19:52:05 clinio Exp $";
00005
00006
00007
00008 #include <assert.h>
00009 #include <xy.h>
00010
00011 extern "C" {
00012 #include <iup.h>
00013 #include <iupgc.h>
00014 #include <cd.h>
00015 }
00016
00017 #include "sxy_chart.h"
00018 #include "sxy_graph.h"
00019 #include "sxy_task.h"
00020 #include "sxy_task_pkmask.h"
00021
00022
00023
00024 SXYTaskReturn SXYTaskPickMask::mouseClick(SXYGraph* graph, int b, int x, int y,
00025 int sft, int ctr) {
00026 int ncht = graph->getChartOfEvent(x,y);
00027 if ( ncht < 0 ) return CALLBACK_NOT_TREATED;
00028 SXYChart* chart = graph->getChart(ncht);
00029 int ncurves = chart->getNumCurves();
00030 for ( int c = 0; c < ncurves; c++ ) {
00031 SXYCurve* curve = chart->getCurve(c);
00032 int nmasks = getNumConsideredMasks(curve);
00033 for ( int m = 0; m < nmasks; m++ ) {
00034 XYMask* mask = getConsideredMask(curve,m);
00035 if ( mask->pick(x,y) ) {
00036 SXYTaskReturn answer = clickedAt( graph, chart, curve,
00037 mask, b, x, y, sft, ctr );
00038 if ( answer == CALLBACK_TREATED ) return answer;
00039 }
00040 }
00041 }
00042 return CALLBACK_NOT_TREATED;
00043 }
00044
00045
00046
00047 SXYTaskReturn SXYTaskPickMask::mouseUnclick(SXYGraph* graph, int b, int x, int y,
00048 int sft, int ctr) {
00049 return CALLBACK_NOT_TREATED;
00050 }
00051
00052
00053
00054 SXYTaskReturn SXYTaskPickMask::mouseMotion(SXYGraph* graph, int x, int y,
00055 int sft, int ctr) {
00056 return CALLBACK_NOT_TREATED;
00057 }
00058
00059
00060
00061 SXYTaskReturn SXYTaskPickMask::mouseEnter(SXYGraph* graph) {
00062 return CALLBACK_NOT_TREATED;
00063 }
00064
00065
00066
00067 SXYTaskReturn SXYTaskPickMask::mouseLeave(SXYGraph* graph) {
00068 return CALLBACK_NOT_TREATED;
00069 }
00070
00071
00072
00073 SXYTaskPickMask::SXYTaskPickMask(void) {
00074 }
00075
00076
00077
00078 SXYTaskPickMask::~SXYTaskPickMask() {
00079 }
00080