Open Ephys GUI
 All Classes Functions Variables Pages
TetrodePlot.h
1 #ifndef TETRODE_PLOT_H_
2 #define TETRODE_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 
19 class TetrodePlot : public BaseUIElement{
20 
21 
22  bool enabled;
23 
24 
25  bool limitsChanged;
26  double limits[1][2];
27 
28  WaveAxes wAxes[4];
29  ProjectionAxes pAxes[6];
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 public:
43  TetrodePlot();
44  TetrodePlot(int x, int y,int w,int h);
45  ~TetrodePlot();
46 
47  void initAxes();
48  void redraw();
49 
50  void setEnabled(bool enabled);
51  bool getEnabled();
52 
53  void setPosition(int,int,double,double);
54  //void setPosition(int, int);
55  //void setDimensions(double,double);
56 
57  void getPreferredDimensions(double*, double*);
58 
59  int getNumberOfAxes();
60 
61  void mouseDown(int x, int y);
62 
63  void mouseDragX(int dx, bool shift, bool ctr);
64  void mouseDragY(int dy, bool shift, bool ctr);
65 
66  bool processKeyEvent(SimpleKeyEvent k);
67 
68  void processSpikeObject(SpikeObject s);
69 
70  void clear();
71  void zoom(int, bool);
72  void pan(int, bool);
73 };
74 
75 
76 
77 #endif