diff options
Diffstat (limited to 'core/src/fxge/Microsoft SDK/include/GdiPlusBitmap.h')
-rw-r--r-- | core/src/fxge/Microsoft SDK/include/GdiPlusBitmap.h | 1004 |
1 files changed, 0 insertions, 1004 deletions
diff --git a/core/src/fxge/Microsoft SDK/include/GdiPlusBitmap.h b/core/src/fxge/Microsoft SDK/include/GdiPlusBitmap.h deleted file mode 100644 index 16d66bdaeb..0000000000 --- a/core/src/fxge/Microsoft SDK/include/GdiPlusBitmap.h +++ /dev/null @@ -1,1004 +0,0 @@ -/**************************************************************************\ -* -* Copyright (c) 1998-2000, Microsoft Corp. All Rights Reserved. -* -* Module Name: -* -* GdiplusBitmap.h -* -* Abstract: -* -* Bitmap related declarations -* -\**************************************************************************/ - -#ifndef _GDIPLUSBITMAP_H -#define _GDIPLUSBITMAP_H - -// NOTE: -// Our current choice for the public API is to use constructors -// instead of static load functions to create image objects. -// -// I've kept the static load functions here for now so that -// existing test programs are not broken. But they should -// eventually be taken out. - -#ifndef DCR_USE_NEW_140782 - -inline -Image::Image( - IN const WCHAR* filename - ) -{ - nativeImage = NULL; - lastResult = DllExports::GdipLoadImageFromFile(filename, &nativeImage); -} - -inline -Image::Image( - IN IStream* stream - ) -{ - nativeImage = NULL; - lastResult = DllExports::GdipLoadImageFromStream(stream, &nativeImage); -} - -inline Image* -Image::FromFile( - IN const WCHAR* filename - ) -{ - return new Image(filename); -} - -inline Image* -Image::FromStream( - IN IStream* stream - ) -{ - return new Image(stream); -} - -#else - -inline -Image::Image( - IN const WCHAR* filename, - IN BOOL useEmbeddedColorManagement - ) -{ - nativeImage = NULL; - if(useEmbeddedColorManagement) - { - lastResult = DllExports::GdipLoadImageFromFileICM( - filename, - &nativeImage - ); - } - else - { - lastResult = DllExports::GdipLoadImageFromFile( - filename, - &nativeImage - ); - } -} - -inline -Image::Image( - IN IStream* stream, - IN BOOL useEmbeddedColorManagement - ) -{ - nativeImage = NULL; - if(useEmbeddedColorManagement) - { - lastResult = DllExports::GdipLoadImageFromStreamICM( - stream, - &nativeImage - ); - } - else - { - lastResult = DllExports::GdipLoadImageFromStream( - stream, - &nativeImage - ); - } -} - -inline Image* -Image::FromFile( - IN const WCHAR* filename, - IN BOOL useEmbeddedColorManagement - ) -{ - return new Image( - filename, - useEmbeddedColorManagement - ); -} - -inline Image* -Image::FromStream( - IN IStream* stream, - IN BOOL useEmbeddedColorManagement - ) -{ - return new Image( - stream, - useEmbeddedColorManagement - ); -} - -#endif - -inline -Image::~Image() -{ - DllExports::GdipDisposeImage(nativeImage); -} - -inline Image* -Image::Clone() -{ - GpImage *cloneimage = NULL; - - SetStatus(DllExports::GdipCloneImage(nativeImage, &cloneimage)); - - return new Image(cloneimage, lastResult); -} - -// Encorder Parameter - -inline UINT -Image::GetEncoderParameterListSize( - IN const CLSID* clsidEncoder - ) -{ - UINT size = 0; - - SetStatus(DllExports::GdipGetEncoderParameterListSize(nativeImage, - clsidEncoder, - &size)); - return size; -} - -inline Status -Image::GetEncoderParameterList( - IN const CLSID* clsidEncoder, - IN UINT size, - OUT EncoderParameters* buffer - ) -{ - return SetStatus(DllExports::GdipGetEncoderParameterList(nativeImage, - clsidEncoder, - size, - buffer)); -} - -// Save images - -inline Status -Image::Save( - IN const WCHAR* filename, - IN const CLSID* clsidEncoder, - IN const EncoderParameters *encoderParams - ) -{ - return SetStatus(DllExports::GdipSaveImageToFile(nativeImage, - filename, - clsidEncoder, - encoderParams)); -} - -inline Status -Image::Save( - IN IStream* stream, - IN const CLSID* clsidEncoder, - IN const EncoderParameters *encoderParams - ) -{ - return SetStatus(DllExports::GdipSaveImageToStream(nativeImage, - stream, - clsidEncoder, - encoderParams)); -} - -inline Status -Image::SaveAdd( - IN const EncoderParameters *encoderParams - ) -{ - return SetStatus(DllExports::GdipSaveAdd(nativeImage, - encoderParams)); -} - -inline Status -Image::SaveAdd( - IN Image* newImage, - IN const EncoderParameters *encoderParams - ) -{ - if ( newImage == NULL ) - { - return SetStatus(InvalidParameter); - } - - return SetStatus(DllExports::GdipSaveAddImage(nativeImage, - newImage->nativeImage, - encoderParams)); -} - -// Get size and type information -inline ImageType -Image::GetType() const -{ - ImageType type = ImageTypeUnknown; - - SetStatus(DllExports::GdipGetImageType(nativeImage, &type)); - - return type; -} - -inline Status -Image::GetPhysicalDimension( - OUT SizeF* size - ) -{ - if (size == NULL) - { - return SetStatus(InvalidParameter); - } - - REAL width, height; - Status status; - - status = SetStatus(DllExports::GdipGetImageDimension(nativeImage, - &width, &height)); - - size->Width = width; - size->Height = height; - - return status; -} - -inline Status -Image::GetBounds( - OUT RectF *srcRect, - OUT Unit *srcUnit - ) -{ - return SetStatus(DllExports::GdipGetImageBounds(nativeImage, - srcRect, srcUnit)); -} - -inline UINT -Image::GetWidth() -{ - UINT width = 0; - - SetStatus(DllExports::GdipGetImageWidth(nativeImage, &width)); - - return width; -} - -inline UINT -Image::GetHeight() -{ - UINT height = 0; - - SetStatus(DllExports::GdipGetImageHeight(nativeImage, &height)); - - return height; -} - -inline REAL -Image::GetHorizontalResolution() -{ - REAL resolution = 0.0f; - - SetStatus(DllExports::GdipGetImageHorizontalResolution(nativeImage, &resolution)); - - return resolution; -} - -inline REAL -Image::GetVerticalResolution() -{ - REAL resolution = 0.0f; - - SetStatus(DllExports::GdipGetImageVerticalResolution(nativeImage, &resolution)); - - return resolution; -} - -inline UINT -Image::GetFlags() -{ - UINT flags = 0; - - SetStatus(DllExports::GdipGetImageFlags(nativeImage, &flags)); - - return flags; -} - -inline Status -Image::GetRawFormat(OUT GUID *format) -{ - return SetStatus(DllExports::GdipGetImageRawFormat(nativeImage, format)); -} - -inline PixelFormat -Image::GetPixelFormat() -{ - PixelFormat format; - - SetStatus(DllExports::GdipGetImagePixelFormat(nativeImage, &format)); - - return format; -} - -inline INT -Image::GetPaletteSize() -{ - INT size = 0; - - SetStatus(DllExports::GdipGetImagePaletteSize(nativeImage, &size)); - - return size; -} - -inline Status -Image::GetPalette( - OUT ColorPalette *palette, - IN INT size -) -{ - return SetStatus(DllExports::GdipGetImagePalette(nativeImage, palette, size)); -} - -inline Status -Image::SetPalette( - IN const ColorPalette *palette - ) -{ - return SetStatus(DllExports::GdipSetImagePalette(nativeImage, palette)); -} - -// Thumbnail support - -inline Image* -Image::GetThumbnailImage( - IN UINT thumbWidth, - IN UINT thumbHeight, - IN GetThumbnailImageAbort callback, - IN VOID* callbackData - ) -{ - GpImage *thumbimage = NULL; - - SetStatus(DllExports::GdipGetImageThumbnail(nativeImage, - thumbWidth, thumbHeight, - &thumbimage, - callback, callbackData)); - - Image *newImage = new Image(thumbimage, lastResult); - - if (newImage == NULL) - { - DllExports::GdipDisposeImage(thumbimage); - } - - return newImage; -} - -// Multi-frame support -inline UINT -Image::GetFrameDimensionsCount() -{ - UINT count = 0; - - SetStatus(DllExports::GdipImageGetFrameDimensionsCount(nativeImage, - &count)); - - return count; -} - -inline Status -Image::GetFrameDimensionsList( - OUT GUID* dimensionIDs, - IN UINT count - ) -{ - return SetStatus(DllExports::GdipImageGetFrameDimensionsList(nativeImage, - dimensionIDs, - count)); -} - -inline UINT -Image::GetFrameCount( - IN const GUID* dimensionID - ) -{ - UINT count = 0; - - SetStatus(DllExports::GdipImageGetFrameCount(nativeImage, - dimensionID, - &count)); - return count; -} - -inline Status -Image::SelectActiveFrame( - IN const GUID *dimensionID, - IN UINT frameIndex - ) -{ - return SetStatus(DllExports::GdipImageSelectActiveFrame(nativeImage, - dimensionID, - frameIndex)); -} - -inline Status -Image::RotateFlip( - IN RotateFlipType rotateFlipType - ) -{ - return SetStatus(DllExports::GdipImageRotateFlip(nativeImage, - rotateFlipType)); -} - -// Image property related functions - -inline UINT -Image::GetPropertyCount() -{ - UINT numProperty = 0; - - SetStatus(DllExports::GdipGetPropertyCount(nativeImage, - &numProperty)); - - return numProperty; -} - -inline Status -Image::GetPropertyIdList( - IN UINT numOfProperty, - OUT PROPID* list - ) -{ - return SetStatus(DllExports::GdipGetPropertyIdList(nativeImage, - numOfProperty, list)); -} - -inline UINT -Image::GetPropertyItemSize( - IN PROPID propId - ) -{ - UINT size = 0; - - SetStatus(DllExports::GdipGetPropertyItemSize(nativeImage, - propId, - &size)); - - return size; -} - -inline Status -Image::GetPropertyItem( - IN PROPID propId, - IN UINT propSize, - OUT PropertyItem* buffer - ) -{ - return SetStatus(DllExports::GdipGetPropertyItem(nativeImage, - propId, propSize, buffer)); -} - -inline Status -Image::GetPropertySize( - OUT UINT* totalBufferSize, - OUT UINT* numProperties - ) -{ - return SetStatus(DllExports::GdipGetPropertySize(nativeImage, - totalBufferSize, - numProperties)); -} - -inline Status -Image::GetAllPropertyItems( - IN UINT totalBufferSize, - IN UINT numProperties, - OUT PropertyItem* allItems - ) -{ - if (allItems == NULL) - { - return SetStatus(InvalidParameter); - } - return SetStatus(DllExports::GdipGetAllPropertyItems(nativeImage, - totalBufferSize, - numProperties, - allItems)); -} - -inline Status -Image::RemovePropertyItem( - IN PROPID propId - ) -{ - return SetStatus(DllExports::GdipRemovePropertyItem(nativeImage, propId)); -} - -inline Status -Image::SetPropertyItem( - IN const PropertyItem* item - ) -{ - return SetStatus(DllExports::GdipSetPropertyItem(nativeImage, item)); -} - -// Get/SetLayout -// Support for Middle East localization (right-to-left mirroring) - -inline ImageLayout -Image::GetLayout() const -{ - ImageLayout layout; - - SetStatus(DllExports::GdipGetImageLayout(nativeImage, &layout)); - - return layout; -} - -inline Status -Image::SetLayout(IN const ImageLayout layout) -{ - return SetStatus( - DllExports::GdipSetImageLayout(nativeImage, layout) - ); -} - -inline Status -Image::GetLastStatus() const -{ - Status lastStatus = lastResult; - lastResult = Ok; - - return lastStatus; -} - -inline -Image::Image(GpImage *nativeImage, Status status) -{ - SetNativeImage(nativeImage); - lastResult = status; -} - -inline VOID -Image::SetNativeImage(GpImage *nativeImage) -{ - this->nativeImage = nativeImage; -} - -inline -Bitmap::Bitmap( - IN const WCHAR *filename, - IN BOOL useEmbeddedColorManagement - ) -{ - GpBitmap *bitmap = NULL; - - if(useEmbeddedColorManagement) - { - lastResult = DllExports::GdipCreateBitmapFromFileICM(filename, &bitmap); - } - else - { - lastResult = DllExports::GdipCreateBitmapFromFile(filename, &bitmap); - } - - SetNativeImage(bitmap); -} - -inline -Bitmap::Bitmap( - IN IStream *stream, - IN BOOL useEmbeddedColorManagement - ) -{ - GpBitmap *bitmap = NULL; - - if(useEmbeddedColorManagement) - { - lastResult = DllExports::GdipCreateBitmapFromStreamICM(stream, &bitmap); - } - else - { - lastResult = DllExports::GdipCreateBitmapFromStream(stream, &bitmap); - } - - SetNativeImage(bitmap); -} - -inline -Bitmap::Bitmap( - IN INT width, - IN INT height, - IN INT stride, - IN PixelFormat format, - IN BYTE *scan0 - ) -{ - GpBitmap *bitmap = NULL; - - lastResult = DllExports::GdipCreateBitmapFromScan0(width, - height, - stride, - format, - scan0, - &bitmap); - - SetNativeImage(bitmap); -} - -inline -Bitmap::Bitmap( - IN INT width, - IN INT height, - IN PixelFormat format - ) -{ - GpBitmap *bitmap = NULL; - - lastResult = DllExports::GdipCreateBitmapFromScan0(width, - height, - 0, - format, - NULL, - &bitmap); - - SetNativeImage(bitmap); -} - -inline -Bitmap::Bitmap( - IN INT width, - IN INT height, - IN Graphics* target) -{ - GpBitmap *bitmap = NULL; - - lastResult = DllExports::GdipCreateBitmapFromGraphics(width, - height, - target->nativeGraphics, - &bitmap); - - SetNativeImage(bitmap); -} - -inline -Bitmap::Bitmap( - IN IDirectDrawSurface7 * surface - ) -{ - GpBitmap *bitmap = NULL; - - lastResult = DllExports::GdipCreateBitmapFromDirectDrawSurface(surface, - &bitmap); - - SetNativeImage(bitmap); -} - -inline -Bitmap::Bitmap( - IN const BITMAPINFO* gdiBitmapInfo, - IN VOID* gdiBitmapData - ) -{ - GpBitmap *bitmap = NULL; - - lastResult = DllExports::GdipCreateBitmapFromGdiDib(gdiBitmapInfo, - gdiBitmapData, - &bitmap); - - SetNativeImage(bitmap); -} - -inline -Bitmap::Bitmap( - IN HBITMAP hbm, - IN HPALETTE hpal - ) -{ - GpBitmap *bitmap = NULL; - - lastResult = DllExports::GdipCreateBitmapFromHBITMAP(hbm, hpal, &bitmap); - - SetNativeImage(bitmap); -} - -inline -Bitmap::Bitmap( - IN HICON hicon - ) -{ - GpBitmap *bitmap = NULL; - - lastResult = DllExports::GdipCreateBitmapFromHICON(hicon, &bitmap); - - SetNativeImage(bitmap); -} - -inline -Bitmap::Bitmap( - IN HINSTANCE hInstance, - IN const WCHAR *bitmapName - ) -{ - GpBitmap *bitmap = NULL; - - lastResult = DllExports::GdipCreateBitmapFromResource(hInstance, - bitmapName, - &bitmap); - - SetNativeImage(bitmap); -} - - -inline Bitmap* -Bitmap::FromFile( - IN const WCHAR *filename, - IN BOOL useEmbeddedColorManagement - ) -{ - return new Bitmap( - filename, - useEmbeddedColorManagement - ); -} - -inline Bitmap* -Bitmap::FromStream( - IN IStream *stream, - IN BOOL useEmbeddedColorManagement - ) -{ - return new Bitmap( - stream, - useEmbeddedColorManagement - ); -} - -inline Bitmap* -Bitmap::FromDirectDrawSurface7( - IN IDirectDrawSurface7* surface - ) -{ - return new Bitmap(surface); -} - -inline Bitmap* -Bitmap::FromBITMAPINFO( - IN const BITMAPINFO* gdiBitmapInfo, - IN VOID* gdiBitmapData) -{ - return new Bitmap(gdiBitmapInfo, gdiBitmapData); -} - -inline Bitmap* -Bitmap::FromHBITMAP( - IN HBITMAP hbm, - IN HPALETTE hpal - ) -{ - return new Bitmap(hbm, hpal); -} - -inline Bitmap* -Bitmap::FromHICON( - IN HICON hicon - ) -{ - return new Bitmap(hicon); -} - -inline Bitmap* -Bitmap::FromResource( - IN HINSTANCE hInstance, - IN const WCHAR *bitmapName) -{ - return new Bitmap(hInstance, bitmapName); -} - -inline Status -Bitmap::GetHBITMAP( - IN const Color& colorBackground, - OUT HBITMAP* hbmReturn - ) -{ - return SetStatus(DllExports::GdipCreateHBITMAPFromBitmap( - static_cast<GpBitmap*>(nativeImage), - hbmReturn, - colorBackground.GetValue())); -} - -inline Status -Bitmap::GetHICON( - OUT HICON* hiconReturn - ) -{ - return SetStatus(DllExports::GdipCreateHICONFromBitmap( - static_cast<GpBitmap*>(nativeImage), - hiconReturn)); -} - -inline Bitmap* -Bitmap::Clone( - IN const Rect& rect, - IN PixelFormat format - ) -{ - return Clone(rect.X, rect.Y, rect.Width, rect.Height, format); -} - -inline Bitmap* -Bitmap::Clone( - IN INT x, - IN INT y, - IN INT width, - IN INT height, - IN PixelFormat format - ) -{ - GpBitmap* gpdstBitmap = NULL; - Bitmap* bitmap; - - lastResult = DllExports::GdipCloneBitmapAreaI( - x, - y, - width, - height, - format, - (GpBitmap *)nativeImage, - &gpdstBitmap); - - if (lastResult == Ok) - { - bitmap = new Bitmap(gpdstBitmap); - - if (bitmap == NULL) - { - DllExports::GdipDisposeImage(gpdstBitmap); - } - - return bitmap; - } - else - return NULL; -} - -inline Bitmap* -Bitmap::Clone( - IN const RectF& rect, - IN PixelFormat format - ) -{ - return Clone(rect.X, rect.Y, rect.Width, rect.Height, format); -} - -inline Bitmap* -Bitmap::Clone( - IN REAL x, - IN REAL y, - IN REAL width, - IN REAL height, - IN PixelFormat format - ) -{ - GpBitmap* gpdstBitmap = NULL; - Bitmap* bitmap; - - SetStatus(DllExports::GdipCloneBitmapArea( - x, - y, - width, - height, - format, - (GpBitmap *)nativeImage, - &gpdstBitmap)); - - if (lastResult == Ok) - { - bitmap = new Bitmap(gpdstBitmap); - - if (bitmap == NULL) - { - DllExports::GdipDisposeImage(gpdstBitmap); - } - - return bitmap; - } - else - return NULL; -} - -inline Bitmap::Bitmap(GpBitmap *nativeBitmap) -{ - lastResult = Ok; - - SetNativeImage(nativeBitmap); -} - -inline Status -Bitmap::LockBits( - IN const Rect& rect, - IN UINT flags, - IN PixelFormat format, - OUT BitmapData* lockedBitmapData -) -{ - return SetStatus(DllExports::GdipBitmapLockBits( - static_cast<GpBitmap*>(nativeImage), - &rect, - flags, - format, - lockedBitmapData)); -} - -inline Status -Bitmap::UnlockBits( - IN BitmapData* lockedBitmapData - ) -{ - return SetStatus(DllExports::GdipBitmapUnlockBits( - static_cast<GpBitmap*>(nativeImage), - lockedBitmapData)); -} - -inline Status -Bitmap::GetPixel( - IN INT x, - IN INT y, - OUT Color *color) -{ - ARGB argb; - - Status status = SetStatus(DllExports::GdipBitmapGetPixel( - static_cast<GpBitmap *>(nativeImage), - x, y, - &argb)); - - if (status == Ok) - { - color->SetValue(argb); - } - - return status; -} - -inline Status -Bitmap::SetPixel( - IN INT x, - IN INT y, - IN const Color& color) -{ - return SetStatus(DllExports::GdipBitmapSetPixel( - static_cast<GpBitmap *>(nativeImage), - x, y, - color.GetValue())); -} - -inline Status -Bitmap::SetResolution( - IN REAL xdpi, - IN REAL ydpi) -{ - return SetStatus(DllExports::GdipBitmapSetResolution( - static_cast<GpBitmap *>(nativeImage), - xdpi, ydpi)); -} -#endif |