Letters
概要
レンダ済み文字列をキャッシュして保存しておき、Shapeとしての扱いができるクラスです。同じ文字を何回も繰り返し表示するのであればこのクラスを使うと良いでしょう。
使い方
(1) フォントフェースの指定
全てのパラメタをフルで指定する場合
- Font(フォント名@wchar_t, サイズ@px, 太さ@int, スタイル@enum);
Font font1(L"ArialMT", 25, Font::bold, Font::italic);
フォントは有無が分からないので省略することも出来ます
- Font(サイズ@px, 太さ@int, スタイル@enum);
Font font1(25);
(2) 文字列のレンダリングとキャッシュ
Letters let1(L"Space Barを押すと文字が変わります", Font(20, Font::bold)); Letters let2(L"矢印キーを押してください。配置が変わります。"); Letters let3(L"Push Z/X Key. Font \"Arial\" have only Latain characters. 日本語は日本語フォントが必要です.", font1);
(3) 表示
let1.centering(Mouse::x, Mouse::y+30).draw(Color::green); let2.move_to(Mouse::x, Mouse::y).draw(Color::white); Display::msg(let3, 100, 100);
クラス定数
enum HorizontalAlign
文字の水平方向の詰め方を指定します。Canvas.msg命令でもこの定数を使用します。
- NOT_SPECIFIED
- 指定なし。左詰と同様です。
- TEXT_ALIGN_LEFT
- 左詰
- TEXT_ALIGN_CENTER
- 中央寄せ
- TEXT_ALIGN_RIGHT
- 右詰
メソッド
- Letters(const std::wstring &init_str, const Font& init_font = Font::default_font)
- 文字列と使用フォントを指定します。フォントは省略時はOSごとに設定されているデフォルトフォントになります。
- virtual Letters& font(const Font &init_font, bool caching = true)
- フォントを変更し、キャッシュを更新します。
- virtual Letters& string(const std::wstring &init_str, bool caching = true)
- virtual Letters& operator =(const std::wstring &init_str)
- 文字列を入れ替え、キャッシュを更新します。
- virtual Font& getFont()
- このLettersで使われているフォントを取得します。
- virtual std::wstring& getString()
- このLettersで使われている文字列を取得します。
継承した関数
Figureより
- virtual const Point getDatum()
- 基準点を得ます。y軸方向については、フォントのベースライン(文字"x"の下のラインで、文字"g"のディセンダ部より上になります)になります。
- virtual Figure& setDatum(const Point p)
- 文字詰めを変えずに所定の場所に基準点を移動します。
- virtual Letters& centering(const Point& p)
- センタリングします。Lettersでcentering命令群を使用すると、自動的に中央寄せが適用されます。
- virtual Letters& move_to(double x, double y, double z=0.0)
- 文字詰めを変えずに所定の場所に基準点を移動する場合に使います。setDatumと同様です。
- Figure& shift(const Point p)
- 移動します
キーワード:[class] [Figure] [Shape] [Grapic]
参照:[リファレンスマニュアル] [(逆引き) なんでも]