# グラフィックス関連

## 関数
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 | 取得するグラフィック領域の右下頂点＋１のX座標
  | y2 | 取得するグラフィック領域の右下頂点＋１の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 | １ピクセルあたり何ビット使われているかを格納する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 | エラー発生