フレームを表示

PAINTCALLBACKDATA

フレームを表示

typedef  struct _PAINTCALLBACKDATA
{
   L_UINT uStructSize; 
   L_UINT32 uFlags;
   L_VOID *pDisplay;
   L_VOID *pUserData;
   PAINTCALLBACK_GETDEVICECAPS pGetDeviceCaps;
   PAINTCALLBACK_GETMAPMODE pGetMapMode;
   PAINTCALLBACK_SETSTRETCHBLTMODE pSetStretchBltMode;
   PAINTCALLBACK_INTERSECTCLIPRECT pIntersectClipRect;
   PAINTCALLBACK_SAVEDC pSaveDC;
   PAINTCALLBACK_RESTOREDC pRestoreDC;
   PAINTCALLBACK_STRETCHDIBITS pStretchDIBits;
   PAINTCALLBACK_SETVIEWPORTORGEX pSetViewportOrgEx;
   PAINTCALLBACK_GETVIEWPORTORGEX pGetViewportOrgEx;
   PAINTCALLBACK_EXTSELECTCLIPRGN pExtSelectClipRgn;
   PAINTCALLBACK_SELECTPALETTE pSelectPalette;
   PAINTCALLBACK_REALIZEPALETTE pRealizePalette;
   PAINTCALLBACK_GETGRAPHICSMODE pGetGraphicsMode;
   PAINTCALLBACK_GETWORLDTRANSFORM pGetWorldTransform;
   PAINTCALLBACK_ISCOMPATIBLEDC pIsCompatibleDC;
   PAINTCALLBACK_CONVERTLINE pConvertLine;
   PAINTCALLBACK_GETDIBINFO pGetDibInfo;
   PAINTCALLBACK_PREPAINT pPrePaint;
   PAINTCALLBACK_POSTPAINT pPostPaint;
   PAINTCALLBACK_FILLRECT pFillRect;
} PAINTCALLBACKDATA, * pPAINTCALLBACKDATA;

PAINTCALLBACKDATA構造体は、PAINTCALLBACKDATA(* pPAINTCALLBACKDATA)の形式を説明します;

PAINTCALLBACKDATA構造体は、カスタム描画のために使われるコールバックを格納します。

以下の関数は、この構造体を利用します:

L_PaintDCCallback

L_PaintRgnDCCallback

L_PaintDCBufferCallback

L_PaintRgnDCBufferCallback

L_PaintDCOverlayCallback

メンバ

説明

uStructSize

PAINTCALLBACKDATA構造体のサイズ。これは、sizeof(PAINTCALLBACKDATA)でなければなりません。

uFlags

以下のどれでも、フラグを立てます。(1つ以上の値を指定するためにビットごとのORを使うことができます。)。

 

意味

 

PAINTCALLBACKDATA_NO_INDEXEDPAINT

[0x00000001]、インデックスド描画を使いません。パレットカラーは、RGBカラー(パレットインデックスでない)として渡されなければなりません。

pDisplay

描画するデバイスコンテキスト。事前定義コールバックは、有効なDCハンドルであるこの値を期待します。しかし、すべてのコールバックを向け直すならば、これは欲しい任意の構造体へのポインターでありえます。この値は、pDisplayパラメーターをとるすべての描画コールバックに渡されます。

pUserData

すべてのコールバックに渡されるユーザー定義の構造体へのポインターは、pUserDataパラメーターとして機能します。

pGetDeviceCaps

GetDeviceCaps GDI関数を置換する関数へのポインター。

pGetMapMode

GetMapMode GDI関数を置換する関数へのポインター。

pSetStretchBltMode

SetStretchBltMode GDI関数を置換する関数へのポインター。

pIntersectClipRect

IntersectClipRect GDI関数を置換する関数へのポインター。

pSaveDC

SaveDC GDI関数を置換する関数へのポインター。

pRestoreDC

RestoreDC GDI関数を置換する関数へのポインター。

pStretchDIBits

StretchDIBits GDI関数を置換する関数へのポインター。

pSetViewportOrgEx

SetViewportOrgEx GDI関数を置換する関数へのポインター。

pGetViewportOrgEx

GetViewportOrgEx GDI関数を置換する関数へのポインター。

pExtSelectClipRgn

ExtSelectClipRgn GDI関数を置換する関数へのポインター。

pSelectPalette

SelectPalette GDI関数を置換する関数へのポインター。

pRealizePalette

RealizePalette GDI関数を置換する関数へのポインター。

pGetGraphicsMode

GetGraphicsMode GDI関数を置換する関数へのポインター。

pGetWorldTransform

GetWorldTransform GDI関数を置換する関数へのポインター。

pIsCompatibleDC

DCとビットマップが私のコールバックと互換性を持つかどうかについて決定する関数へのポインター。

pConvertLine

表示データに画像データを変換する関数へのポインター。

pGetDibInfo

ラスターエンジンに表示データの形式を話す関数へのポインター。pConvertLine関数を提供するならば、この関数は提供されなければなりません。

pPrePaint

初期化のために使われることができる関数へのポインター。

pPostPaint

クリーンアップのために使われることができる関数へのポインター。

pFillRect

FillRect GDI関数を置換する関数へのポインター。

コメント

すべてのコールバックを提供する必要はありません。置換することを望まないNULL任意のコールバックに設定することができます。特定のコールバックのためにNULLを渡すならば、デフォルトのGDI関数が使われます。

GDIコールバックのいくらかのためにNULLを渡すならば、pDisplayを有効なHDCハンドルに設定しなければなりません。デフォルトのGDI関数は、HDCハンドルであるpDisplayを期待します。

pIsCompatibeDCを有効な関数ポインターに設定するならば、その関数はDCがコールバックと互換性を持つかどうか決定するために他のどのコールバック関数の前にも呼び出されます。この関数がFALSEを返すならば、他のいかなるコールバックも呼び出されません、そして、デフォルトのGDI関数が使われます。

pConvertLineを有効な関数ポインターに設定するならば、pGetDibInfoも有効な関数ポインターに設定しなければならないので、LEADTOOLSは描画関数によって期待される画像データの形式を知っています。

pPrePaintを有効な関数ポインターに設定するならば、それはpIsCompatibleDCの後、そして、他のどのコールバックの前にも一度呼び出されます。

pPostPaintを有効な関数ポインターに設定するならば、それは一回任意の他のコールバックというでしょう。

参照

関数:

L_PaintDCCallback, L_PaintRgnDCCallback, L_PaintDCBufferCallback, L_PaintRgnDCBufferCallback, L_PaintDCOverlayCallback

トピック:

カスタムコールバックを用いた描画