メインページ | クラス階層 | アルファベット順一覧 | 構成 | Directories | ファイル一覧 | 構成メンバ | ファイルメンバ

MainWindow.h

説明を見る。
00001 
00011 #ifndef MAINWINDOW_H
00012 #define MAINWINDOW_H
00013 
00014 #include <basic.h>
00015 #include <list>
00016 #include "MemoryDrawEnv.h"
00017 #include "HiraganaMenu.h"
00018 #include "HiraganaMenu2.h"
00019 #include "KatakanaMenu.h"
00020 #include "KatakanaMenu2.h"
00021 #include "AlphabetMenu.h"
00022 #include "SymbolMenu.h"
00023 #include "Stroke.h"
00024 #include "jstroke.h"
00025 
00027 
00030 class MainWindow {
00031   
00032 private:
00033 
00034   enum CharacterType {
00035     CT_ALPHABET, CT_KATAKANA, CT_SYMBOL, CT_HIRAGANA, CT_CONTROL
00036   };
00037 
00038   WID wid;
00039   TC* title;
00040   PAT bgpat;
00041   bool cont;
00042   MemoryDrawEnv mdenv;
00043   RECT wcrect, bdpos;
00044   mutable RECT wrect;
00045 
00046   TC tcs_kanji[3], tcs_hira[3], tcs_kata[3], tcs_hira2[3], tcs_kata2[3], tcs_alpha[3], tcs_symbol[3];
00047   PAID cid_kanji, cid_hira, cid_kata, cid_hira2, cid_kata2, cid_alpha, cid_symbol;
00048   PARTS par_kanji, par_hira, par_kata, par_hira2, par_kata2, par_alpha, par_symbol;
00049 
00050   TC tcs_backspace[3], tcs_enter[3], tcs_delete[3];
00051   PAID cid_backspace, cid_enter, cid_delete;
00052   PARTS par_backspace, par_enter, par_delete;
00053 
00054   const static int dsize = 128;
00055   const static UH wsize_h = dsize+12+64+8+32, wsize_v = dsize+8;
00056 
00057   typedef std::list<DrawingStroke> DrawingStrokeList;
00058   typedef DrawingStrokeList::iterator DrawingStrokeIterator;
00059   typedef DrawingStrokeList::const_iterator DrawingStrokeConstIterator;
00060 
00061   DrawingStrokeList slist;
00062 
00063   HiraganaMenu hiramenu;
00064   HiraganaMenu2 hiramenu2;
00065   KatakanaMenu katamenu;
00066   KatakanaMenu2 katamenu2;
00067   AlphabetMenu alphamenu;
00068   SymbolMenu symbolmenu;
00069 
00071   void draw();
00072 
00074   void redisp(WEVENT* ev);
00075 
00077   void onMouseButtonDown(WEVENT* ev);
00078 
00080   void onIdle(WEVENT* ev);
00081 
00083   void onKanji(WEVENT* ev);
00084 
00086   void execKanjiMenu(WEVENT *ev, const ListMem* top_picks);
00087 
00089   void clearStroke();
00090 
00092   void sendKey(WEVENT *ev, TC tc, CharacterType type);
00093 
00095   void sendCharacter(WEVENT *ev, TC tc, CharacterType type);
00096 
00097 public:
00098   
00100   MainWindow();
00101 
00103   virtual ~MainWindow(){
00104     gdsp_ptr(-1);
00105     display(false);
00106   }
00107 
00109 
00113   W getWindowID() const {
00114     return wid;
00115   }
00116 
00118 
00123   void display(bool state = true);
00124 
00126 
00130   void run();
00131 
00133 
00136   void terminate(){
00137     cont = false;
00138   }
00139 
00141 
00145   void setRect(const RECT& r);
00146 
00148 
00152   RECT getRect() const;
00153 
00154 };
00155 
00156 #endif // MAINWINDOW_H

KanjiPad+に対してFri Oct 7 23:47:11 2005に生成されました。  doxygen 1.4.1