グラフィックス関連

関数

int DrawLine (int x1, int y1, int x2, int y2, int color)
 線分を描画します(本家互換)
int DrawBox (int x1, int y1, int x2, int y2, int color, int fillflag)
 矩形を描画します(本家互換)
int DrawCircle (int x, int y, int r, int color, int fillflag)
 円を描画します(本家互換)
int DrawOval (int x, int y, int rx, int ry, int color, int fillflag)
 楕円を描画します(本家互換)
int DrawTriangle (int x1, int y1, int x2, int y2, int x3, int y3, int color, int fillflag)
 三角形を描画します(本家互換)
int DrawPixel (int x, int y, int color)
 点を描画する(本家互換)
int GetPixel (int x, int y)
 指定点の色コードを取得する(本家互換)
int LoadGraphScreen (int x, int y, const char *filename, int trans)
 画像を読み込んで画面に表示する(本家互換)
int LoadGraph (const char *FileName)
 画像を読み込みます(ほぼ本家互換)
int LoadDivGraph (const char *filename, int allnum, int xnum, int ynum, int xsize, int ysize, int *handlebuf)
 一枚の画像から複数のグラフィックスハンドルを作ります(ほぼ本家互換)
int MakeGraph (int xsize, int ysize)
 空のグラフィックスハンドルを生成する(本家互換)
int DrawGraph (int x, int y, int gh, int trans)
 画像の描画を行います。(本家互換)
int DrawTurnGraph (int x, int y, int gh, int trans)
 画像の左右反転描画を行います。(本家互換)
int DrawExtendGraph (int x1, int y1, int x2, int y2, int gh, int trans)
 画像の拡大縮小描画を行います。(本家互換)
int DrawRotaGraph (int x, int y, float scale, float angle, int gh, int trans, int turn DXPDEFARG(0))
 画像の回転描画を行います。(本家互換)
int DrawRotaGraphF (float x, float y, float scale, float angle, int gh, int trans, int turn DXPDEFARG(0))
 画像の回転描画を行います。(本家互換)
int DrawRotaGraph2 (int x, int y, int cx, int cy, float scale, float angle, int gh, int trans, int turn DXPDEFARG(0))
 回転中心座標指定可能な画像の回転描画を行います。(本家互換)
int DrawRotaGraph2F (float x, float y, float cx, float cy, float scale, float angle, int gh, int trans, int turn DXPDEFARG(0))
 回転中心座標指定可能な画像の回転描画を行います。(本家互換)
int DrawModiGraph (int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, int gh, int trans)
 画像の自由変形描画を行います。(本家互換)
int DrawModiGraphF (float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4, int gh, int trans)
 画像の自由変形描画を行います。(本家互換) float型で座標指定できるDrawModiGraphです。
int DrawRectGraph (int destx, int desty, int srcx, int srcy, int width, int height, int gh, int trans, int turn)
 画像の指定矩形部分の描画を行います。(本家互換)
int DerivationGraph (int srcx, int srcy, int width, int height, int gh)
 指定のグラフィックスハンドルの指定の部分だけを範囲とするグラフィックスハンドルを作る(本家互換)
int GetDrawScreenGraph (int x1, int y1, int x2, int y2, int gh)
 描画先に設定されているグラフィックから指定領域を別のグラフィックへ読みこむ(本家互換)
int GetGraphSize (int gh, int *xbuf, int *ybuf)
 グラフィックの大きさを得る(本家互換)
int InitGraph (void)
 全てのグラフィックスハンドルを削除します(本家互換)
int DeleteGraph (int gh)
 グラフィックスハンドルを削除します(本家互換)
int SetDrawMode (int mode)
 描画モードをセットする(本家互換)
int SetDrawBlendMode (int blendmode, int param)
 ブレンドモードをセットする(本家互換)
int SetDrawBright (int red, int green, int blue)
 描画輝度をセットする(本家互換)
int SetTransColor (int color)
 画像に設定する透過色を設定します(本家互換)
int SetGraphMode (int xsize, int ysize, int bpp)
 画面モードを設定します(本家互換)
int GetScreenState (int *xsize, int *ysize, int *bpp)
 現在の画面の大きさとカラービット数を得る(本家互換)
int SetDrawArea (int x1, int y1, int x2, int y2)
 描画可能領域のセット(本家互換)
int ClearDrawScreen (void)
 描画先のグラフィックスをクリアします。(本家互換)
int GetColor (int Red, int Green, int Blue)
 色コードを返します(本家互換)
int SetDrawScreen (int ghandle)
 描画先を変更します
int ScreenFlip (void)
 裏画面と表画面を交換します(本家互換)
int SetWaitVSyncFlag (int flag)
 ScreenFlip、ScreenCopy関数実行時に垂直同期待ちをするかのフラグをセット(本家互換).
int MoveGraphToVRAM (int gh)
 可能ならVRAM上にテクスチャのコピーを置き、それを使うようにする
int MoveGraphToDDR (int gh)
 VRAM上にテクスチャのデータがあれば、それをメインメモリーのテクスチャにコピーしてからVRAM上の領域を開放する.
int SwizzleGraph (int gh)
 可能ならグラフィックをSwizzleする
int UnswizzleGraph (int gh)
 可能ならグラフィックのSwizzleを解除する
int ConvertGraphFormat (int gh, int psm)
 グラフィックのフォーマットを変更する。
int WaitGPUSync (void)
 GPUが処理を終えるのを待ちます.
int GetDisplayFormat (void)
 画面のピクセルフォーマットを得る
int SetDisplayFormat (int psm)
 画面のピクセルフォーマットを変更する
void * GetFramebufferAddress (void)
 フレームバッファ(裏画面)へのポインタを返します
void * GetDisplaybufferAddress (void)
 ディスプレイバッファ(表画面)へのポインタを返します

関数

int ClearDrawScreen ( void   ) 

描画先のグラフィックスをクリアします。(本家互換)

戻り値:
0 成功
-1 失敗
int ConvertGraphFormat ( int  gh,
int  psm 
)

グラフィックのフォーマットを変更する。

グラフィックのフォーマットを変更できます。 以下のフォーマットのみ入出力対応です。パレット画像には適用できません。

  • DXP_FMT_4444
  • DXP_FMT_5650
  • DXP_FMT_5551
  • DXP_FMT_8888
    引数:
    gh 対象のグラフィックスハンドル
    psm ピクセルフォーマット
    戻り値:
    0 成功
    -1 失敗
int DeleteGraph ( int  gh  ) 

グラフィックスハンドルを削除します(本家互換)

引数:
gh グラフィックスハンドル
戻り値:
0 成功
-1 失敗
int DerivationGraph ( int  srcx,
int  srcy,
int  width,
int  height,
int  gh 
)

指定のグラフィックスハンドルの指定の部分だけを範囲とするグラフィックスハンドルを作る(本家互換)

引数:
srcx,srcy グラフィック中の抜き出したい矩形の左上座標
width,height 抜き出すグラフィックのサイズ
gh 抜き出したいグラフィックのハンドル
戻り値:
グラフィックスハンドル
戻り値:
-1 失敗
int DrawBox ( int  x1,
int  y1,
int  x2,
int  y2,
int  color,
int  fillflag 
)

矩形を描画します(本家互換)

引数:
x1,y1 矩形の左上の座標
x2,y2 矩形の右下の座標
color 矩形の色
fillflag 塗りつぶしフラグ
戻り値:
0 成功
-1 失敗
int DrawCircle ( int  x,
int  y,
int  r,
int  color,
int  fillflag 
)

円を描画します(本家互換)

引数:
x,y 円の中心座標
r 円の半径
color 円の色
fillflag 塗りつぶしフラグ
戻り値:
0 成功
-1 失敗
int DrawExtendGraph ( int  x1,
int  y1,
int  x2,
int  y2,
int  gh,
int  trans 
)

画像の拡大縮小描画を行います。(本家互換)

引数:
x1 左上のX座標
y1 左上のY座標
x2 右下のX座標
y2 右下のY座標
gh 描画するグラフィックスのハンドル
trans 透過フラグ
戻り値:
0 成功
-1 失敗
int DrawGraph ( int  x,
int  y,
int  gh,
int  trans 
)

画像の描画を行います。(本家互換)

引数:
x 描画基点のX座標
y 描画基点のY座標
gh 描画するグラフィックスのハンドル
trans 透過フラグ
戻り値:
0 成功
-1 失敗
int DrawLine ( int  x1,
int  y1,
int  x2,
int  y2,
int  color 
)

線分を描画します(本家互換)

引数:
x1 線分の始点のX座標
y1 線分の始点のY座標
x2 線分の終点のX座標
y2 線分の終点のY座標
color 線分の色
戻り値:
0 成功
-1 失敗
int DrawModiGraph ( int  x1,
int  y1,
int  x2,
int  y2,
int  x3,
int  y3,
int  x4,
int  y4,
int  gh,
int  trans 
)

画像の自由変形描画を行います。(本家互換)

引数:
x1 左上のX座標
y1 左上のY座標
x2 右上のX座標
y2 右上のY座標
x3 右下のX座標
y3 右下のY座標
x4 左下のX座標
y4 左下のY座標
gh 描画するグラフィックスのハンドル
trans 透過フラグ
戻り値:
0 成功
-1 失敗
int DrawModiGraphF ( float  x1,
float  y1,
float  x2,
float  y2,
float  x3,
float  y3,
float  x4,
float  y4,
int  gh,
int  trans 
)

画像の自由変形描画を行います。(本家互換) float型で座標指定できるDrawModiGraphです。

引数:
x1 左上のX座標
y1 左上のY座標
x2 右上のX座標
y2 右上のY座標
x3 右下のX座標
y3 右下のY座標
x4 左下のX座標
y4 左下のY座標
gh 描画するグラフィックスのハンドル
trans 透過フラグ
戻り値:
0 成功
-1 失敗
int DrawOval ( int  x,
int  y,
int  rx,
int  ry,
int  color,
int  fillflag 
)

楕円を描画します(本家互換)

引数:
x,y 楕円の中心座標
rx 楕円のX方向半径
ry 楕円のY方向半径
color 楕円の色
fillflag 塗りつぶしフラグ
戻り値:
0 成功
-1 失敗
int DrawPixel ( int  x,
int  y,
int  color 
)

点を描画する(本家互換)

引数:
x,y 点の座標
color 点の色
戻り値:
0 成功
-1 失敗
int DrawRectGraph ( int  destx,
int  desty,
int  srcx,
int  srcy,
int  width,
int  height,
int  gh,
int  trans,
int  turn 
)

画像の指定矩形部分の描画を行います。(本家互換)

引数:
destx 描画先の描画基点X座標
desty 描画先の描画基点Y座標
srcx 描画元の描画基点X座標
srcy 描画元の描画基点Y座標
width 描画する部分のX方向の大きさ
height 描画する部分のY方向の大きさ
gh 描画するグラフィックスのハンドル
trans 画像透過フラグ
turn 画像反転フラグ
戻り値:
0 成功
-1 失敗
int DrawRotaGraph ( int  x,
int  y,
float  scale,
float  angle,
int  gh,
int  trans,
int turn   DXPDEFARG0 
)

画像の回転描画を行います。(本家互換)

引数:
x 画像中心位置のX座標
y 画像中心位置のY座標
scale 拡大率 1.0fで等倍
angle 回転角度
gh 描画するグラフィックスのハンドル
trans 透過フラグ
turn 画像反転フラグ
戻り値:
0 成功
-1 失敗
int DrawRotaGraph2 ( int  x,
int  y,
int  cx,
int  cy,
float  scale,
float  angle,
int  gh,
int  trans,
int turn   DXPDEFARG0 
)

回転中心座標指定可能な画像の回転描画を行います。(本家互換)

引数:
x,y スクリーン上の回転中心位置の座標
cx,cy 画像上の回転中心位置の座標
scale 拡大率 1.0fで等倍
angle 回転角度
gh 描画するグラフィックスのハンドル
trans 透過フラグ
turn 画像反転フラグ
戻り値:
0 成功
-1 失敗
int DrawRotaGraph2F ( float  x,
float  y,
float  cx,
float  cy,
float  scale,
float  angle,
int  gh,
int  trans,
int turn   DXPDEFARG0 
)

回転中心座標指定可能な画像の回転描画を行います。(本家互換)

float型で座標指定できるDrawRotaGraph2です。

引数:
x,y スクリーン上の回転中心位置の座標
cx,cy 画像上の回転中心位置の座標
scale 拡大率 1.0fで等倍
angle 回転角度
gh 描画するグラフィックスのハンドル
trans 透過フラグ
turn 画像反転フラグ
戻り値:
0 成功
-1 失敗
int DrawRotaGraphF ( float  x,
float  y,
float  scale,
float  angle,
int  gh,
int  trans,
int turn   DXPDEFARG0 
)

画像の回転描画を行います。(本家互換)

float型で座標指定できるDrawRotaGraphです。

引数:
x 画像中心位置のX座標
y 画像中心位置のY座標
scale 拡大率 1.0fで等倍
angle 回転角度
gh 描画するグラフィックスのハンドル
trans 透過フラグ
turn 画像反転フラグ
戻り値:
0 成功
-1 失敗
int DrawTriangle ( int  x1,
int  y1,
int  x2,
int  y2,
int  x3,
int  y3,
int  color,
int  fillflag 
)

三角形を描画します(本家互換)

引数:
x1,y1 頂点座標1
x2,y2 頂点座標2
x3,y3 頂点座標3
color 三角形の色
fillflag 塗りつぶしフラグ
戻り値:
0 成功
-1 失敗
int DrawTurnGraph ( int  x,
int  y,
int  gh,
int  trans 
)

画像の左右反転描画を行います。(本家互換)

引数:
x 描画基点のX座標
y 描画基点のY座標
gh 描画するグラフィックスのハンドル
trans 透過フラグ
戻り値:
0 成功
-1 失敗
int GetColor ( int  Red,
int  Green,
int  Blue 
)

色コードを返します(本家互換)

引数:
Red 赤成分
Green 緑成分
Blue 青成分
戻り値:
色コード
void* GetDisplaybufferAddress ( void   ) 

ディスプレイバッファ(表画面)へのポインタを返します

戻り値:
ディスプレイバッファへのポインタ
int GetDisplayFormat ( void   ) 

画面のピクセルフォーマットを得る

戻り値は次のうちどれかです

  • DXP_FMT_4444
  • DXP_FMT_5551
  • DXP_FMT_5650
  • DXP_FMT_8888
    戻り値:
    ピクセルフォーマット
    戻り値:
    -1 失敗
int GetDrawScreenGraph ( int  x1,
int  y1,
int  x2,
int  y2,
int  gh 
)

描画先に設定されているグラフィックから指定領域を別のグラフィックへ読みこむ(本家互換)

読込先のグラフィックはVRAM上にあり、Swizzleされておらず、パレット画像でない必要があります。 なお、この関数で読み込んだグラフィックは透過色の機能が正常に働かないので注意してください。

引数:
x1 取得するグラフィック領域(矩形)の左上頂点のX座標
y1 取得するグラフィック領域(矩形)の左上頂点のY座標
x2 取得するグラフィック領域の右下頂点+1のX座標
y2 取得するグラフィック領域の右下頂点+1のY座標
gh 読込先のグラフィックスハンドル
戻り値:
0 成功
-1 失敗
void* GetFramebufferAddress ( void   ) 

フレームバッファ(裏画面)へのポインタを返します

戻り値:
フレームバッファのポインタ
int GetGraphSize ( int  gh,
int *  xbuf,
int *  ybuf 
)

グラフィックの大きさを得る(本家互換)

引数:
gh グラフィックスハンドル
xbuf グラフィックの横幅を格納するint型変数へのポインタ
ybuf グラフィックの縦幅を格納するint型変数へのポインタ
戻り値:
0 成功
-1 失敗
int GetPixel ( int  x,
int  y 
)

指定点の色コードを取得する(本家互換)

引数:
x,y 点の座標
戻り値:
点の色コード
int GetScreenState ( int *  xsize,
int *  ysize,
int *  bpp 
)

現在の画面の大きさとカラービット数を得る(本家互換)

引数:
xsize,ysize 画面の幅と高さを格納するint型変数へのポインタ
bpp 1ピクセルあたり何ビット使われているかを格納するint型変数へのポインタ
戻り値:
0 成功
-1 失敗
int InitGraph ( void   ) 

全てのグラフィックスハンドルを削除します(本家互換)

戻り値:
0 成功
-1 失敗
int LoadDivGraph ( const char *  filename,
int  allnum,
int  xnum,
int  ynum,
int  xsize,
int  ysize,
int *  handlebuf 
)

一枚の画像から複数のグラフィックスハンドルを作ります(ほぼ本家互換)

画像全体のサイズは512x512までです。PNG画像しか読み込めないのもLoadGraphと同様です。

引数:
filename 分割読み込みする画像ファイル文字列のポインタ
allnum 画像の分割総数
xnum 画像の横向きに対する分割数
ynum 画像の縦向きに対する分割数
xsize 分割された画像一つの横幅
ysize 分割された画像一つの縦幅
handlebuf 分割読み込みして得たグラフィックハンドルを保存するint型の配列へのポインタ
int LoadGraph ( const char *  FileName  ) 

画像を読み込みます(ほぼ本家互換)

サイズが512x512までのPNG画像を読み込むことが出来ます 戻り値はDrawGraph等の関数で画像を描画する際必要になるので、変数に保存してください

引数:
FileName ファイル名
戻り値:
グラフィックスハンドル
戻り値:
-1 失敗
int LoadGraphScreen ( int  x,
int  y,
const char *  filename,
int  trans 
)

画像を読み込んで画面に表示する(本家互換)

引数:
x ロードした画像を描画する矩形の左上頂点のX座標
y ロードした画像を描画する矩形の左上頂点のY座標
filename ロードする画像パスの文字列があるポインタ
trans 透過色を入れるか、のフラグ。TRUEで透過色有効になる
戻り値:
0 成功
-1 失敗
int MakeGraph ( int  xsize,
int  ysize 
)

空のグラフィックスハンドルを生成する(本家互換)

512x512より大きなグラフィックは作れないので注意してください

引数:
xsize 作成するグラフィックスハンドルの幅
ysize 作成するグラフィックスハンドルの高さ
戻り値:
グラフィックスハンドル
戻り値:
-1 失敗
int MoveGraphToDDR ( int  gh  ) 

VRAM上にテクスチャのデータがあれば、それをメインメモリーのテクスチャにコピーしてからVRAM上の領域を開放する.

戻り値:
0 成功
-1 失敗
int MoveGraphToVRAM ( int  gh  ) 

可能ならVRAM上にテクスチャのコピーを置き、それを使うようにする

0.5.0以降ではメインメモリー上のテクスチャを保持するようになりました。

戻り値:
0 成功
-1 失敗
int ScreenFlip ( void   ) 

裏画面と表画面を交換します(本家互換)

戻り値:
0 成功
-1 失敗
int SetDisplayFormat ( int  psm  ) 

画面のピクセルフォーマットを変更する

指定可能な値は次のうちどれかです

  • DXP_FMT_4444
  • DXP_FMT_5551
  • DXP_FMT_5650
  • DXP_FMT_8888
    戻り値:
    ピクセルフォーマット
    戻り値:
    -1 失敗
int SetDrawArea ( int  x1,
int  y1,
int  x2,
int  y2 
)

描画可能領域のセット(本家互換)

引数:
x1,y1 描画可能領域を示す矩形の左上の座標
x2,y2 描画可能領域を示す矩形の右下の座標
戻り値:
0 成功
-1 失敗
int SetDrawBlendMode ( int  blendmode,
int  param 
)

ブレンドモードをセットする(本家互換)

描画先の画像に対してどのように色を混ぜるか指定できます。 詳しくは本家のリファレンスを一読してください。 なお、一部のブレンドモードはPSPのハードウェアの制約で実装できていません。以下のどれかを使ってください。

  • DX_BLENDMODE_NOBLEND
  • DX_BLENDMODE_ALPHA
  • DX_BLENDMODE_ADD
  • DX_BLENDMODE_SUB
  • DX_BLENDMODE_MUL
  • DX_BLENDMODE_DESTCOLOR
  • DX_BLENDMODE_INVDESTCOLOR
  • DX_BLENDMODE_INVSRC
    引数:
    blendmode ブレンドモード
    param パラメータ
    戻り値:
    0 成功
    -1 失敗
int SetDrawBright ( int  red,
int  green,
int  blue 
)

描画輝度をセットする(本家互換)

0-255の範囲で値を指定してください

引数:
red 赤の描画輝度
green 緑の描画輝度
blue 青の描画輝度
戻り値:
0 成功
-1 失敗
int SetDrawMode ( int  mode  ) 

描画モードをセットする(本家互換)

  • DX_DRAWMODE_NEAREST ネアレストネイバー法で描画する(既定値)
  • DX_DRAWMODE_BILINEAR バイリニア法で描画する
引数:
mode 描画モード
戻り値:
0 成功
-1 失敗
int SetDrawScreen ( int  ghandle  ) 

描画先を変更します

VRAM上にあるSwizzleされていないグラフィックスハンドルを渡すと、描画先として設定されます LoadDivGraphやDerivationGraph関数を使って作ったような、一枚のテクスチャを複数のグラフィックスが共有するような グラフィックスハンドルを指定すると予期しない結果になる可能性があります

引数:
ghandle 描画先にするグラフィックスハンドル
戻り値:
0 成功
-1 失敗
int SetGraphMode ( int  xsize,
int  ysize,
int  bpp 
)

画面モードを設定します(本家互換)

画面サイズは480x272以外指定できません。それ以外を指定するとエラーになります。 bppには1ピクセルあたりのビット数を指定します。指定可能な値は以下の通りです。

  • 16 DXP_FMT_5551と同じです
  • 32 DXP_FMT_8888と同じです
  • DXP_FMT_4444 各色に4bitが割り当てられます
  • DXP_FMT_5650 赤と青に5bit、緑に6bitが割り当てられます
  • DXP_FMT_5551 各色に5bitが割り当てられます
  • DXP_FMT_8888 各色に8bitが割り当てられます
    戻り値:
    0 成功
    -1 失敗
int SetTransColor ( int  color  ) 

画像に設定する透過色を設定します(本家互換)

画像の読み込み時に画像に設定される透過色を設定します。画像がアルファ情報を持たず、透過フラグがONの場合この値に近い色のエリアは描画されません。

引数:
color 透過色
戻り値:
0 成功
-1 失敗
int SetWaitVSyncFlag ( int  flag  ) 

ScreenFlip、ScreenCopy関数実行時に垂直同期待ちをするかのフラグをセット(本家互換).

垂直同期を待つ場合、ゲームの負荷が大きいといきなり60→30→20と60の約数のfpsに切り替わって遊びにくいことがあります。 垂直同期を待たない場合、ゲームの負荷が大きいとfpsが連続的に変動します。ただし、画面が若干ちらつくことがあります。

引数:
flag 垂直同期待ちフラグ
戻り値:
0 成功
-1 失敗
int SwizzleGraph ( int  gh  ) 

可能ならグラフィックをSwizzleする

空きメモリが足りないと失敗することがあります。

戻り値:
0 成功
-1 失敗
int UnswizzleGraph ( int  gh  ) 

可能ならグラフィックのSwizzleを解除する

空きメモリが足りないと失敗することがあります。

戻り値:
0 成功
-1 失敗
int WaitGPUSync ( void   ) 

GPUが処理を終えるのを待ちます.

戻り値:
0 成功
-1 エラー発生

DX Library Portableに対してTue Dec 22 07:43:52 2009に生成されました。  doxygen 1.6.1