summaryrefslogtreecommitdiff
path: root/inputmethods/dasher/DasherView.h
Side-by-side diff
Diffstat (limited to 'inputmethods/dasher/DasherView.h') (more/less context) (ignore whitespace changes)
-rw-r--r--inputmethods/dasher/DasherView.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/inputmethods/dasher/DasherView.h b/inputmethods/dasher/DasherView.h
index 81cc24e..6257c03 100644
--- a/inputmethods/dasher/DasherView.h
+++ b/inputmethods/dasher/DasherView.h
@@ -1,99 +1,99 @@
// DasherView.h
//
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 2001-2002 David Ward
//
/////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
// DasherView.h: interface for the DasherView class.
// Copyright 2002 David Ward
//////////////////////////////////////////////////////////////////////
#ifndef __DasherView_h_
#define __DasherView_h_
#include "MSVC_Unannoy.h"
#include "DasherScreen.h"
#include "DasherModel.h"
// CDasherView is an abstract view class
// The implentation must provide several functions - defined here as pure virtual functions
// See the CDasherViewSquare class for an example
namespace Dasher {class CDasherView;}
class Dasher::CDasherView
{
public:
CDasherView(CDasherScreen* DasherScreen, CDasherModel& DasherModel, Dasher::Opts::ScreenOrientations Orientation=Dasher::Opts::LeftToRight);
- ~CDasherView() {}
+ virtual ~CDasherView() {}
void ChangeOrientation(Dasher::Opts::ScreenOrientations Orientation);
// TODO Sort this out
void FlushAt(int mousex,int mousey);
// renders Dasher
inline void Render();
// translates the screen coordinates to Dasher coordinates and calls
// dashermodel.TapOnDisplay
virtual void TapOnDisplay(int mousex, int mousey, unsigned long Time)=0;
virtual void ChangeScreen(CDasherScreen* NewScreen)
{
m_Screen=NewScreen;
// DJW - removed floating point stuff
//XYScale = (double)m_Screen->GetHeight() / m_Screen->GetWidth();
}
virtual void DrawMouse(int mousex, int mousey)=0;
virtual void DrawKeyboard()=0;
// Return references to the model and the screen:
CDasherModel& DasherModel() {return m_DasherModel;}
CDasherScreen& Screen() {return *m_Screen;}
void Display() {m_Screen->Display();}
// Toggle advanced colour mode
void SetColourMode(bool colourmode) {ColourMode=colourmode;}
protected:
// Orientation of Dasher Screen
inline void MapScreen(int* DrawX, int* DrawY);
inline void UnMapScreen(int* DrawX, int* DrawY);
private:
CDasherScreen* m_Screen; // provides the graphics (text, lines, rectangles):
CDasherModel& m_DasherModel; // Model view represents
// Pure virtuals to implement
virtual void Crosshair(myint sx)=0; // Tells m_Screen to draw a crosshair - or other static decoration
virtual int RenderNode(const symbol Character, const int Color, Opts::ColorSchemes ColorScheme,
myint y1, myint y2, int& mostleft, bool& force, bool text)=0;
// Responsible for all the Render_node calls
int RecursiveRender(CDasherNode* Render, myint y1,myint y2,int mostleft, bool text);
// Displays some nodes inside one parent node. Used to group capital letters, accents, punctuation etc.
void RenderGroups(CDasherNode* Render, myint y1, myint y2, bool text);
// Orientation of Dasher Screen
Dasher::Opts::ScreenOrientations ScreenOrientation;
// Advanced colour mode
bool ColourMode;
// DJW - removed floating point stuff
//double XYScale;
};
#include "DasherView.inl"
#endif /* #ifndef __DasherView_h_ */