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で終了
}
System::End();
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を実装しています。