00001 #ifndef JP_TEXT_CONVERTER_H 00002 #define JP_TEXT_CONVERTER_H 00003 00013 #include "TextConvertInterface.h" 00014 #include <memory> 00015 00016 00017 namespace beego { 00018 00019 class JpTextConverter : public TextConvertInterface { 00020 JpTextConverter(void); 00021 JpTextConverter(const JpTextConverter& rhs); 00022 JpTextConverter& operator = (const JpTextConverter& rhs); 00023 00024 struct pImpl; 00025 const std::auto_ptr<pImpl> pimpl; 00026 00027 public: 00028 typedef enum { 00029 Roman, 00030 Kana, 00031 } ConvertType; 00032 JpTextConverter(ConvertType type = Roman); 00033 ~JpTextConverter(void); 00034 00035 void clear(void); 00036 void setConvertBuffer(const std::vector<Uint16>& buffer); 00037 void getConvertBuffer(std::vector<Uint16>& buffer); 00038 bool addChar(char ch); 00039 bool moveLeft(void); 00040 bool moveRight(void); 00041 bool moveUp(void); 00042 bool moveDown(void); 00043 bool escapePressed(void); 00044 bool deleteBack(void); 00045 bool deleteCurrent(void); 00046 bool convertInput(void); 00047 00048 // !!! 変換中のハイライト領域の情報を受け取る 00049 }; 00050 }; 00051 00052 #endif /* !JP_TEXT_CONVERTER_H */ 00053