⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gdiplus_cached.cpp

📁 Windows Mobile平台上使用GDI+。GDI+功能很强大
💻 CPP
字号:
#include "stdafx.h"
#include "GdiplusShunt.h"

//----------------------------------------------------------------------------
// Cached Bitmap APIs
//----------------------------------------------------------------------------

DEFINE_POINTER( GpStatus (WINGDIPAPI *GdipCreateCachedBitmapPtr)(
    GpBitmap *bitmap, GpGraphics *graphics, GpCachedBitmap **cachedBitmap));
DEFINE_MEMBER(GdipCreateCachedBitmap);

GpStatus WINGDIPAPI
GdipCreateCachedBitmap(
    GpBitmap *bitmap,
    GpGraphics *graphics,
    GpCachedBitmap **cachedBitmap
)
{
    GpStatus status = GdiplusNotInitialized;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdipCreateCachedBitmap == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule, GdipCreateCachedBitmap);
        }
        if ( g_GdipCreateCachedBitmap != NULL )
        {
            status = (*g_GdipCreateCachedBitmap)(bitmap, graphics, cachedBitmap);
        }
    }
    return status;
}


DEFINE_POINTER( GpStatus (WINGDIPAPI *GdipDeleteCachedBitmapPtr)(GpCachedBitmap *cachedBitmap));
DEFINE_MEMBER(GdipDeleteCachedBitmap);

GpStatus WINGDIPAPI
GdipDeleteCachedBitmap(GpCachedBitmap *cachedBitmap)
{
    GpStatus status = GdiplusNotInitialized;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdipDeleteCachedBitmap == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule, GdipDeleteCachedBitmap);
        }
        if ( g_GdipDeleteCachedBitmap != NULL )
        {
            status = (*g_GdipDeleteCachedBitmap)(cachedBitmap);
        }
    }
    return status;
}


DEFINE_POINTER( GpStatus (WINGDIPAPI *GdipDrawCachedBitmapPtr)(
    GpGraphics *graphics, GpCachedBitmap *cachedBitmap, INT x, INT y));
DEFINE_MEMBER(GdipDrawCachedBitmap);

GpStatus WINGDIPAPI
GdipDrawCachedBitmap(
    GpGraphics *graphics,
    GpCachedBitmap *cachedBitmap,
    INT x,
    INT y
)
{
    GpStatus status = GdiplusNotInitialized;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdipDrawCachedBitmap == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule, GdipDrawCachedBitmap);
        }
        if ( g_GdipDrawCachedBitmap != NULL )
        {
            status = (*g_GdipDrawCachedBitmap)(graphics, cachedBitmap, x, y);
        }
    }
    return status;
}


DEFINE_POINTER( UINT (WINGDIPAPI *GdipEmfToWmfBitsPtr)(
    HENHMETAFILE hemf, UINT         cbData16,
    LPBYTE       pData16, INT          iMapMode,
    INT          eFlags));
DEFINE_MEMBER(GdipEmfToWmfBits);

UINT WINGDIPAPI
GdipEmfToWmfBits(
    HENHMETAFILE hemf,
    UINT         cbData16,
    LPBYTE       pData16,
    INT          iMapMode,
    INT          eFlags
)
{
    UINT status = 0;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdipEmfToWmfBits == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule, GdipEmfToWmfBits);
        }
        if ( g_GdipEmfToWmfBits != NULL )
        {
            status = (*g_GdipEmfToWmfBits)(hemf, cbData16, pData16, iMapMode,eFlags);
        }
    }
    return status;
}


DEFINE_POINTER( GpStatus (WINGDIPAPI *GdipSetImageAttributesCachedBackgroundPtr)(
    GpImageAttributes *imageattr, BOOL enableFlag));
DEFINE_MEMBER(GdipSetImageAttributesCachedBackground);

GpStatus WINGDIPAPI
GdipSetImageAttributesCachedBackground(
    GpImageAttributes *imageattr,
    BOOL enableFlag
)
{
    GpStatus status = GdiplusNotInitialized;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdipSetImageAttributesCachedBackground == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule, GdipSetImageAttributesCachedBackground);
        }
        if ( g_GdipSetImageAttributesCachedBackground != NULL )
        {
            status = (*g_GdipSetImageAttributesCachedBackground)(imageattr, enableFlag);
        }
    }
    return status;
}


DEFINE_POINTER( GpStatus (WINGDIPAPI *GdipTestControlPtr)(
    GpTestControlEnum control, void * param));
DEFINE_MEMBER(GdipTestControl);

GpStatus WINGDIPAPI
GdipTestControl(
    GpTestControlEnum control,
    void * param
)
{
    GpStatus status = GdiplusNotInitialized;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdipTestControl == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule, GdipTestControl);
        }
        if ( g_GdipTestControl != NULL )
        {
            status = (*g_GdipTestControl)(control, param);
        }
    }
    return status;
}


DEFINE_POINTER( GpStatus (WINAPI *GdiplusNotificationHookPtr)(OUT ULONG_PTR *token));
DEFINE_MEMBER(GdiplusNotificationHook);

GpStatus WINAPI
GdiplusNotificationHook(OUT ULONG_PTR *token)
{
    GpStatus status = GdiplusNotInitialized;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdiplusNotificationHook == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule, GdiplusNotificationHook);
        }
        if ( g_GdiplusNotificationHook != NULL )
        {
            status = (*g_GdiplusNotificationHook)(token);
        }
    }
    return status;
}


DEFINE_POINTER( VOID (WINAPI *GdiplusNotificationUnhookPtr)(ULONG_PTR token));
DEFINE_MEMBER(GdiplusNotificationUnhook);

VOID WINAPI
GdiplusNotificationUnhook(ULONG_PTR token)
{
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdiplusNotificationUnhook == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule, GdiplusNotificationUnhook);
        }
        if ( g_GdiplusNotificationUnhook != NULL )
        {
            (*g_GdiplusNotificationUnhook)(token);
        }
    }
}


DEFINE_POINTER(GpStatus (WINGDIPAPI *GdipConvertToEmfPlusPtr)(
                  const GpGraphics* refGraphics, GpMetafile*  metafile,
                  INT* conversionFailureFlag, EmfType emfType,
                  const WCHAR* description, GpMetafile** out_metafile));
DEFINE_MEMBER(GdipConvertToEmfPlus);

GpStatus WINGDIPAPI
GdipConvertToEmfPlus(
   const GpGraphics* refGraphics,
   GpMetafile*  metafile,
   INT* conversionFailureFlag,
   EmfType      emfType,
   const WCHAR* description,
   GpMetafile** out_metafile
)
{
    GpStatus status = GdiplusNotInitialized;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdipConvertToEmfPlus == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule,GdipConvertToEmfPlus);
        }
        if ( g_GdipConvertToEmfPlus != NULL )
        {
            status = (*g_GdipConvertToEmfPlus)(refGraphics, metafile, conversionFailureFlag, emfType, description, out_metafile);
        }
    }
    return status;
}


DEFINE_POINTER(GpStatus (WINGDIPAPI *GdipConvertToEmfPlusToFilePtr)(
                  const GpGraphics* refGraphics, GpMetafile*  metafile,
                  INT* conversionFailureFlag, const WCHAR* filename, EmfType emfType,
                  const WCHAR* description, GpMetafile** out_metafile));
DEFINE_MEMBER(GdipConvertToEmfPlusToFile);

GpStatus WINGDIPAPI
GdipConvertToEmfPlusToFile(
   const GpGraphics* refGraphics,
   GpMetafile*  metafile,
   INT* conversionFailureFlag,
   const WCHAR* filename, 
   EmfType      emfType,
   const WCHAR* description,
   GpMetafile** out_metafile
)
{
    GpStatus status = GdiplusNotInitialized;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdipConvertToEmfPlusToFile == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule,GdipConvertToEmfPlusToFile);
        }
        if ( g_GdipConvertToEmfPlusToFile != NULL )
        {
            status = (*g_GdipConvertToEmfPlusToFile)(refGraphics, metafile, conversionFailureFlag, filename, emfType, description, out_metafile);
        }
    }
    return status;
}


DEFINE_POINTER(GpStatus (WINGDIPAPI *GdipConvertToEmfPlusToStreamPtr)(
                  const GpGraphics* refGraphics, GpMetafile*  metafile, INT* conversionFailureFlag,
                           IStream* stream, EmfType emfType, const WCHAR* description, GpMetafile** out_metafile));
DEFINE_MEMBER(GdipConvertToEmfPlusToStream);

GpStatus WINGDIPAPI
GdipConvertToEmfPlusToStream(
   const GpGraphics* refGraphics,
   GpMetafile*  metafile,
   INT* conversionFailureFlag,
   IStream* stream, 
   EmfType      emfType,
   const WCHAR* description,
   GpMetafile** out_metafile
)
{
    GpStatus status = GdiplusNotInitialized;
    if ( g_hGdiplusModule != NULL )
    {
        if ( g_GdipConvertToEmfPlusToStream == NULL )
        {
            INITIALIZE_MEMBER(g_hGdiplusModule,GdipConvertToEmfPlusToStream);
        }
        if ( g_GdipConvertToEmfPlusToStream != NULL )
        {
            status = (*g_GdipConvertToEmfPlusToStream)(refGraphics, metafile, conversionFailureFlag, stream, emfType, description, out_metafile);
        }
    }
    return status;
}


//----------------------------------------------------------------------------
// Platform Shunt
//----------------------------------------------------------------------------

VOID WINAPI
Gdiplus_CachedInit()
{
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -