SDXFrameWork  0.07
SDXFrameWork
 全て クラス ネームスペース 関数 変数 列挙型 列挙型の値 ページ
Public メソッド | すべてのメンバ一覧
クラス SDX::Font

フォントデータを表すクラス. [詳細]

#include <Font.h>

SDX::IFontを継承しています。

Public メソッド

 Font (const char *フォント名, int 大きさ, int 太さ=1, int 改行高さ=0, FontType フォントタイプ=FontType::Normal)
 
bool Load (const char *フォント名, int 大きさ, int 太さ=1, int 改行高さ=0, FontType フォントタイプ=FontType::Normal)
 メモリ上にフォントを作成する. [詳細]
 
bool Release () const
 フォントをメモリから開放する. [詳細]
 
FontHandle GetHandle () const
 フォントのハンドルを取得. [詳細]
 
Image MakeImage (Color 文字色, bool 反転フラグ, VariadicStream 描画する文字列) const
 フォントから画像を生成
 
int GetSize () const
 大きさを取得. [詳細]
 
int Getthick () const
 太さを取得. [詳細]
 
int GetDrawStringWidth (VariadicStream 幅を計算する文字列) const
 描画時の幅を取得[DXLIB]. [詳細]
 
bool Draw (int X座標, int Y座標, Color 色, VariadicStream 描画する文字列) const
 文字を描画. [詳細]
 
bool ZMask (int X座標, int Y座標, ZMaskType Zマスクタイプ, VariadicStream 描画する文字列) const
 文字をマスク[DXLIB]. [詳細]
 
bool DrawRotate (int X座標, int Y座標, double 拡大率, double 角度, Color 描画色, bool 反転フラグ, VariadicStream 描画する文字列) const
 文字を回転して描画. [詳細]
 
bool ZMaskRotate (int X座標, int Y座標, double 拡大率, double 角度, ZMaskType Zマスクタイプ, bool 反転フラグ, VariadicStream 描画する文字列) const
 文字を回転してマスク[DXLIB]. [詳細]
 
bool DrawExtend (int X座標, int Y座標, double X拡大率, double Y拡大率, Color 描画色, VariadicStream 描画する文字列) const
 拡大率を指定して文字を描画. [詳細]
 
bool ZMaskExtend (int X座標, int Y座標, double X拡大率, double Y拡大率, ZMaskType Zマスクタイプ, VariadicStream 描画する文字列) const
 拡大率を指定して文字をマスク[DXLIB]. [詳細]
 

説明

フォントデータを表すクラス.

//フォントを使って文字列を描画する
bool SampleFont()
{
using namespace SDX;
System::Initialise("sample", 600, 400);
//SDLとDXLIBでフォント指定方法が違うので注意が必要
Font fontA( SystemFont::Gothic , 20, 1, 10);
Font fontB( SystemFont::Mincho , 20, 1, 10);
double angle = 0;
while (System::Update())
{
angle += 0.02;
fontA.Draw(int(10 * angle),10,Color::White,"Hello!\nこんにちは\n今日は");
fontB.Draw(int(10 * angle), 200, Color::Blue, "Hello!\nこんにちは\n今日は");
fontA.DrawRotate(300, 200, 1, angle, Color::White, false, "文字の回転\nてすとしますよ~~~");
fontB.DrawRotate(300, 200, 1, angle/2, Color::White, false, "文字の回転\nてすとしますよ~~~");
if (Input::key.Return.on) break;//Enterで終了
}
return true;
}

関数

bool SDX::Font::Load ( const char *  フォント名,
int  大きさ,
int  太さ = 1,
int  改行高さ = 0,
FontType  フォントタイプ = FontType::Normal 
)

メモリ上にフォントを作成する.

太さは0~9で指定、大きさと太さは-1にするとデフォルトになる\n

改行高さは0の場合、改行後の文字が上下くっつく。 SDLとDXLIBではフォント名の指定方法が違うので注意。 SDLでは太さとフォントタイプが無効

bool SDX::Font::Release ( ) const

フォントをメモリから開放する.

FontHandle SDX::Font::GetHandle ( ) const

フォントのハンドルを取得.

int SDX::Font::GetSize ( ) const

大きさを取得.

int SDX::Font::Getthick ( ) const

太さを取得.

int SDX::Font::GetDrawStringWidth ( VariadicStream  幅を計算する文字列) const

描画時の幅を取得[DXLIB].

bool SDX::Font::Draw ( int  X座標,
int  Y座標,
Color  ,
VariadicStream  描画する文字列 
) const
virtual

文字を描画.

SDX::IFontを実装しています。

bool SDX::Font::ZMask ( int  X座標,
int  Y座標,
ZMaskType  Zマスクタイプ,
VariadicStream  描画する文字列 
) const
virtual

文字をマスク[DXLIB].

SDX::IFontを実装しています。

bool SDX::Font::DrawRotate ( int  X座標,
int  Y座標,
double  拡大率,
double  角度,
Color  描画色,
bool  反転フラグ,
VariadicStream  描画する文字列 
) const
virtual

文字を回転して描画.

呼び出す度に画像イメージを作成するので処理は重い

SDX::IFontを実装しています。

bool SDX::Font::ZMaskRotate ( int  X座標,
int  Y座標,
double  拡大率,
double  角度,
ZMaskType  Zマスクタイプ,
bool  反転フラグ,
VariadicStream  描画する文字列 
) const
virtual

文字を回転してマスク[DXLIB].

SDX::IFontを実装しています。

bool SDX::Font::DrawExtend ( int  X座標,
int  Y座標,
double  X拡大率,
double  Y拡大率,
Color  描画色,
VariadicStream  描画する文字列 
) const
virtual

拡大率を指定して文字を描画.

SDX::IFontを実装しています。

bool SDX::Font::ZMaskExtend ( int  X座標,
int  Y座標,
double  X拡大率,
double  Y拡大率,
ZMaskType  Zマスクタイプ,
VariadicStream  描画する文字列 
) const
virtual

拡大率を指定して文字をマスク[DXLIB].

SDX::IFontを実装しています。