○ データの流れ
                                            ┌→ [DirectDrawSurface]
       [GBuf] ←→ [GBuf] ←→ [DIB-GBuf] ←┤
                                            └→ [DC]
○ 説明
GBuf
グラフィックバッファです。1ピクセルをRGBAの32bitで構成しています。
このバッファは、同じGBuf同士もしくはDIB-GBufのみついてのデータのやり取りができます。
掲載される関数のほとんどは、このGBufを有効に活用するための物です。
DIB-GBuf
GBufにデバイスコンテキストハンドルとBITMAPハンドルを含めた物です。
このバッファはDIBSectionで生成されているので、GDI関数を利用するのに使われます。
また、DirectDrawSurfaceやGDIとの橋渡しとして使う事ができます。
このバッファは生成・開放を繰り返す場合には、あまり使わない方が良いようです。
DirectDrawSurface,GDI
DirectX(DirectDraw)のオブジェクト及び、GDIから生成されるデバイスコンテキスト(DC)です。
これらとのデータのやり取りは、GDIを使用する事でそれが可能になっています。
○ GBufの構造
    // データ型
    typedef unsigned char   G_BYTE;     // ピクセル
    typedef unsigned long   G_LONG;     // ロング
    typedef unsigned long   G_FLAG;     // フラグ
    // 1ピクセルの情報
    typedef struct{
        G_BYTE              blue;       // 青輝度
        G_BYTE              green;      // 緑輝度
        G_BYTE              red;        // 赤輝度
        G_BYTE              alpha;      // アルファ値
    }GPIXEL_STRUCT;
    typedef union{
        GPIXEL_STRUCT       pixel;      // 輝度フォーマット
        G_LONG              data;       // パック値
    }G_PIXEL;
    // GBuf構造体
    typedef struct{
        int                 width;      // 幅
        int                 height;     // 高さ
        int                 pitch;      // 1ライン辺りの長さ(バイト)
        G_FLAG              flags;      // フラグ
        G_PIXEL             *gbuf;      // 画像データ
        G_PIXEL             *gtop;      // 先頭位置
        // マスク
        G_PIXEL             mask;       // マスクデータ
        // DIB
        HBITMAP             bitmap;     // BITMAPハンドル
        HDC                 dc;         // デバイスコンテキスト
    }GBUF_STRUCT;
    // 画像属性
    #define GF_DIB          1           // DIB
    #define GF_ALPHA        2           // アルファ
    #define GF_MASK         4           // マスク
    #define GF_DEFAULT      0           // デフォルト
以下に、特に重要であるGBuf(グラフィックバッファ)構造体を中心に説明します。
width,height
グラフィックバッファのサイズです。
pitch
1ラインの移動に必要なデータサイズを記した、ダブルワード値です。
通常は、"- width"が設定されます。
flags
グラフィックバッファの属性です。
現在は、DIBモード、アルファモード、マスクモードの3種類の属性が定義されています。
gbuf,gtop
グラフィックバッファをアクセスするためのポインタです。
gbufはバッファの先頭ポインタ、gtopは[0,0]の位置があるポインタが設定されています。
DIBモードではDIBSectionのポインタ、通常はヒープで確保したポインタとなっています。
ピクセル構造はGPIXEL_STRUCTが示す通り、4バイトの情報で定義されます。このうち、alphaはflagsにGF_ALPHAが定義されている場合に参照されるようになっています。
mask
マスクモード時の、マスクカラーです。
flagsにGF_MASKが定義されている場合に、この値が参照されるようになっています。
bitmap,dc
GDI用のハンドルです。