Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

DasherViewSquare.h

Go to the documentation of this file.
00001 // DasherViewSquare.h
00002 //
00004 //
00005 // Copyright (c) 2001-2002 David Ward
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 // An implementation of the DasherView class
00019 //
00020 // This class renders Dasher in the vanilla style,
00021 // but with horizontal and vertical mappings
00022 //
00023 // Horizontal mapping - linear and log
00024 // Vertical mapping - linear with different gradient
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         // the x and y non-linearities
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 /* #ifndef __DasherViewSquare_h__ */

Generated on Sat Nov 5 16:16:00 2005 for OPIE by  doxygen 1.4.2