Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

sxy_task_pkmask.cpp

Go to the documentation of this file.
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 

SXY
Tecgraf / PUC-Rio - Computer Graphics Technology Group