TNB Library
クラス | 公開メンバ関数 | 全メンバ一覧
CDirectDraw クラス

DirectDraw 管理. [詳解]

#include <TnbDxDraw.h>

+ CDirectDraw の継承関係図

クラス

class  CSurface
 DirectDraw サーフェス管理. [詳解]
 
struct  TBuffer
 バッファ管理型. [詳解]
 

公開メンバ関数

 CDirectDraw (void)
 コンストラクタ [詳解]
 
bool ClearBackbufferSurface (void)
 [描画] バックバッファクリア [詳解]
 
bool Create (HWND hWnd, int bitsPixel=-1)
 [作成] 作成. [詳解]
 
CSurface CreateWorkSurfase (int height, int width)
 
void Destroy (void)
 [破棄] 破棄. [詳解]
 
bool Flip (void)
 [処理] フィリップ. [詳解]
 
const SIZE & GetBackbufferSize (void) const
 [取得] バックバッファサーフェスのサイズ取得. [詳解]
 
CSurfaceGetBackbufferSurface (void)
 [取得] バックバッファ取得. [詳解]
 
int GetBitsPixel (void) const
 [取得] ピクセル BIT 数取得. [詳解]
 
const SIZE & GetPrimarySize (void) const
 [取得] プライマリサーフェスのサイズ取得. [詳解]
 
bool Redraw (void)
 [表示] 再表示. [詳解]
 
bool SetFullScreenMode (bool isFull)
 [設定] フルスクリーンモード設定. [詳解]
 
void SetOffset (int x, int y, int magnificX, int magnificY)
 [設定] オフセット設定. [詳解]
 
void SetOffset (int x=0, int y=0, int magnific=1)
 [設定] オフセット設定. [詳解]
 
bool SetSize (const SIZE &primarySize, const SIZE &backSize)
 [設定] サイズ設定. [詳解]
 
bool SetSize (const SIZE &size)
 [設定] サイズ設定. [詳解]
 
void WaitForVerticalBlank (void)
 [処理] 垂直同期待ち. [詳解]
 
 ~CDirectDraw (void)
 デストラクタ [詳解]
 

詳解

DirectDraw 管理.

必要ファイル
TnbDxDraw.h
DirectX 7 以上の SDK も必要です。
日付
09/07/23 新規作成
10/02/16 SetOffset() で、X Y 別々の倍率を指定できるようにした。

TnbDxDraw.h55 行目に定義があります。

構築子と解体子

◆ CDirectDraw()

CDirectDraw ( void  )

コンストラクタ

TnbDxDraw.h506 行目に定義があります。

◆ ~CDirectDraw()

~CDirectDraw ( void  )

デストラクタ

TnbDxDraw.h519 行目に定義があります。

関数詳解

◆ ClearBackbufferSurface()

bool ClearBackbufferSurface ( void  )

[描画] バックバッファクリア

覚え書き
真っ黒にします。
戻り値
true成功
false失敗

TnbDxDraw.h802 行目に定義があります。

◆ Create()

bool Create ( HWND  hWnd,
int  bitsPixel = -1 
)

[作成] 作成.

DirectDraw を作成します。

覚え書き
SetSize() にて、先にサイズを指定しておく必要があります。
引数
hWnd関連するウィンドウハンドル.
bitsPixel1ピクセルのビット数。省略すると、現在のディスプレイの設定が使われます( GetBitsPixel() で得ることが可能 )。
戻り値
true成功
false失敗

TnbDxDraw.h591 行目に定義があります。

◆ CreateWorkSurfase()

CSurface CreateWorkSurfase ( int  height,
int  width 
)

TnbDxDraw.h820 行目に定義があります。

◆ Destroy()

void Destroy ( void  )

[破棄] 破棄.

DirectDraw オブジェクトを破棄します。

覚え書き
作成していなければ何もしません。

TnbDxDraw.h623 行目に定義があります。

◆ Flip()

bool Flip ( void  )

[処理] フィリップ.

覚え書き
フルスクリーンモードとウィンドウモードで動作が異なります。
フルスクリーンモードの場合、バックサーフェスとプライマリサーフェスを入れ替えます。
ウィンドウモードの場合、バックサーフェスの画像をプライマリサーフェスにコピーします。
戻り値
true成功
false失敗

TnbDxDraw.h761 行目に定義があります。

◆ GetBackbufferSize()

const SIZE & GetBackbufferSize ( void  ) const

[取得] バックバッファサーフェスのサイズ取得.

戻り値
サイズ

TnbDxDraw.h647 行目に定義があります。

◆ GetBackbufferSurface()

CSurface & GetBackbufferSurface ( void  )

[取得] バックバッファ取得.

戻り値
バックバッファの参照.

TnbDxDraw.h815 行目に定義があります。

◆ GetBitsPixel()

int GetBitsPixel ( void  ) const

[取得] ピクセル BIT 数取得.

覚え書き
Create() 前は、システムの値、 Create() 後は、 DirectDraw から値を得ています。
戻り値
マイナスエラー。
0以上成功。値は、1ピクセルの BIT 数です。

TnbDxDraw.h658 行目に定義があります。

◆ GetPrimarySize()

const SIZE & GetPrimarySize ( void  ) const

[取得] プライマリサーフェスのサイズ取得.

戻り値
サイズ

TnbDxDraw.h638 行目に定義があります。

◆ Redraw()

bool Redraw ( void  )

[表示] 再表示.

覚え書き
ウィンドウモードの場合のみ、再表示を行います。 通常、 WM_PAINT 時にコールします。
フルスクリーンモードの場合、何もしません。
戻り値
true成功
false失敗。フルスクリーンモードの場合も false が返ります。

TnbDxDraw.h734 行目に定義があります。

◆ SetFullScreenMode()

bool SetFullScreenMode ( bool  isFull)

[設定] フルスクリーンモード設定.

フルスクリーンモードとウィンドウモードを切替えます。

覚え書き
初期状態ではウィンドウモードです。
Create() 前でも後でも機能します。
引数
isFulltrue を指定するとフルスクリーンモード。 false を指定するとウィンドウモードになります。
戻り値
true成功
false失敗

TnbDxDraw.h533 行目に定義があります。

◆ SetOffset() [1/2]

void SetOffset ( int  x,
int  y,
int  magnificX,
int  magnificY 
)

[設定] オフセット設定.

ウィンドウモード時に、表示するオフセットを指定できます。

覚え書き
オフセット設定後、再表示します。
引数
xX オフセット。
yY オフセット。
magnificXX 倍率。
magnificYY 倍率。

TnbDxDraw.h688 行目に定義があります。

◆ SetOffset() [2/2]

void SetOffset ( int  x = 0,
int  y = 0,
int  magnific = 1 
)

[設定] オフセット設定.

ウィンドウモード時に、表示するオフセットを指定できます。

覚え書き
オフセット設定後、再表示します。
引数
xX オフセット。
yY オフセット。
magnific倍率。

TnbDxDraw.h713 行目に定義があります。

◆ SetSize() [1/2]

bool SetSize ( const SIZE &  primarySize,
const SIZE &  backSize 
)

[設定] サイズ設定.

プライマリサーフェスとバックバッファサーフェスのサイズを設定します。

覚え書き
Create() 後でも機能します。
引数
primarySizeプライマリサーフェスのサイズ
backSizeバックバッファサーフェスのサイズ。
戻り値
true成功
false失敗

TnbDxDraw.h570 行目に定義があります。

◆ SetSize() [2/2]

bool SetSize ( const SIZE &  size)

[設定] サイズ設定.

プライマリサーフェスとバックバッファサーフェスのサイズを設定します。

覚え書き
Create() 後でも機能します。
引数
sizeプライマリサーフェスとバックバッファサーフェスのサイズ。
戻り値
true成功
false失敗

TnbDxDraw.h556 行目に定義があります。

◆ WaitForVerticalBlank()

void WaitForVerticalBlank ( void  )

[処理] 垂直同期待ち.

TnbDxDraw.h788 行目に定義があります。