クラス SGFontRendering

SGFontDataの集合クラス. [詳細]

#include <sgfont.h>

すべてのメンバ一覧

Public メソッド

 SGFontRendering ()
 コンストラクタ
virtual ~SGFontRendering ()
 デストラクタ
void Release ()
 確保したリソースを解放する
void SetPalette (SGPalette *palette)
 書体表示に使用するパレットを指定する
int GetInfo (SGFontData &font, int *pwidth=NULL, int *pheight=NULL, int *pascender=NULL, int *pdescender=NULL)
 書体の情報を取得する
SGRect GetStringRect (const char *text, int bx, int by, SGFontData &font, int *pascender=NULL, int *pheight=NULL)
 文字列を描画するのに必要な領域を求める
SGRect DrawString (SGSurface *base, const char *text, int bx, int by, SGFontData &font)
 文字列を描画する
void GetStringPath (const char *text, SGFontData &font, SGFontRequsterCallback func, void *userdata=NULL)
 文字列のベクトルデータを取得する

Public 変数

SGFontRequsterCallback PathCallback
void * mUserData
SGString mFontFilename
FT_Library mFreeTypeLibrary

フレンド

class SGGraphics

説明

SGFontDataの集合クラス.

このクラスは SGFontData の配列を管理します。


コンストラクタとデストラクタ

SGFontRendering (  ) 

コンストラクタ

~SGFontRendering (  )  [virtual]

デストラクタ


関数

void Release (  ) 

確保したリソースを解放する

確保したリソースを解放します。

<

void SetPalette ( SGPalette palette  ) 

書体表示に使用するパレットを指定する

書体表示に使用するパレットを指定します。
このパレットは描画モードが256色モードの時のみ使用されます。

int GetInfo ( SGFontData font,
int *  pwidth = NULL,
int *  pheight = NULL,
int *  pascender = NULL,
int *  pdescender = NULL 
)

書体の情報を取得する

書体の情報を取得します。

引数:
font フォントデータ
pwidth 書体サイズの幅情報取得用変数ポインタ(省略可能)
pheight 書体サイズの高さ情報取得用変数ポインタ(省略可能)
pascender 書体のアッセンダ情報取得用変数ポインタ(省略可能)
pdescender 書体のディセンダ情報取得用変数ポインタ(省略可能)
戻り値:
結果(成功:TRUE/失敗:FALSE)
SGRect GetStringRect ( const char *  text,
int  bx,
int  by,
SGFontData font,
int *  pascender = NULL,
int *  pheight = NULL 
)

文字列を描画するのに必要な領域を求める

文字列を描画するのに必要な領域を求めます。
文字列を表示する前に表示を行う領域を知りたい時に使用します。

引数:
text 描画する文字列
x 表示開始位置x座標
y 表示開始位置y座標
font フォントデータ
ascender 書体のアッセンダ情報取得用変数ポインタ(省略可能)
height 書体の高さ情報取得用変数ポインタ(省略可能)
SGRect DrawString ( SGSurface base,
const char *  text,
int  bx,
int  by,
SGFontData font 
)

文字列を描画する

文字列を表示する基本関数です。
SGCore::DrawTextもこの関数を使用します。
与える座標(原点)は、横書の場合は開始文字のベースライン左端、縦書の場合は上端中央です。
※SGCoreDrawTextは文字列の左上が原点です。原点が違いますので注意して下さい。

引数:
base 表示を行うサーフェス
text 描画する文字列
bx 開始位置の座標X
by 開始位置の座標Y
font フォントデータ
戻り値:
rect 表示を行った領域(更新エリアとして使用できます)
void GetStringPath ( const char *  text,
SGFontData font,
SGFontRequsterCallback  func,
void *  userdata = NULL 
)

文字列のベクトルデータを取得する

文字列のベクトルデータを取得します。
データはバッファ経由でなく、関数コールバックによって行われます。
第3パラメータにセットした関数はベクトルデータ1セグメント毎にコールされます。
登録する関数は
void Callback(int type,void* data,int x1,int y1,int x2,int y2,int x3,int y3);
というものを用意し、そのアドレスを登録します。
コールバックされる際の各パラメータの意味は次の通りです。
int type
第3パラメータ以降にセットされる座標の取り扱い方法を決定します。
0〜4の値がセットされます。次の様な定義が用意されています。
FONTRENDERING_MOVE_TO(0)
移動:カレント座標を点(x1,y1)に更新します。
FONTRENDERING_LINE_TO(1)
直線:カレント座標が始点、点(x1,y1)が終点の直線データ
処理後、カレント座標を点(x1,y1)に更新します。
FONTRENDERING_CONIC_TO(2)
円錐曲線:カレント座標が始点、点(x3,y3)が終点、点(x1,y1)がコントロール点の円錐曲線データ
処理後、カレント座標を点(x1,y1)に更新します。
FONTRENDERING_CUBIC_TO(3)
ベジェ曲線:カレント座標が始点、点(x3,y3)が終点、点(x1,y1)、点(x2,y2)がコントロール点のベジェ曲線データ
処理後、カレント座標を点(x1,y1)に更新します。
FONTRENDERING_TRANSLATE(4)
平行移動:原点を点(x1,y1)に移動します。
文字のベクトルデータには含まれません。文字列中の1文字毎に1度コールされます。
void* data
この関数 GetStringPath を使用する時の第4パラメータにセットしたポインタ。
使い方は任意です。 int x1 int y1 受け取るベクトルデータ。点(x1,y1) int x2 int y2 受け取るベクトルデータ。点(x2,y2) int x3 int y3 受け取るベクトルデータ。点(x3,y3)

引数:
text 描画する文字列
font フォントデータ
func コールバック関数
userdata コールバック関数 func に渡すポインタ(使い方は任意)

このクラスの説明は次のファイルから生成されました:

PlusG リファレンスマニュアル Ver 2.0.0