FrontPage  ページ一覧  検索  更新履歴  RSS  ログイン

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(文字列@ワイド文字列, フォント@Font)
このクラスを作成すると自動的にキャッシュされます。 フォントを省略するとデフォルトのフォントになります
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) 表示

Letters.draw(Color)
指定の色で文字を表示します。
Canvas.msg(Letters, x, y, Color, align)
指定の場所と色、整列方向でキャッシュされた文字を表示します。
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
右詰

フィールド

HorizontalAlign align

メソッド

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)
移動します

Shapeより

virtual Letters& draw(const Color &col, Drawable &target = *Drawable::prime)
virtual Letters& draw(const Stroke &strk, Drawable &target = *Drawable::prime)
virtual Letters& draw(const Color &col, HorizontalAlign horiz_align, Drawable &target = *Drawable::prime)
更新日時:2010/04/11 13:56:00
キーワード:[class] [Figure] [Shape] [Grapic]
参照:[リファレンスマニュアル] [(逆引き) なんでも]