[dasher] Moved DelayedDraw from CDasherView to CDasherViewSquare



commit 9a2e0d403391f639f3148728762381d7e6429036
Author: Alan Lawrence <acl33 inf phy cam ac uk>
Date:   Mon Oct 26 11:13:56 2009 +0000

    Moved DelayedDraw from CDasherView to CDasherViewSquare
    
    Also moved DelayedDraw.h from View/ directory into DasherCore (where .cpp is!)
    
    Updated MacOS & iPhone project files and linux Makefile.am accordingly.

 Src/DasherCore/DasherView.cpp               |  123 -------------------------
 Src/DasherCore/DasherView.h                 |    9 --
 Src/DasherCore/DasherViewSquare.cpp         |  132 +++++++++++++++++++++++++--
 Src/DasherCore/DasherViewSquare.h           |    8 ++
 Src/DasherCore/DelayedDraw.cpp              |    2 +-
 Src/DasherCore/{View => }/DelayedDraw.h     |    2 +-
 Src/DasherCore/Makefile.am                  |    2 +-
 Src/MacOSX/Dasher.xcodeproj/project.pbxproj |   16 +---
 Src/iPhone/Dasher.xcodeproj/project.pbxproj |   12 +--
 9 files changed, 140 insertions(+), 166 deletions(-)
---
diff --git a/Src/DasherCore/DasherView.cpp b/Src/DasherCore/DasherView.cpp
index 41ee016..654b840 100644
--- a/Src/DasherCore/DasherView.cpp
+++ b/Src/DasherCore/DasherView.cpp
@@ -188,129 +188,6 @@ void CDasherView::DasherDrawCentredRectangle(myint iDasherX, myint iDasherY, scr
   Screen()->DrawRectangle(iScreenX - iSize, iScreenY - iSize, iScreenX + iSize, iScreenY + iSize, Color, -1, ColorScheme, bDrawOutline, true, 1);
 }
 
-/// Draw text specified in Dasher co-ordinates. The position is
-/// specified as two co-ordinates, intended to the be the corners of
-/// the leading edge of the containing box.
-
-void CDasherView::DasherDrawText(myint iAnchorX1, myint iAnchorY1, myint iAnchorX2, myint iAnchorY2, const std::string &sDisplayText, int &mostleft, bool bShove) {
-
-  // Don't draw text which will overlap with text in an ancestor.
-
-  if(iAnchorX1 > mostleft)
-    iAnchorX1 = mostleft;
-
-  if(iAnchorX2 > mostleft)
-    iAnchorX2 = mostleft;
-
-  myint iDasherMinX;
-  myint iDasherMinY;
-  myint iDasherMaxX;
-  myint iDasherMaxY;
-
-  VisibleRegion(iDasherMinX, iDasherMinY, iDasherMaxX, iDasherMaxY);
-
-  iAnchorY1 = std::min( iDasherMaxY, std::max( iDasherMinY, iAnchorY1 ) );
-  iAnchorY2 = std::min( iDasherMaxY, std::max( iDasherMinY, iAnchorY2 ) );
-
-  screenint iScreenAnchorX1;
-  screenint iScreenAnchorY1;
-  screenint iScreenAnchorX2;
-  screenint iScreenAnchorY2;
-
-  // FIXME - Truncate here before converting - otherwise we risk integer overflow in screen coordinates
-
-  Dasher2Screen(iAnchorX1, iAnchorY1, iScreenAnchorX1, iScreenAnchorY1);
-  Dasher2Screen(iAnchorX2, iAnchorY2, iScreenAnchorX2, iScreenAnchorY2);
-
-  // Truncate the ends of the anchor line to be on the screen - this
-  // prevents us from loosing characters off the top and bottom of the
-  // screen
-
-  // TruncateToScreen(iScreenAnchorX1, iScreenAnchorY1);
-  // TruncateToScreen(iScreenAnchorX2, iScreenAnchorY2);
-
-  // Actual anchor point is the midpoint of the anchor line
-
-  screenint iScreenAnchorX((iScreenAnchorX1 + iScreenAnchorX2) / 2);
-  screenint iScreenAnchorY((iScreenAnchorY1 + iScreenAnchorY2) / 2);
-
-  // Compute font size based on position
-  int Size = GetLongParameter( LP_DASHER_FONTSIZE );
-
-  // FIXME - this could be much more elegant, and probably needs a
-  // rethink anyway - behvaiour here is too dependent on screen size
-
-  screenint iLeftTimesFontSize = ((myint)GetLongParameter(LP_MAX_Y) - (iAnchorX1 + iAnchorX2)/ 2 )*Size;
-  if(iLeftTimesFontSize < (myint)GetLongParameter(LP_MAX_Y) * 19/ 20)
-    Size *= 20;
-  else if(iLeftTimesFontSize < (myint)GetLongParameter(LP_MAX_Y) * 159 / 160)
-    Size *= 14;
-  else
-    Size *= 11;
-  
-
-  screenint TextWidth, TextHeight;
-
-  Screen()->TextSize(sDisplayText, &TextWidth, &TextHeight, Size);
-
-  // Poistion of text box relative to anchor depends on orientation
-
-  screenint newleft2 = 0;
-  screenint newtop2 = 0;
-  screenint newright2 = 0;
-  screenint newbottom2 = 0;
-
-  switch (Dasher::Opts::ScreenOrientations(GetLongParameter(LP_REAL_ORIENTATION))) {
-  case (Dasher::Opts::LeftToRight):
-    newleft2 = iScreenAnchorX;
-    newtop2 = iScreenAnchorY - TextHeight / 2;
-    newright2 = iScreenAnchorX + TextWidth;
-    newbottom2 = iScreenAnchorY + TextHeight / 2;
-    break;
-  case (Dasher::Opts::RightToLeft):
-    newleft2 = iScreenAnchorX - TextWidth;
-    newtop2 = iScreenAnchorY - TextHeight / 2;
-    newright2 = iScreenAnchorX;
-    newbottom2 = iScreenAnchorY + TextHeight / 2;
-    break;
-  case (Dasher::Opts::TopToBottom):
-    newleft2 = iScreenAnchorX - TextWidth / 2;
-    newtop2 = iScreenAnchorY;
-    newright2 = iScreenAnchorX + TextWidth / 2;
-    newbottom2 = iScreenAnchorY + TextHeight;
-    break;
-  case (Dasher::Opts::BottomToTop):
-    newleft2 = iScreenAnchorX - TextWidth / 2;
-    newtop2 = iScreenAnchorY - TextHeight;
-    newright2 = iScreenAnchorX + TextWidth / 2;
-    newbottom2 = iScreenAnchorY;
-    break;
-  default:
-    break;
-  }
-
-  // Update the value of mostleft to take into account the new text
-
-  if(bShove) {
-    myint iDasherNewLeft;
-    myint iDasherNewTop;
-    myint iDasherNewRight;
-    myint iDasherNewBottom;
-    
-    Screen2Dasher(newleft2, newtop2, iDasherNewLeft, iDasherNewTop);
-    Screen2Dasher(newright2, newbottom2, iDasherNewRight, iDasherNewBottom);
-    
-    mostleft = std::min(iDasherNewRight, iDasherNewLeft);
-  }
-
-  // Actually draw the text. We use DelayDrawText as the text should
-  // be overlayed once all of the boxes have been drawn.
-
-  m_pDelayDraw->DelayDrawText(sDisplayText, newleft2, newtop2, Size);
-}
-
-
-
 void CDasherView::DrawText(const std::string & str, myint x, myint y, int Size) {
   screenint X, Y;
   Dasher2Screen(x, y, X, Y);
diff --git a/Src/DasherCore/DasherView.h b/Src/DasherCore/DasherView.h
index a421bc8..f0a7065 100644
--- a/Src/DasherCore/DasherView.h
+++ b/Src/DasherCore/DasherView.h
@@ -16,7 +16,6 @@ namespace Dasher {
 
 #include "DasherTypes.h"
 #include "DasherComponent.h"
-#include "View/DelayedDraw.h"
 #include "ExpansionPolicy.h"
 
 /// \defgroup View Visualisation of the model
@@ -165,12 +164,6 @@ public:
 
   void DasherDrawCentredRectangle(myint iDasherX, myint iDasherY, screenint iSize, const int Color, Opts::ColorSchemes ColorScheme, bool bDrawOutline);
 
-  ///
-  /// Draw text specified in Dasher co-ordinates
-  ///
-
-  void DasherDrawText(myint iAnchorX1, myint iAnchorY1, myint iAnchorX2, myint iAnchorY2, const std::string & sDisplayText, int &mostleft, bool bShove);
-
   void DrawText(const std::string & str, myint x, myint y, int Size);
   /// Request the Screen to copy its buffer to the Display
   /// \todo Shouldn't be public?
@@ -184,8 +177,6 @@ protected:
 /*   inline void UnMapScreen(screenint * DrawX, screenint * DrawY); */
   bool m_bVisibleRegionValid;
   
-  CDelayedDraw *m_pDelayDraw;
-
   int m_iRenderCount;
 
 private:
diff --git a/Src/DasherCore/DasherViewSquare.cpp b/Src/DasherCore/DasherViewSquare.cpp
index 2b157fc..c9f7a97 100644
--- a/Src/DasherCore/DasherViewSquare.cpp
+++ b/Src/DasherCore/DasherViewSquare.cpp
@@ -32,7 +32,6 @@
 #include "DasherTypes.h"
 #include "Event.h"
 #include "EventHandler.h"
-#include "View/DelayedDraw.h"
 
 #include <algorithm>
 #include <iostream>
@@ -67,7 +66,6 @@ CDasherViewSquare::CDasherViewSquare(CEventHandler *pEventHandler, CSettingsStor
   // Make sure that the auto calibration is set to zero berfore we start
   //  m_yAutoOffset = 0;
 
-  m_pDelayDraw = new CDelayedDraw();
   ChangeScreen(DasherScreen);
 
   // TODO - Make these parameters
@@ -83,12 +81,7 @@ CDasherViewSquare::CDasherViewSquare(CEventHandler *pEventHandler, CSettingsStor
   
 }
 
-CDasherViewSquare::~CDasherViewSquare() {
-  if (m_pDelayDraw != NULL) {
-    delete m_pDelayDraw;
-    m_pDelayDraw = NULL;
-  }
-}
+CDasherViewSquare::~CDasherViewSquare() {}
 
 void CDasherViewSquare::HandleEvent(Dasher::CEvent *pEvent) {
   // Let the parent class do its stuff
@@ -111,6 +104,127 @@ void CDasherViewSquare::HandleEvent(Dasher::CEvent *pEvent) {
   }
 }
 
+/// Draw text specified in Dasher co-ordinates. The position is
+/// specified as two co-ordinates, intended to the be the corners of
+/// the leading edge of the containing box.
+
+void CDasherViewSquare::DasherDrawText(myint iAnchorX1, myint iAnchorY1, myint iAnchorX2, myint iAnchorY2, const std::string &sDisplayText, int &mostleft, bool bShove) {
+  
+  // Don't draw text which will overlap with text in an ancestor.
+  
+  if(iAnchorX1 > mostleft)
+    iAnchorX1 = mostleft;
+  
+  if(iAnchorX2 > mostleft)
+    iAnchorX2 = mostleft;
+  
+  myint iDasherMinX;
+  myint iDasherMinY;
+  myint iDasherMaxX;
+  myint iDasherMaxY;
+  
+  VisibleRegion(iDasherMinX, iDasherMinY, iDasherMaxX, iDasherMaxY);
+  
+  iAnchorY1 = std::min( iDasherMaxY, std::max( iDasherMinY, iAnchorY1 ) );
+  iAnchorY2 = std::min( iDasherMaxY, std::max( iDasherMinY, iAnchorY2 ) );
+  
+  screenint iScreenAnchorX1;
+  screenint iScreenAnchorY1;
+  screenint iScreenAnchorX2;
+  screenint iScreenAnchorY2;
+  
+  // FIXME - Truncate here before converting - otherwise we risk integer overflow in screen coordinates
+  
+  Dasher2Screen(iAnchorX1, iAnchorY1, iScreenAnchorX1, iScreenAnchorY1);
+  Dasher2Screen(iAnchorX2, iAnchorY2, iScreenAnchorX2, iScreenAnchorY2);
+  
+  // Truncate the ends of the anchor line to be on the screen - this
+  // prevents us from loosing characters off the top and bottom of the
+  // screen
+  
+  // TruncateToScreen(iScreenAnchorX1, iScreenAnchorY1);
+  // TruncateToScreen(iScreenAnchorX2, iScreenAnchorY2);
+  
+  // Actual anchor point is the midpoint of the anchor line
+  
+  screenint iScreenAnchorX((iScreenAnchorX1 + iScreenAnchorX2) / 2);
+  screenint iScreenAnchorY((iScreenAnchorY1 + iScreenAnchorY2) / 2);
+  
+  // Compute font size based on position
+  int Size = GetLongParameter( LP_DASHER_FONTSIZE );
+  
+  // FIXME - this could be much more elegant, and probably needs a
+  // rethink anyway - behvaiour here is too dependent on screen size
+  
+  screenint iLeftTimesFontSize = ((myint)GetLongParameter(LP_MAX_Y) - (iAnchorX1 + iAnchorX2)/ 2 )*Size;
+  if(iLeftTimesFontSize < (myint)GetLongParameter(LP_MAX_Y) * 19/ 20)
+    Size *= 20;
+  else if(iLeftTimesFontSize < (myint)GetLongParameter(LP_MAX_Y) * 159 / 160)
+    Size *= 14;
+  else
+    Size *= 11;
+  
+  
+  screenint TextWidth, TextHeight;
+  
+  Screen()->TextSize(sDisplayText, &TextWidth, &TextHeight, Size);
+  
+  // Poistion of text box relative to anchor depends on orientation
+  
+  screenint newleft2 = 0;
+  screenint newtop2 = 0;
+  screenint newright2 = 0;
+  screenint newbottom2 = 0;
+  
+  switch (Dasher::Opts::ScreenOrientations(GetLongParameter(LP_REAL_ORIENTATION))) {
+    case (Dasher::Opts::LeftToRight):
+      newleft2 = iScreenAnchorX;
+      newtop2 = iScreenAnchorY - TextHeight / 2;
+      newright2 = iScreenAnchorX + TextWidth;
+      newbottom2 = iScreenAnchorY + TextHeight / 2;
+      break;
+    case (Dasher::Opts::RightToLeft):
+      newleft2 = iScreenAnchorX - TextWidth;
+      newtop2 = iScreenAnchorY - TextHeight / 2;
+      newright2 = iScreenAnchorX;
+      newbottom2 = iScreenAnchorY + TextHeight / 2;
+      break;
+    case (Dasher::Opts::TopToBottom):
+      newleft2 = iScreenAnchorX - TextWidth / 2;
+      newtop2 = iScreenAnchorY;
+      newright2 = iScreenAnchorX + TextWidth / 2;
+      newbottom2 = iScreenAnchorY + TextHeight;
+      break;
+    case (Dasher::Opts::BottomToTop):
+      newleft2 = iScreenAnchorX - TextWidth / 2;
+      newtop2 = iScreenAnchorY - TextHeight;
+      newright2 = iScreenAnchorX + TextWidth / 2;
+      newbottom2 = iScreenAnchorY;
+      break;
+    default:
+      break;
+  }
+  
+  // Update the value of mostleft to take into account the new text
+  
+  if(bShove) {
+    myint iDasherNewLeft;
+    myint iDasherNewTop;
+    myint iDasherNewRight;
+    myint iDasherNewBottom;
+    
+    Screen2Dasher(newleft2, newtop2, iDasherNewLeft, iDasherNewTop);
+    Screen2Dasher(newright2, newbottom2, iDasherNewRight, iDasherNewBottom);
+    
+    mostleft = std::min(iDasherNewRight, iDasherNewLeft);
+  }
+  
+  // Actually draw the text. We use DelayDrawText as the text should
+  // be overlayed once all of the boxes have been drawn.
+  
+  m_DelayDraw.DelayDrawText(sDisplayText, newleft2, newtop2, Size);
+}
+
 void CDasherViewSquare::RenderNodes(CDasherNode *pRoot, myint iRootMin, myint iRootMax,
 				    CExpansionPolicy &policy,
 				    std::vector<std::pair<myint,bool> > *pvGamePointer) {
@@ -166,7 +280,7 @@ void CDasherViewSquare::RenderNodes(CDasherNode *pRoot, myint iRootMin, myint iR
   RecursiveRender(pRoot, iRootMin, iRootMax, iDasherMaxX, policy, std::numeric_limits<double>::infinity(), pvGamePointer,iDasherMaxX,0,0);
 
   // Labels are drawn in a second parse to get the overlapping right
-  m_pDelayDraw->Draw(Screen());
+  m_DelayDraw.Draw(Screen());
 
   // Finally decorate the view
   Crosshair((myint)GetLongParameter(LP_OX));
diff --git a/Src/DasherCore/DasherViewSquare.h b/Src/DasherCore/DasherViewSquare.h
index 712c0e2..7bbbe1f 100644
--- a/Src/DasherCore/DasherViewSquare.h
+++ b/Src/DasherCore/DasherViewSquare.h
@@ -5,6 +5,7 @@
 #ifndef __DasherViewSquare_h__
 #define __DasherViewSquare_h__
 #include "DasherView.h"
+#include "DelayedDraw.h"
 #include <deque>
 #include "Alphabet/GroupInfo.h"
 
@@ -105,6 +106,13 @@ public:
 
 
 private:
+  ///
+  /// Draw text specified in Dasher co-ordinates
+  ///
+  
+  void DasherDrawText(myint iAnchorX1, myint iAnchorY1, myint iAnchorX2, myint iAnchorY2, const std::string & sDisplayText, int &mostleft, bool bShove);
+  
+  CDelayedDraw m_DelayDraw;  
 
   ///
   /// Render the current state of the model.
diff --git a/Src/DasherCore/DelayedDraw.cpp b/Src/DasherCore/DelayedDraw.cpp
index 3e0a7f0..a6a5d6a 100644
--- a/Src/DasherCore/DelayedDraw.cpp
+++ b/Src/DasherCore/DelayedDraw.cpp
@@ -1,7 +1,7 @@
 
 #include "../Common/Common.h"
 
-#include "View/DelayedDraw.h"
+#include "DelayedDraw.h"
 #include "DasherScreen.h"
 #include "DasherTypes.h"
 
diff --git a/Src/DasherCore/View/DelayedDraw.h b/Src/DasherCore/DelayedDraw.h
similarity index 98%
rename from Src/DasherCore/View/DelayedDraw.h
rename to Src/DasherCore/DelayedDraw.h
index 359a3d2..2a9a085 100644
--- a/Src/DasherCore/View/DelayedDraw.h
+++ b/Src/DasherCore/DelayedDraw.h
@@ -9,7 +9,7 @@
 #ifndef __View_DelayedDraw_h_
 #define __View_DelayedDraw_h_
 
-#include "../DasherTypes.h"
+#include "DasherTypes.h"
 
 namespace Dasher {
   class CDasherScreen;
diff --git a/Src/DasherCore/Makefile.am b/Src/DasherCore/Makefile.am
index 704a664..217d8a4 100644
--- a/Src/DasherCore/Makefile.am
+++ b/Src/DasherCore/Makefile.am
@@ -68,6 +68,7 @@ libdashercore_a_SOURCES = \
 		DefaultFilter.cpp \
 		DefaultFilter.h \
 		DelayedDraw.cpp \
+		DelayedDraw.h \
 		DynamicFilter.h \
 		DynamicFilter.cpp \
 		Event.h \
@@ -138,7 +139,6 @@ libdashercore_a_SOURCES = \
 		UserLogParam.h \
 		UserLogTrial.cpp \
 		UserLogTrial.h \
-		View/DelayedDraw.h \
 		XMLUtil.cpp \
 		XMLUtil.h
 
diff --git a/Src/MacOSX/Dasher.xcodeproj/project.pbxproj b/Src/MacOSX/Dasher.xcodeproj/project.pbxproj
index bb22718..40126c0 100755
--- a/Src/MacOSX/Dasher.xcodeproj/project.pbxproj
+++ b/Src/MacOSX/Dasher.xcodeproj/project.pbxproj
@@ -141,7 +141,6 @@
 		1948BF380C226CFD001DFA32 /* UserLogParam.h in Headers */ = {isa = PBXBuildFile; fileRef = 1948BE930C226CFD001DFA32 /* UserLogParam.h */; };
 		1948BF390C226CFD001DFA32 /* UserLogTrial.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1948BE940C226CFD001DFA32 /* UserLogTrial.cpp */; };
 		1948BF3A0C226CFD001DFA32 /* UserLogTrial.h in Headers */ = {isa = PBXBuildFile; fileRef = 1948BE950C226CFD001DFA32 /* UserLogTrial.h */; };
-		1948BF3B0C226CFD001DFA32 /* DelayedDraw.h in Headers */ = {isa = PBXBuildFile; fileRef = 1948BE970C226CFD001DFA32 /* DelayedDraw.h */; };
 		1948BF3E0C226CFD001DFA32 /* XMLUtil.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1948BE9A0C226CFD001DFA32 /* XMLUtil.cpp */; };
 		1948BF3F0C226CFD001DFA32 /* XMLUtil.h in Headers */ = {isa = PBXBuildFile; fileRef = 1948BE9B0C226CFD001DFA32 /* XMLUtil.h */; };
 		19558AD60C3182730054A193 /* DasherViewCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 19558AD50C3182730054A193 /* DasherViewCocoa.h */; };
@@ -346,6 +345,7 @@
 		19F8C7E60C858A2800276B4F /* I18n.h in Headers */ = {isa = PBXBuildFile; fileRef = 19F8C7E50C858A2800276B4F /* I18n.h */; };
 		19F8C7F90C858E9900276B4F /* TrainingHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19F8C7F70C858E9900276B4F /* TrainingHelper.cpp */; };
 		19F8C7FA0C858E9900276B4F /* TrainingHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = 19F8C7F80C858E9900276B4F /* TrainingHelper.h */; };
+		3300114910A2E9C900D31B1D /* DelayedDraw.h in Headers */ = {isa = PBXBuildFile; fileRef = 3300114810A2E9C900D31B1D /* DelayedDraw.h */; };
 		3300115210A2EA7700D31B1D /* ExpansionPolicy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3300115010A2EA7700D31B1D /* ExpansionPolicy.cpp */; };
 		3300115310A2EA7700D31B1D /* ExpansionPolicy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3300115110A2EA7700D31B1D /* ExpansionPolicy.h */; };
 		3306E0220FFD1CE60017324C /* PPMPYLanguageModel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3306E0200FFD1CE60017324C /* PPMPYLanguageModel.cpp */; };
@@ -557,7 +557,6 @@
 		1948BE930C226CFD001DFA32 /* UserLogParam.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UserLogParam.h; sourceTree = "<group>"; };
 		1948BE940C226CFD001DFA32 /* UserLogTrial.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = UserLogTrial.cpp; sourceTree = "<group>"; };
 		1948BE950C226CFD001DFA32 /* UserLogTrial.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = UserLogTrial.h; sourceTree = "<group>"; };
-		1948BE970C226CFD001DFA32 /* DelayedDraw.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DelayedDraw.h; sourceTree = "<group>"; };
 		1948BE9A0C226CFD001DFA32 /* XMLUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = XMLUtil.cpp; sourceTree = "<group>"; };
 		1948BE9B0C226CFD001DFA32 /* XMLUtil.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = XMLUtil.h; sourceTree = "<group>"; };
 		19558AD50C3182730054A193 /* DasherViewCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DasherViewCocoa.h; sourceTree = "<group>"; };
@@ -765,6 +764,7 @@
 		29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
 		29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
 		29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
+		3300114810A2E9C900D31B1D /* DelayedDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DelayedDraw.h; sourceTree = "<group>"; };
 		3300115010A2EA7700D31B1D /* ExpansionPolicy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExpansionPolicy.cpp; sourceTree = "<group>"; };
 		3300115110A2EA7700D31B1D /* ExpansionPolicy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ExpansionPolicy.h; sourceTree = "<group>"; };
 		3306E0200FFD1CE60017324C /* PPMPYLanguageModel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PPMPYLanguageModel.cpp; sourceTree = "<group>"; };
@@ -989,6 +989,7 @@
 				1948BE3D0C226CFD001DFA32 /* DelayedDraw.cpp */,
 				3300115010A2EA7700D31B1D /* ExpansionPolicy.cpp */,
 				3300115110A2EA7700D31B1D /* ExpansionPolicy.h */,
+				3300114810A2E9C900D31B1D /* DelayedDraw.h */,
 				1948BE3E0C226CFD001DFA32 /* DynamicFilter.cpp */,
 				1948BE3F0C226CFD001DFA32 /* DynamicFilter.h */,
 				1948BE400C226CFD001DFA32 /* Event.h */,
@@ -1054,7 +1055,6 @@
 				1948BE930C226CFD001DFA32 /* UserLogParam.h */,
 				1948BE940C226CFD001DFA32 /* UserLogTrial.cpp */,
 				1948BE950C226CFD001DFA32 /* UserLogTrial.h */,
-				1948BE960C226CFD001DFA32 /* View */,
 				1948BE9A0C226CFD001DFA32 /* XMLUtil.cpp */,
 				1948BE9B0C226CFD001DFA32 /* XMLUtil.h */,
 			);
@@ -1108,14 +1108,6 @@
 			path = LanguageModelling;
 			sourceTree = "<group>";
 		};
-		1948BE960C226CFD001DFA32 /* View */ = {
-			isa = PBXGroup;
-			children = (
-				1948BE970C226CFD001DFA32 /* DelayedDraw.h */,
-			);
-			path = View;
-			sourceTree = "<group>";
-		};
 		19BEF2CD0C228F7300275D06 /* alphabets */ = {
 			isa = PBXGroup;
 			children = (
@@ -1486,7 +1478,6 @@
 				1948BF360C226CFD001DFA32 /* UserLogBase.h in Headers */,
 				1948BF380C226CFD001DFA32 /* UserLogParam.h in Headers */,
 				1948BF3A0C226CFD001DFA32 /* UserLogTrial.h in Headers */,
-				1948BF3B0C226CFD001DFA32 /* DelayedDraw.h in Headers */,
 				1948BF3F0C226CFD001DFA32 /* XMLUtil.h in Headers */,
 				196874060C2BDC2E00D63879 /* AlphabetLetter.h in Headers */,
 				1968740A0C2BDC2E00D63879 /* GLUtils.h in Headers */,
@@ -1511,6 +1502,7 @@
 				33135354102C6D8E00E28220 /* CompassMode.h in Headers */,
 				33135356102C6D8E00E28220 /* ButtonMode.h in Headers */,
 				3300115310A2EA7700D31B1D /* ExpansionPolicy.h in Headers */,
+				3300114910A2E9C900D31B1D /* DelayedDraw.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/Src/iPhone/Dasher.xcodeproj/project.pbxproj b/Src/iPhone/Dasher.xcodeproj/project.pbxproj
index ea3f3ba..09cf60e 100755
--- a/Src/iPhone/Dasher.xcodeproj/project.pbxproj
+++ b/Src/iPhone/Dasher.xcodeproj/project.pbxproj
@@ -220,6 +220,7 @@
 		28FD15070DC6FC5B0079059D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
 		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
 		32CA4F630368D1EE00C91783 /* Dasher_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dasher_Prefix.pch; sourceTree = "<group>"; };
+		3318BEF510F6346F00D4F877 /* DelayedDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DelayedDraw.h; sourceTree = "<group>"; };
 		331C73C10F71750D004492FF /* COSXSettingsStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = COSXSettingsStore.h; sourceTree = "<group>"; };
 		331C73C20F71750D004492FF /* COSXSettingsStore.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = COSXSettingsStore.mm; sourceTree = "<group>"; };
 		331C73F30F717594004492FF /* DasherUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DasherUtil.h; sourceTree = "<group>"; };
@@ -454,7 +455,6 @@
 		3344FE0E0F71717C00506EAA /* UserLogParam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserLogParam.h; sourceTree = "<group>"; };
 		3344FE0F0F71717C00506EAA /* UserLogTrial.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserLogTrial.cpp; sourceTree = "<group>"; };
 		3344FE100F71717C00506EAA /* UserLogTrial.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserLogTrial.h; sourceTree = "<group>"; };
-		3344FE120F71717C00506EAA /* DelayedDraw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DelayedDraw.h; sourceTree = "<group>"; };
 		3344FE130F71717C00506EAA /* XMLUtil.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XMLUtil.cpp; sourceTree = "<group>"; };
 		3344FE140F71717C00506EAA /* XMLUtil.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = XMLUtil.h; sourceTree = "<group>"; };
 		3344FE740F71718B00506EAA /* I18n.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = I18n.h; sourceTree = "<group>"; };
@@ -811,6 +811,7 @@
 				3344FDAC0F71717C00506EAA /* DefaultFilter.cpp */,
 				3344FDAD0F71717C00506EAA /* DefaultFilter.h */,
 				3344FDAE0F71717C00506EAA /* DelayedDraw.cpp */,
+				3318BEF510F6346F00D4F877 /* DelayedDraw.h */,
 				3344FDAF0F71717C00506EAA /* DynamicFilter.cpp */,
 				3344FDB00F71717C00506EAA /* DynamicFilter.h */,
 				3344FDB10F71717C00506EAA /* Event.h */,
@@ -896,7 +897,6 @@
 				3344FE0E0F71717C00506EAA /* UserLogParam.h */,
 				3344FE0F0F71717C00506EAA /* UserLogTrial.cpp */,
 				3344FE100F71717C00506EAA /* UserLogTrial.h */,
-				3344FE110F71717C00506EAA /* View */,
 				3344FE130F71717C00506EAA /* XMLUtil.cpp */,
 				3344FE140F71717C00506EAA /* XMLUtil.h */,
 			);
@@ -941,14 +941,6 @@
 			path = LanguageModelling;
 			sourceTree = "<group>";
 		};
-		3344FE110F71717C00506EAA /* View */ = {
-			isa = PBXGroup;
-			children = (
-				3344FE120F71717C00506EAA /* DelayedDraw.h */,
-			);
-			path = View;
-			sourceTree = "<group>";
-		};
 		3344FE670F71718B00506EAA /* Common */ = {
 			isa = PBXGroup;
 			children = (



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]