/******************************************************************************!
* \file x11scope.h
* \author Sebastien Beaugrand
* \sa http://beaugrand.chez.com/
* \copyright CeCILL 2.1 Free Software license
******************************************************************************/
#ifndef _X11_SCOPE_H_
#define _X11_SCOPE_H_
#include "x11/event.h"
namespace X11 {
class Display;
class Window;
class Scope : public Callback
{
public:
Scope();
~Scope();
void run(Callback * loopObj, int (Callback::* loopFunc)(const Event*));
void drawPoints(double time, double val1, double val2 = -88.0);
int keyPress(const Event* event);
private:
void drawMenu() const;
void drawGrid() const;
Display* mDisplay;
Window* mWindow;
Event* mEvent;
int mVal1Offset;
int mVal2Offset;
double mDivScaleX;
double mDivScaleY;
enum MENU_SELECT {
MENU_DIV_SCALE_X = 0,
MENU_DIV_SCALE_Y,
MENU_POS_V1,
MENU_POS_V2,
MENU_SIZE
};
int mMenuSelect;
};
} // namespace X11
#endif