FineKernelToolKit 4.2.13
|
文字列板を管理するクラス [詳解]
#include <FK/TextImage.h>
公開メンバ関数 | |
fk_TextImage (void) | |
コンストラクタ | |
virtual | ~fk_TextImage () |
デストラクタ | |
フォント関連関数 | |
bool | initFont (const std::string fontFileName) |
フォント情報入力関数 | |
void | setDPI (int dpi) |
フォント解像度設定関数 | |
int | getDPI (void) const |
フォント解像度参照関数 | |
void | setPTSize (int size) |
フォントサイズ設定関数 | |
int | getPTSize (void) const |
フォントサイズ参照関数 | |
void | setBoldStrength (int str) |
太さ値設定関数 | |
int | getBoldStrength (void) const |
太さ値参照関数 | |
void | setShadowMode (bool mode) |
影付け効果設定関数 | |
bool | getShadowMode (void) const |
影付け効果参照関数 | |
void | setShadowOffset (int x, int y) |
影付けずらし幅設定関数 | |
fk_Dimension | getShadowOffset (void) const |
影付けずらし幅参照関数 | |
void | setShadowColor (fk_Color col) |
影付け色設定関数1 | |
void | setShadowColor (float r, float g, float b, float a) |
影付け色設定関数2 | |
void | setShadowColor (double r, double g, double b, double a) |
影付け色設定関数3 | |
fk_Color | getShadowColor (void) const |
影付け色参照関数 | |
描画属性関連関数 | |
void | setForeColor (fk_Color col) |
文字色設定関数1 | |
void | setForeColor (float r, float g, float b, float a) |
文字色設定関数2 | |
void | setForeColor (double r, double g, double b, double a) |
文字色設定関数3 | |
fk_Color | getForeColor (void) const |
文字色参照関数 | |
void | setBackColor (fk_Color col) |
背景色設定関数1 | |
void | setBackColor (float r, float g, float b, float a) |
背景色設定関数2 | |
void | setBackColor (double r, double g, double b, double a) |
背景色設定関数3 | |
fk_Color | getBackColor (void) const |
背景色参照関数 | |
void | setSmoothMode (bool mode) |
アンチエイリアシング効果設定関数 | |
bool | getSmoothMode (void) const |
アンチエイリアシング効果参照関数 | |
文字配置事前設定関連関数 | |
void | setMonospaceMode (bool mode) |
等幅表示設定関数 | |
bool | getMonospaceMode (void) const |
等幅表示設定参照関数 | |
void | setMonospaceSize (int size) |
等幅表示文字幅設定関数 | |
int | getMonospaceSize (void) const |
等幅表示文字幅参照関数 | |
void | setCharSkip (int skip) |
文字間幅設定関数 | |
int | getCharSkip (void) const |
文字間幅参照関数 | |
void | setLineSkip (int skip) |
行間幅設定関数 | |
int | getLineSkip (void) const |
行間幅参照関数 | |
void | setSpaceLineSkip (int skip) |
空行縦幅設定関数 | |
int | getSpaceLineSkip (void) const |
空行縦幅参照関数 | |
void | setOffset (int up, int down, int left, int right) |
オフセット設定関数 | |
int | getUpOffset (void) const |
オフセット上幅参照関数 | |
int | getDownOffset (void) const |
オフセット下幅参照関数 | |
int | getLeftOffset (void) const |
オフセット左幅参照関数 | |
int | getRightOffset (void) const |
オフセット右幅参照関数 | |
void | setAlign (fk_TextAlign align) |
文字列寄せ方向(アライメント)設定関数 | |
fk_TextAlign | getAlign (void) const |
文字列寄せ方向(アライメント)参照関数 | |
void | setMinLineWidth (int width) |
画像最小横幅設定関数 | |
int | getMinLineWidth (void) const |
画像最小横幅参照関数 | |
文字列入力関数 | |
bool | loadUniStr (fk_UniStr *str) |
文字列データ入力関数 | |
bool | loadStrFile (const std::string fileName, fk_StringCode code=fk_StringCode::UTF16) |
文字列データファイル入力関数 | |
文字列入力後情報参照関数 | |
int | getLineNum (void) const |
行数参照関数 | |
int | getLineCharNum (int num) const |
行中文字数参照関数 | |
int | getAllCharNum (void) const |
文字数参照関数 | |
int | getMaxLineWidth (void) const |
最大横幅参照関数 | |
int | getMaxLineHeight (void) const |
最大縦幅参照関数 | |
int | getLineWidth (int num) const |
行横幅参照関数 | |
int | getLineHeight (int num) const |
行縦幅参照関数 | |
int | getLineStartXPos (int num) const |
行開始位置 x 成分取得関数 | |
int | getLineStartYPos (int num) const |
行開始位置 y 成分取得関数 | |
文字送り関連関数 | |
void | setSendingMode (fk_TextSendingMode mode) |
文字送りモード設定関数 | |
fk_TextSendingMode | getSendingMode (void) const |
文字送りモード参照関数 | |
bool | send (void) |
文字送り実行関数 | |
bool | finish (void) |
文字送り完了関数 | |
bool | clear (void) |
文字送り初期化関数 | |
![]() | |
fk_Image (int w=0, int h=0) | |
コンストラクタ | |
virtual | ~fk_Image () |
デストラクタ | |
fk_Image (const fk_Image &) | |
コピーコンストラクタ | |
void | init () |
初期化関数 | |
bool | readBMP (const std::string fileName) |
BMP ファイル入力関数 | |
bool | readBMPData (fk_ImType *buf) |
BMP バッファ入力関数 | |
bool | readPNG (const std::string fileName) |
PNG ファイル入力関数 | |
bool | readPNGData (fk_ImType *buf) |
PNG データ入力用関数 | |
bool | readJPG (const std::string fileName) |
JPEG ファイル入力関数 | |
bool | writeBMP (const std::string fileName, const bool transFlg=false) |
BMP ファイル出力関数 | |
bool | writePNG (const std::string fileName, const bool transFlg=true) |
PNG ファイル出力関数 | |
bool | writeJPG (const std::string fileName, int quality=80) |
JPEG ファイル出力関数 | |
void | newImage (int w, int h, bool initFlg=true) |
画像領域生成関数 | |
void | copyImage (const fk_Image *image) |
画像データコピー関数1 | |
void | copyImage (const fk_Image *image, int x, int y) |
画像データコピー関数2 | |
bool | subImage (const fk_Image *image, int x, int y, int w, int h) |
画像データ部分抽出関数 | |
int | getWidth (void) const |
画像横幅取得関数 | |
int | getHeight (void) const |
画像縦幅取得関数 | |
const fk_Dimension * | getImageSize (void) |
画像サイズ取得関数 | |
const fk_Dimension * | getBufferSize (void) |
画像バッファサイズ取得関数 | |
int | getR (int x, int y) const |
ピクセルR要素取得関数 | |
int | getG (int x, int y) const |
ピクセルG要素取得関数 | |
int | getB (int x, int y) const |
ピクセルB要素取得関数 | |
int | getA (int x, int y) const |
ピクセルA要素取得関数 | |
fk_Color | getColor (int x, int y) const |
ピクセル色要素取得関数 | |
bool | setRGBA (int x, int y, int r, int g, int b, int a) |
ピクセル RGBA 値設定関数 | |
bool | setRGB (int x, int y, int r, int g, int b) |
ピクセル RGB 値設定関数 | |
bool | setR (int x, int y, int r) |
ピクセル R 値設定関数 | |
bool | setG (int x, int y, int g) |
ピクセル G 値設定関数 | |
bool | setB (int x, int y, int b) |
ピクセル B 値設定関数 | |
bool | setA (int x, int y, int a) |
ピクセル A 値設定関数 | |
bool | setColor (int x, int y, const fk_Color &col) |
ピクセル色値設定関数 | |
void | fillColor (const fk_Color &col) |
バッファ全体初期化関数1 | |
void | fillColor (int r, int g, int b, int a=0) |
バッファ全体初期化関数2 | |
const fk_ImType * | getBufPointer (void) const |
画像データ配列先頭アドレス取得関数 | |
![]() | |
fk_BaseObject (fk_Type type=fk_Type::BASEOBJECT) | |
コンストラクタ | |
fk_Type | getObjectType (void) const |
タイプ取得関数 | |
静的公開メンバ関数 | |
キャッシュ関連関数 | |
static void | setCacheMode (bool mode) |
キャッシュ機能制御関数 | |
static bool | getCacheMode (void) |
キャッシュ機能有無効参照関数 | |
static void | clearCache (void) |
キャッシュ初期化関数 | |
文字列板を管理するクラス
このクラスは、文字列板を制御する機能を提供します。
本クラスは fk_Image の派生クラスであり、本質的には画像を意味します。 通常の画像に対し、文字列を表示することに特化したクラスです。 このクラスを用いて作成した文字列を矩形テクスチャとすることで、 シーン上にメッセージを表示することができます。 実質的には通常の矩形テクスチャとなりますので、 単純に画面に文字を表示するだけではなく、 3次元空間中に自由に配置することができます。
文字列画像生成に際しては、複数行を一枚の画像中に表示することができます。 その際、左寄り、中寄り、右寄りといったアライメントや、 画像端からのマージンなども細かく設定することができます。
また、本クラスの特徴的な機能として「文字送り」があります。 これは、初期状態として全ての文字が表示されていない状態にしておき、 一文字ずつ、あるいは一行ずつ順番に表示していくという機能です。
本クラスを用いる場合、以下の順番で処理を進める必要があります。
これは、実際の画像生成を文字列データ入力の段階で行うため、 それ以外の設定を事前にしておかなければならないためです。 詳細はユーザーズマニュアルの「文字列板」の項目を参照して下さい。
なお、文字列板はその性質上、常に画面上で最前面に表示しておきたい場合が多くあります。 これは、シーン登録においてオーバーレイモデルとして登録することで容易に実現できます。 詳細は fk_DisplayLink::entryOverlayModel() の解説を参照して下さい。
FK::fk_TextImage::fk_TextImage | ( | void | ) |
コンストラクタ
|
virtual |
デストラクタ
bool FK::fk_TextImage::initFont | ( | const std::string | fontFileName | ) |
フォント情報入力関数
フォントの入力を行います。 ここで指定するものは TrueType 形式のフォントファイルとなります。 通常は「ttf」あるいは「ttc」という拡張子のファイルとなっています。
なお、この関数は loadUniStr() や loadStrFile() などの文字列入力よりも先に行っておく必要があります。
[in] | fontFileName | フォントファイル名 |
void FK::fk_TextImage::setDPI | ( | int | dpi | ) |
フォント解像度設定関数
フォントの解像度を設定します。 解像度を高くするほど高精細な画像となりますが、 画像サイズが大きくなるため描画時の負担が高くなっていきます。 デフォルトでは 48 に設定されています。
[in] | dpi | 解像度 |
int FK::fk_TextImage::getDPI | ( | void | ) | const |
void FK::fk_TextImage::setPTSize | ( | int | size | ) |
int FK::fk_TextImage::getPTSize | ( | void | ) | const |
void FK::fk_TextImage::setBoldStrength | ( | int | str | ) |
太さ値設定関数
文字の太さを数値に応じて太くします。 高い値であるほど、線が太くなっていきます。 デフォルトは 1 となっています。 太さの度合いについては、解像度やフォントサイズに依存するので、 それぞれと合わせて調整する必要があります。
[in] | str | 太さ値 |
int FK::fk_TextImage::getBoldStrength | ( | void | ) | const |
void FK::fk_TextImage::setShadowMode | ( | bool | mode | ) |
影付け効果設定関数
表示文字に対し、影付け効果を有無を設定します。 デフォルトでは無効となっています。
[in] | mode | true の場合有効、false の場合無効となります。 |
bool FK::fk_TextImage::getShadowMode | ( | void | ) | const |
void FK::fk_TextImage::setShadowOffset | ( | int | x, |
int | y | ||
) |
影付けずらし幅設定関数
影付け効果の際、影のずらし幅を設定します。
[in] | x | 横方向のずれを設定します。単位はピクセルです。 正の値で右方向、負の値で左方向にずらします。 |
[in] | y | 縦方向のずれを設定します。単位はピクセルです。 正の値で下方向、負の値で上方向にずらします。 |
fk_Dimension FK::fk_TextImage::getShadowOffset | ( | void | ) | const |
void FK::fk_TextImage::setShadowColor | ( | fk_Color | col | ) |
影付け色設定関数1
影付け効果の際の、影の色を設定します。透過色設定も有効となります。
[in] | col | 影色 |
void FK::fk_TextImage::setShadowColor | ( | float | r, |
float | g, | ||
float | b, | ||
float | a | ||
) |
影付け色設定関数2
影付け効果の際の、影の色を設定します。透過色設定も有効となります。 各要素値については fk_Color に準じます。
[in] | r | 影色の R 値(赤)要素値 |
[in] | g | 影色の G 値(緑)要素値 |
[in] | b | 影色の B 値(青)要素値 |
[in] | a | 影色の A 値(透過)要素値 |
void FK::fk_TextImage::setShadowColor | ( | double | r, |
double | g, | ||
double | b, | ||
double | a | ||
) |
影付け色設定関数3
影付け効果の際の、影の色を設定します。透過色設定も有効となります。 各要素値については fk_Color に準じます。
[in] | r | 影色の R 値(赤)要素値 |
[in] | g | 影色の G 値(緑)要素値 |
[in] | b | 影色の B 値(青)要素値 |
[in] | a | 影色の A 値(透過)要素値 |
fk_Color FK::fk_TextImage::getShadowColor | ( | void | ) | const |
void FK::fk_TextImage::setForeColor | ( | fk_Color | col | ) |
void FK::fk_TextImage::setForeColor | ( | float | r, |
float | g, | ||
float | b, | ||
float | a | ||
) |
文字色設定関数2
文字色を設定します。透過色設定も有効となります。 各要素値については fk_Color に準じます。
[in] | r | 文字色の R 値(赤)要素値 |
[in] | g | 文字色の G 値(緑)要素値 |
[in] | b | 文字色の B 値(青)要素値 |
[in] | a | 文字色の A 値(透過)要素値 |
void FK::fk_TextImage::setForeColor | ( | double | r, |
double | g, | ||
double | b, | ||
double | a | ||
) |
文字色設定関数3
文字色を設定します。透過色設定も有効となります。 各要素値については fk_Color に準じます。
[in] | r | 文字色の R 値(赤)要素値 |
[in] | g | 文字色の G 値(緑)要素値 |
[in] | b | 文字色の B 値(青)要素値 |
[in] | a | 文字色の A 値(透過)要素値 |
fk_Color FK::fk_TextImage::getForeColor | ( | void | ) | const |
void FK::fk_TextImage::setBackColor | ( | fk_Color | col | ) |
void FK::fk_TextImage::setBackColor | ( | float | r, |
float | g, | ||
float | b, | ||
float | a | ||
) |
背景色設定関数2
背景色を設定します。透過色設定も有効となります。 各要素値については fk_Color に準じます。
[in] | r | 背景色の R 値(赤)要素値 |
[in] | g | 背景色の G 値(緑)要素値 |
[in] | b | 背景色の B 値(青)要素値 |
[in] | a | 背景色の A 値(透過)要素値 |
void FK::fk_TextImage::setBackColor | ( | double | r, |
double | g, | ||
double | b, | ||
double | a | ||
) |
背景色設定関数3
背景色を設定します。透過色設定も有効となります。 各要素値については fk_Color に準じます。
[in] | r | 背景色の R 値(赤)要素値 |
[in] | g | 背景色の G 値(緑)要素値 |
[in] | b | 背景色の B 値(青)要素値 |
[in] | a | 背景色の A 値(透過)要素値 |
fk_Color FK::fk_TextImage::getBackColor | ( | void | ) | const |
void FK::fk_TextImage::setSmoothMode | ( | bool | mode | ) |
アンチエイリアシング効果設定関数
表示文字に対し、アンチエイリアシング効果の有無を設定します。 この設定を有効とした場合、 表示の際に文字色と背景色の中間色も描画に利用されるようになります。 逆に無効とした場合、描画の際には文字色と背景色以外は利用されなくなります。 デフォルトでは有効となっています。
[in] | mode | true の場合有効、false の場合無効となります。 |
bool FK::fk_TextImage::getSmoothMode | ( | void | ) | const |
void FK::fk_TextImage::setMonospaceMode | ( | bool | mode | ) |
等幅表示設定関数
文字の等幅表示設定を行います。 設定を有効とした場合、半角全角問わず全ての文字を等幅で表示します。 デフォルトでは無効となっています。 なお、 setCharSkip() によって設定する文字間幅は等幅においても有効となります。
[in] | mode | true の場合有効、false の場合無効となります。 |
bool FK::fk_TextImage::getMonospaceMode | ( | void | ) | const |
void FK::fk_TextImage::setMonospaceSize | ( | int | size | ) |
等幅表示文字幅設定関数
等幅表示の際の文字幅を設定します。単位はピクセルとなります。 デフォルトでは 0 が設定されています。
[in] | size | 文字幅 |
int FK::fk_TextImage::getMonospaceSize | ( | void | ) | const |
void FK::fk_TextImage::setCharSkip | ( | int | skip | ) |
文字間幅設定関数
文字同士の横方向の空白幅を設定します。 単位はピクセルとなります。 デフォルトは 0 に設定されています。
文字との対比については、解像度やフォントサイズに応じて変わってきます。 つまり、解像度やフォントサイズが大きい場合、 空白を作るには大きな値が必要となります。 従って、解像度やフォントサイズを変更した場合には、 この値も再度調整する必要があります。
[in] | skip | 空白幅 |
int FK::fk_TextImage::getCharSkip | ( | void | ) | const |
void FK::fk_TextImage::setLineSkip | ( | int | skip | ) |
行間幅設定関数
行同士の縦方向の空白幅を取得します。 単位はピクセルとなります。 デフォルトは 0 に設定されています。
文字との対比については、解像度やフォントサイズに応じて変わってきます。 つまり、解像度やフォントサイズが大きい場合、 空白を作るには大きな値が必要となります。 従って、解像度やフォントサイズを変更した場合には、 この値も再度調整する必要があります。
[in] | skip | 空白幅 |
int FK::fk_TextImage::getLineSkip | ( | void | ) | const |
void FK::fk_TextImage::setSpaceLineSkip | ( | int | skip | ) |
空行縦幅設定関数
文字列中に空行が入っていた場合の、その縦幅を設定します。 単位はピクセルとなります。 この値が 0 である場合、空行は結果的に省略されることになります。
文字との対比については、解像度やフォントサイズに応じて変わってきます。 つまり、解像度やフォントサイズが大きい場合、 空白を作るには大きな値が必要となります。 従って、解像度やフォントサイズを変更した場合には、 この値も再度調整する必要があります。
[in] | skip | 縦幅 |
int FK::fk_TextImage::getSpaceLineSkip | ( | void | ) | const |
void FK::fk_TextImage::setOffset | ( | int | up, |
int | down, | ||
int | left, | ||
int | right | ||
) |
オフセット設定関数
文字が実際に表示されている部分と、画面の縁までの幅を設定します。 単位はピクセルとなります。 デフォルトでは、全て 0 に設定されています。
文字との対比については、解像度やフォントサイズに応じて変わってきます。 つまり、解像度やフォントサイズが大きい場合、 空白を作るには大きな値が必要となります。 従って、解像度やフォントサイズを変更した場合には、 この値も再度調整する必要があります。
[in] | up | 上幅 |
[in] | down | 下幅 |
[in] | left | 左幅 |
[in] | right | 右幅 |
int FK::fk_TextImage::getUpOffset | ( | void | ) | const |
int FK::fk_TextImage::getDownOffset | ( | void | ) | const |
int FK::fk_TextImage::getLeftOffset | ( | void | ) | const |
int FK::fk_TextImage::getRightOffset | ( | void | ) | const |
void FK::fk_TextImage::setAlign | ( | fk_TextAlign | align | ) |
文字列寄せ方向(アライメント)設定関数
文字列を表示する際の、文字寄せ方向(アライメント)を設定します。
複数行に渡る文字列の場合で、各行の横幅が異なる場合や、 setMinLineWidth() によって画像の横幅をあらかじめ設定した場合などは、 行の横幅が画像の横幅に満たない状況が生じます。 このような行に対し、本関数でどちら側に寄るのかを設定します。 デフォルトは fk_TextAlign::LEFT 、つまり左寄せとなっています。
[in] | align | アライメント |
fk_TextAlign FK::fk_TextImage::getAlign | ( | void | ) | const |
void FK::fk_TextImage::setMinLineWidth | ( | int | width | ) |
画像最小横幅設定関数
生成される文字列板画像の横幅の最小値を設定します。 単位はピクセルとなります。 デフォルトは 0 に設定されています。
通常、文字列板として生成される画像の横幅は、 入力した文字列に依存します。 行の文字数が多ければ幅は広がり、逆に少ない場合は狭まります。 このような異なる画像を同じテクスチャ画像として連続に表示した場合、 一文字の横幅が画像によって変動してしまうという現象が生じます。 これは、あまり見栄えが良いとは言えません。 そのような場合、本関数を用いて十分な横幅を予め確保しておきます。 そうすることで、文字列はアライメントに従って適切に配置され、 文字の幅も画像によって変わることはありません。
ただし、ここで設定した横幅を超える幅を持つ行が発生した場合、 画像の幅はその行による幅に設定されることになります。
[in] | width | 画像最小横幅 |
int FK::fk_TextImage::getMinLineWidth | ( | void | ) | const |
bool FK::fk_TextImage::loadUniStr | ( | fk_UniStr * | str | ) |
文字列データ入力関数
fk_UniStr 型のインスタンスに格納されている文字列を入力します。
文字列板画像は、 この関数かまたは loadStrFile() が呼ばれた時点で生成されます。 従って、色や配置などの設定は本関数を呼ぶ前に行わなければなりません。
既に本関数を実行したインスタンスに対し、改めて本関数を実行することは可能です。 その場合は、新たな文字列と設定に基づき、文字列板画像を再構築します。
[in] | str | 文字列が格納されているインスタンス |
bool FK::fk_TextImage::loadStrFile | ( | const std::string | fileName, |
fk_StringCode | code = fk_StringCode::UTF16 |
||
) |
文字列データファイル入力関数
テキストファイルに入っている文字列を入力します。
文字列板画像は、 この関数かまたは loadUniStr() が呼ばれた時点で生成されます。 従って、色や配置などの設定は本関数を呼ぶ前に行わなければなりません。
既に本関数を実行したインスタンスに対し、改めて本関数を実行することは可能です。 その場合は、新たな文字列と設定に基づき、文字列板画像を再構築します。
[in] | fileName | ファイル名 |
[in] | code | 入力する文字列の想定日本語コード。 サポートしているのは JISコード、SJISコード、EUC、UTF-16 です。 具体的な指定値は fk_StringCode のリストを参照して下さい。 |
int FK::fk_TextImage::getLineNum | ( | void | ) | const |
int FK::fk_TextImage::getLineCharNum | ( | int | num | ) | const |
行中文字数参照関数
入力した文字列中の、指定した行の文字数を取得します。
[in] | num | 行番号。最初の行は 0 となります。 |
int FK::fk_TextImage::getAllCharNum | ( | void | ) | const |
int FK::fk_TextImage::getMaxLineWidth | ( | void | ) | const |
最大横幅参照関数
入力した文字列のうち、最も横幅が広い行の横幅を取得します。 単位はピクセルとなります。
画像の横幅を直接取得するには、 fk_Image::getWidth() を利用して下さい。
int FK::fk_TextImage::getMaxLineHeight | ( | void | ) | const |
最大縦幅参照関数
入力した文字列のうち、最も縦幅が広い行の縦幅を取得します。 単位はピクセルとなります。
画像全体の縦幅を取得するには、 fk_Image::getHeight() を利用して下さい。
int FK::fk_TextImage::getLineWidth | ( | int | num | ) | const |
行横幅参照関数
入力した文字列中の、指定した行の横幅を取得します。 単位はピクセルとなります。
[in] | num | 行番号。最初の行は 0 となります。 |
int FK::fk_TextImage::getLineHeight | ( | int | num | ) | const |
行縦幅参照関数
入力した文字列中の、指定した行の縦幅を取得します。 単位はピクセルとなります。
[in] | num | 行番号。最初の行は 0 となります。 |
int FK::fk_TextImage::getLineStartXPos | ( | int | num | ) | const |
行開始位置 x 成分取得関数
入力した文字列中の、 指定した行の開始位置(文字列左下部分)の x 成分を取得します。 単位はピクセルとなります。
[in] | num | 行番号。最初の行は 0 となります。 |
int FK::fk_TextImage::getLineStartYPos | ( | int | num | ) | const |
行開始位置 y 成分取得関数
入力した文字列中の、 指定した行の開始位置(文字列左下部分)の y 成分を取得します。 単位はピクセルとなります。
[in] | num | 行番号。最初の行は 0 となります。 |
void FK::fk_TextImage::setSendingMode | ( | fk_TextSendingMode | mode | ) |
文字送りモード設定関数
この関数は、文字送りのモードを設定します。
「文字送り」とは、読み込んだ文字列を最初は表示せず、 一文字ずつ、あるいは一行ずつ徐々に表示していく機能のことです。 文字送りを有効とした場合、 send() を呼び出すごとに一文字ずつ、あるいは一行ずつが表示されていきます。 一度表示した文字列については、 clear() を呼び出すことで初期状態 (文字が表示されていない状態)に戻すことができます。
本関数は、文字列を loadUniStr() や loadStrFile() で入力する前に設定しておくことが可能です。 また、入力後に動的に変更することも可能です。
[in] | mode | 文字送りモード。以下の値が設定できます。
|
fk_TextSendingMode FK::fk_TextImage::getSendingMode | ( | void | ) | const |
bool FK::fk_TextImage::send | ( | void | ) |
文字送り実行関数
setSendingMode() で指定したモードに従い、 文字送りを行います。
bool FK::fk_TextImage::finish | ( | void | ) |
文字送り完了関数
文字送りが有効である場合に、 まだ表示されていない文字を全て表示させます。
bool FK::fk_TextImage::clear | ( | void | ) |
文字送り初期化関数
文字送りが有効である場合に、 全ての文字を初期状態、つまり非表示の状態に戻します。
|
static |
キャッシュ機能制御関数
この関数は、フォントデータのキャッシュの制御を行います。 デフォルトでは無効となっています。
文字列の画像を生成する際には、 入力されたフォントデータからビットマップとしての 画像情報に変換するという処理がなされます。 同じ文字に対してこの処理を行うことは、計算時間の点で無駄となります。 そこで、 fk_TextImage には一度得た画像情報を保存しておき、 同じ文字が登場した際には再利用するという機能があります。 これが「キャッシュ機能」です。 特に数字やアルファベット、平仮名などは再利用する頻度が高いため、 本機能を有効とすることで処理が高速となる利点があります。
一方、キャッシュ機能はメモリの利用量が増えることを意味します。 高い解像度やフォントサイズを用いている場合は、 キャッシュのメモリ利用量も膨大となっていきますので、 場合によっては処理速度がむしろ低下することもありえます。
ここで利用されるキャッシュデータは、 インスタンス毎ではなくシステム全体で共有されます。 従って、異なるインスタンスで読み込んだ文字に関しても キャッシュ効果が働くことになります。
[in] | mode | true であれば有効、false であれば無効とします。 |
|
static |
|
static |