diff --git a/dlls/gdiplus/gdiplus.spec b/dlls/gdiplus/gdiplus.spec index c53456ca0b0..76c7328de9e 100644 --- a/dlls/gdiplus/gdiplus.spec +++ b/dlls/gdiplus/gdiplus.spec @@ -409,7 +409,7 @@ @ stdcall GdipImageGetFrameCount(ptr ptr ptr) @ stdcall GdipImageGetFrameDimensionsCount(ptr ptr) @ stdcall GdipImageGetFrameDimensionsList(ptr ptr long) -@ stub GdipImageRotateFlip +@ stdcall GdipImageRotateFlip(ptr long) @ stdcall GdipImageSelectActiveFrame(ptr ptr long) @ stub GdipImageSetAbort @ stub GdipInitializePalette diff --git a/dlls/gdiplus/image.c b/dlls/gdiplus/image.c index 6ab3ccaf11d..9902f0f69ab 100644 --- a/dlls/gdiplus/image.c +++ b/dlls/gdiplus/image.c @@ -1675,3 +1675,12 @@ GpStatus WINGDIPAPI GdipGetImageThumbnail(GpImage *image, UINT width, UINT heigh image, width, height, ret_image, cb, cb_data); return NotImplemented; } + +/***************************************************************************** + * GdipImageRotateFlip [GDIPLUS.@] + */ +GpStatus WINGDIPAPI GdipImageRotateFlip(GpImage *image, RotateFlipType type) +{ + FIXME("(%p %u) stub\n", image, type); + return NotImplemented; +} diff --git a/include/gdiplusflat.h b/include/gdiplusflat.h index 3cc6d26d845..a7ee536e795 100644 --- a/include/gdiplusflat.h +++ b/include/gdiplusflat.h @@ -340,6 +340,7 @@ GpStatus WINGDIPAPI GdipGetPropertySize(GpImage*,UINT*,UINT*); GpStatus WINGDIPAPI GdipImageGetFrameCount(GpImage*,GDIPCONST GUID*,UINT*); GpStatus WINGDIPAPI GdipImageGetFrameDimensionsCount(GpImage*,UINT*); GpStatus WINGDIPAPI GdipImageGetFrameDimensionsList(GpImage*,GUID*,UINT); +GpStatus WINGDIPAPI GdipImageRotateFlip(GpImage*,RotateFlipType); GpStatus WINGDIPAPI GdipImageSelectActiveFrame(GpImage*,GDIPCONST GUID*,UINT); GpStatus WINGDIPAPI GdipLoadImageFromFile(GDIPCONST WCHAR*,GpImage**); GpStatus WINGDIPAPI GdipLoadImageFromFileICM(GDIPCONST WCHAR*,GpImage**); diff --git a/include/gdiplusimaging.h b/include/gdiplusimaging.h index e8dda736e8c..51a60ba9a49 100644 --- a/include/gdiplusimaging.h +++ b/include/gdiplusimaging.h @@ -38,6 +38,33 @@ enum ImageLockMode ImageLockModeUserInputBuf = 4 }; +enum RotateFlipType +{ + RotateNoneFlipNone = 0, + Rotate180FlipXY = RotateNoneFlipNone, + + Rotate90FlipNone = 1, + Rotate270FlipXY = Rotate90FlipNone, + + Rotate180FlipNone = 2, + RotateNoneFlipXY = Rotate180FlipNone, + + Rotate270FlipNone = 3, + Rotate90FlipXY = Rotate270FlipNone, + + RotateNoneFlipX = 4, + Rotate180FlipY = RotateNoneFlipX, + + Rotate90FlipX = 5, + Rotate270FlipY = Rotate90FlipX, + + Rotate180FlipX = 6, + RotateNoneFlipY = Rotate180FlipX, + + Rotate270FlipX = 7, + Rotate90FlipY = Rotate270FlipX +}; + #ifdef __cplusplus class EncoderParameter { @@ -108,6 +135,7 @@ public: #else /* end of c++ typedefs */ typedef enum ImageLockMode ImageLockMode; +typedef enum RotateFlipType RotateFlipType; typedef struct EncoderParameter {