Chapter 6. Video

Table of Contents
SDL_GetVideoSurface --  現在の表示サーフェスへのポインタを返します。
SDL_GetVideoInfo --  ビデオハードウェアについての情報の構造体へのポインタを返します。
SDL_VideoDriverName --  ビデオドライバの名前を取得します。
SDL_ListModes --  与えられたフォーマットとビデオのフラグに対し、 利用可能な画面モードの配列へのポインタを返します。
SDL_VideoModeOK --  ある特定のビデオモードがサポートされているかチェックします。
SDL_SetVideoMode --  指定された横幅・高さ・ピクセル深度を用いてビデオモードを設定します。
SDL_UpdateRect --  与えられた領域の画面を更新します。
SDL_UpdateRects --  与えられた矩形リストに従い、画面を更新します。
SDL_Flip --  スクリーンバッファを交換します。
SDL_SetColors --  与えられた 8 bit サーフェスのカラーマップの一部をセットします。
SDL_SetPalette --  8 ビットサーフェスのパレットに色をセットします。
SDL_SetGamma --  表示用のカラーガンマ関数をセットします。
SDL_GetGammaRamp --  表示のためのカラーガンマ値の変換テーブルを取得します。
SDL_SetGammaRamp --  表示用にカラーガンマの参照テーブルをセットします。
SDL_MapRGB --  RGB カラー値をピクセルフォーマットに写像します。
SDL_MapRGBA --  RGBA カラー値をピクセルフォーマットに写像します。
SDL_GetRGB --  指定されたピクセルフォーマット内のピクセルから RGB 値を取得します。
SDL_GetRGBA --  指定されたピクセルフォーマット内のピクセルから RGBA 値を取得します。
SDL_CreateRGBSurface --  空の SDL_Surface を生成します。
SDL_CreateRGBSurfaceFrom --  ピクセルデータから SDL_Surface を生成します。
SDL_FreeSurface --  SDL_Surface を解放(削除)します。
SDL_LockSurface --  直接アクセスのためにサーフェスをロックします。
SDL_UnlockSurface --  以前にロックされたサーフェスのロックを解除します。
SDL_LoadBMP --  Windows の BMP ファイルを SDL_Surface にロードします。
SDL_SaveBMP --  SDL_Surface を Windows の BMP ファイルとしてセーブします。
SDL_SetColorKey --  blit 転送可能なサーフェスのカラーキー(透明ピクセル)と、 RLE アクセラレーションをセットします。
SDL_SetAlpha --  サーフェスのアルファ値を調整します。
SDL_SetClipRect --  サーフェスのクリッピング矩形をセットします。
SDL_GetClipRect --  サーフェスのクリッピング矩形を取得します。
SDL_ConvertSurface --  サーフェスを別サーフェスとして指定されたフォーマットに変換します。
SDL_BlitSurface --  転送元サーフェスから転送先サーフェスへ高速 blit 転送を行います
SDL_FillRect --  この関数は与えられた矩形領域と色で高速な塗り潰しを行います。
SDL_DisplayFormat --  サーフェスを表示フォーマットに変換します。
SDL_DisplayFormatAlpha --  サーフェスを表示フォーマットに変換します。
SDL_WarpMouse --  マウスカーソルの位置をセットします。
SDL_CreateCursor --  新しいマウスカーソルを作ります。
SDL_FreeCursor --  SDL_CreateCursor で作られたカーソルを解放します。
SDL_SetCursor --  現在アクティブなマウスカーソルを設定します。
SDL_GetCursor --  現在アクティブなマウスカーソルを取得します。
SDL_ShowCursor --  カーソルが画面に表示されるかされないかを切り替えます。
SDL_GL_LoadLibrary --  OpenGL ライブラリを指定します。
SDL_GL_GetProcAddress --  GL 関数のアドレスを取得します。
SDL_GL_GetAttribute --  特殊な SDL/OpenGL 属性の値を取得します。
SDL_GL_SetAttribute --  特殊な SDL/OpenGL 属性をセットします。
SDL_GL_SwapBuffers --  OpenGL のフレームバッファを入れ替えます/表示を更新します。
SDL_CreateYUVOverlay --  YUV ビデオオーバレイを生成します。
SDL_LockYUVOverlay --  オーバーレイをロックします。
SDL_UnlockYUVOverlay --  オーバレイのロックを解除します。
SDL_DisplayYUVOverlay --  オーバレイを表示画面に blit 転送します。
SDL_FreeYUVOverlay --  YUV ビデオオーバーレイを解放します。
SDL_GLattr --  SDL の GL 属性
SDL_Rect --  矩形領域を定義します。
SDL_Color --  フォーマットに依存しない色表現
SDL_Palette --  8 ビットピクセルフォーマット用のカラーパレット
SDL_PixelFormat --  ピクセルフォーマット情報を格納します。
SDL_Surface --  絵のサーフェスの構造体
SDL_VideoInfo --  ビデオターゲットの情報
SDL_Overlay --  YUV のビデオオーバレイ

SDL は表示フレームバッファに対するとてもシンプルなインターフェースを 提供します。 フレームバッファはあなたが直接書くことができる オフスクリーンサーフェスとして表現されます。 スクリーンに書いたものを画面に表示させるには、 画面の必要な部分が更新されることを保証する 更新 関数を呼んで下さい。

SDL のいかなるビデオ関数を呼ぶ前に、 最初に SDL_Init(SDL_INIT_VIDEO) を呼ばなければいけません。 これは SDL ライブラリん内のビデオとイベントを初期化します。 返値(0 のはず)をチェックし、 スタートアップにエラーがないかどうか見て下さい。

アプリケーションでサウンドとビデオを共に使うときは、 サウンドデバイスをオープンする前に SDL_Init(SDL_INIT_AUDIO | SDL_INIT_VIDEO) を呼ぶ必要があります。 そうしないと、Win32 の DirectX において フルスクリーン表示モードにセットすることができないでしょう。

ライブラリを初期化した後は、ビデオ表示を順番にスタートさせることができます。 最も簡単な方法は、共通のスクリーン解像度とピクセル深度を選び、 エラーをチェックしつつビデオを初期化することです。 おそらくあなたが望んだものが得られるでしょうが、 SDL はあなたが求めたモードをエミュレートし、 更新の際に変換しているかもしれません。 最もよい方法は、 望まれるものに最も近いビデオモードを 問い合わせ、 そのピクセルフォーマットに合わせて画像を 変換することです。

SDL は現在 1 ピクセル 8 bit 以上のいかなるピクセル深度もサポートしています。 8 bpp のフォーマットは 8 bit のパレットモードとしてみなされ、 12, 15, 16, 24, そして 32 bpp は 「パックドピクセル」モードとしてみなされます。 これは、個々のピクセルが RGB 各チャンネルの輝度を ピクセルのビットの中にパッキングして持っているということです。

ビデオモードを初期化した後は、 返値として得られたサーフェスに対し、他のフレームバッファのように書き込み、 いつものように更新処理を呼ぶことができます。

ビデオへのアクセスを終えてアプリケーションを終了させる準備ができたときは、 ビデオとイベントを終了させるため "SDL_Quit()" を呼ばなければいけません。