00001
00002
00004
00005
00006
00008
00009 #ifndef __DasherViewSquare_h__
00010 #define __DasherViewSquare_h__
00011
00012 #include "MSVC_Unannoy.h"
00013 #include "DasherScreen.h"
00014 #include "DasherModel.h"
00015 #include "DasherView.h"
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 namespace Dasher {class CDasherViewSquare;}
00027 class Dasher::CDasherViewSquare : public Dasher::CDasherView
00028 {
00029 public:
00030 CDasherViewSquare(CDasherScreen* DasherScreen, CDasherModel& DasherModel, Dasher::Opts::ScreenOrientations Orientation=Dasher::Opts::LeftToRight);
00031 void TapOnDisplay(int mousex,int mousey, unsigned long Time);
00032
00033 void ChangeScreen(CDasherScreen* NewScreen);
00034 void DrawMouse(int mousex, int mousey);
00035 void DrawKeyboard();
00036 private:
00037
00038 inline const void screen2dasher(int *mousex, int *mousey);
00039 inline const int dasherx2screen(const myint sx);
00040 inline const int dashery2screen(myint sy);
00041
00042 int RenderNode(const symbol Character, const int Color, Opts::ColorSchemes ColorScheme,
00043 myint y1, myint y2, int& mostleft, bool& force, bool text);
00044
00045 void CheckForNewRoot();
00046 inline void Crosshair(myint sx);
00047 double m_dXmpa,m_dXmpb,m_dXmpc,m_dXmpd;
00048 myint m_Y1,m_Y2,m_Y3;
00049 myint s_Y1,s_Y2,s_Y3;
00050 int CanvasX,CanvasY,CanvasBorder;
00051 double xmap(double x);
00052 double ixmap(double x);
00053 };
00054
00055 #include "DasherViewSquare.inl"
00056
00057
00058 #endif