Open Ephys GUI
 All Classes Functions Variables Pages
StereotrodePlot.h
1 #ifndef STEROETRODE_PLOT_H_
2 #define STEROETRODE_PLOT_H_
3 
4 #if defined(__linux__)
5  #include <GL/glut.h>
6 #else
7  #include <GLUT/glut.h>
8 #endif
9 #include <list>
10 #include <math.h>
11 
12 #include "WaveAxes.h"
13 #include "ProjectionAxes.h"
14 #include "BaseUIElement.h"
15 #include "PlotUtils.h"
16 #include "SimpleKeyEvent.h"
17 
18 
20 
21  bool enabled;
22 
23  bool limitsChanged;
24  double limits[2][2];
25 
26  WaveAxes wAxes[2];
27  ProjectionAxes pAxes;
28 
29 
30 
31  // void zoomAxes(int n, bool xdim, int zoomval);
32  // void zoomProjection (int n, bool xdim, int zoomval);
33  // void zoomWaveform (int n, bool xdim, int zoomval);
34 
35  // void panAxes(int n, bool xdim, int panval);
36  // void panProjection (int n, bool xdim, int panval);
37  // void panWaveform(int n, bool xdim, int panval);
38 
39  void initLimits();
40  void setLimitsOnAxes();
41 
42 
43 public:
45  StereotrodePlot(int x, int y,int w,int h);
46  ~StereotrodePlot();
47 
48  void initAxes();
49  void redraw();
50 
51  void setEnabled(bool enabled);
52  bool getEnabled();
53  void setPosition(int,int,double,double);
54 
55  void getPreferredDimensions(double*, double*);
56 
57  int getNumberOfAxes();
58 
59  void mouseDown(int x, int y);
60 
61  void mouseDragX(int dx, bool shift, bool ctr);
62  void mouseDragY(int dy, bool shift, bool ctr);
63 
64  bool processKeyEvent(SimpleKeyEvent k);
65 
66  void processSpikeObject(SpikeObject s);
67 
68  void clear();
69  void zoom(int, bool);
70  void pan(int, bool);
71 };
72 
73 
74 
75 #endif