00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00025 00026 #ifndef _LETTER_CDT_TEST_LOGIC_H_ 00027 #define _LETTER_CDT_TEST_LOGIC_H_ 00028 00029 #include "Point.h" 00030 #include "Line.h" 00031 00032 #include "GlyphOutlineLoader.h" 00033 00034 #include <vector> 00035 00036 namespace LetterCDT 00037 { 00038 00042 class LetterCDTTestLogic 00043 { 00044 public: 00046 LetterCDTTestLogic(void); 00047 00049 ~LetterCDTTestLogic(void); 00050 00053 void PushLetter(wchar_t charCode); 00054 00056 void Reset(void); 00057 00061 void EnablePoints(void); 00062 00066 void EnableSegments(void); 00067 00071 void EnableTriangles(void); 00072 00075 bool ArePointsEnabled(void); 00076 00079 bool AreSegmentsEnabled(void); 00080 00083 bool AreTrianglesEnabled(void); 00084 00087 const std::vector<Point>& GetPoints(void) const; 00088 00091 const std::vector<Line>& GetLines(void) const; 00092 00095 const std::vector<int>& GetTriangles(void) const; 00096 00097 private: 00099 GlyphOutlineLoader m_glyphOutlineLoader; 00100 00102 bool m_enabledPoints; 00103 00105 bool m_enabledSegments; 00106 00108 bool m_enabledTriangles; 00109 00111 std::vector<Point> m_points; 00112 00114 std::vector<Line> m_lines; 00115 00117 std::vector<int> m_triangles; 00118 00120 std::vector<float> m_translations; 00121 00123 LetterCDTTestLogic(const LetterCDTTestLogic&); 00124 00126 LetterCDTTestLogic& operator=(const LetterCDTTestLogic&); 00127 }; 00128 00129 } 00130 00131 #endif
1.5.9