Commit Graph

329 Commits

Author SHA1 Message Date
Piotr Caban 799362a0b7 gdiplus: Convert animated gif to PixelFormat32bppARGB on load. 2015-03-13 21:52:46 +09:00
Piotr Caban b3a9c698e8 gdiplus: Don't store stream reference in GpImage, it's done by IWICBitmapDecoder. 2015-03-13 21:52:45 +09:00
Piotr Caban a181997855 gdiplus: Don't create new instance of IWICBitmapDecoder to encode every frame of animation. 2015-03-13 21:52:40 +09:00
Piotr Caban 4c6427d080 gdiplus: Don't use CoCreateInstance in encode_image_wic. 2015-03-06 20:31:44 +09:00
Piotr Caban afe3422849 gdiplus: Don't use CoCreateInstance in get_palette function. 2015-03-06 20:31:42 +09:00
Piotr Caban b03c60d85c gdiplus: Don't use CoCreateInstance in decode_image_wic. 2015-03-06 20:31:40 +09:00
André Hentschel 1d0ff2ded3 gdiplus: Fix compiler warnings with flag -Wunused-macros. 2014-12-10 13:31:11 +01:00
Huw Davies 6df5ce7c9e gdiplus: Blend in the background colour. 2014-10-29 20:31:01 +09:00
Vincent Povirk 3fc386fc86 gdiplus: Process a row instead of a column in inner conversion loop. 2014-09-22 19:10:46 +02:00
Qian Hong deb1f047a7 gdiplus: Set outer pointer to NULL when image loading functions fail. 2014-07-11 16:59:38 +02:00
Vincent Povirk 500a96d079 gdiplus: Copy palettes with bitmaps. 2014-03-25 10:56:17 +01:00
Frédéric Delanoy 73288e1100 gdiplus: Use BOOL type where appropriate. 2014-03-18 11:39:13 +01:00
Vincent Povirk 2d487e22d6 gdiplus: Move metafile functions to metafile.c. 2014-01-29 12:38:46 +01:00
Frédéric Delanoy 4cc3705f66 gdiplus: Use BOOL type where appropriate. 2013-11-19 18:47:18 +01:00
Dmitry Timoshkov b528e01d85 gdiplus: Reimplement GdipCloneImage using GdipCloneBitmapArea for a bitmap. 2013-10-18 16:56:56 +02:00
Dmitry Timoshkov df367c3399 gdiplus: Reimplement GdipCloneBitmapArea without using GdipBitmapLockBits. 2013-10-18 16:56:56 +02:00
Vincent Povirk b14a4ca006 gdiplus: Properly set the gdi+ format to match the wic encoder's format. 2013-10-07 13:32:06 +02:00
Vincent Povirk 12586f76e3 gdiplus: Always provide image data in the format requested by image encoders. 2013-09-23 21:31:18 +02:00
Vincent Povirk 636e60b6e0 gdiplus: Fix GdipCreateBitmapFromGraphics implementation. 2013-03-11 10:42:40 +01:00
Dmitry Timoshkov c5e129a7e4 gdiplus: Remove debug traces from GdipBitmapGetPixel and GdipBitmapSetPixel. 2013-02-22 17:36:21 +01:00
Dmitry Timoshkov 0553eba08f gdiplus: Use an off-screen DC as an image surface. 2013-02-20 18:21:22 +01:00
Dmitry Timoshkov 35fc9c12dc gdiplus: Avoid not necessary memory allocation for BITMAPINFO. 2013-01-30 12:43:24 +01:00
Andrew Talbot 32d070afb0 gdiplus: Avoid signed-unsigned integer comparisons. 2013-01-24 10:49:34 +01:00
Dmitry Timoshkov 0d0f05e523 gdiplus: Avoid not necessary memory allocation in GdipCreateBitmapFromHICON. 2013-01-16 12:23:19 +01:00
Dmitry Timoshkov bd601f9950 gdiplus: Avoid not necessary memory allocation for BITMAPINFO. 2013-01-15 12:11:46 +01:00
Dmitry Timoshkov 44e554b744 gdiplus: Avoid not necessary memory allocation for palette entries. 2013-01-15 12:11:39 +01:00
Dmitry Timoshkov 34ef07fda2 gdiplus: Fix reading the mask bits in GdipCreateBitmapFromHICON. 2013-01-15 12:11:24 +01:00
Vincent Povirk 431aa5bc3f gdiplus: Use one GetDIBits call instead of one per row. 2012-12-06 12:59:26 +01:00
Vincent Povirk 04412f7a74 gdiplus: Avoid accessing dib bits directly in GdipCreateBitmapFromHBITMAP. 2012-12-06 12:56:27 +01:00
Vincent Povirk 91a3e5fc10 gdiplus: Reimplement GdipCreateMetafileFromEmf without using IPicture. 2012-11-01 10:50:45 +01:00
Vincent Povirk d8a855305f gdiplus: Implement GdipCloneImage for metafiles with a handle. 2012-11-01 10:50:41 +01:00
Dmitry Timoshkov 896d1047f3 gdiplus: Reuse an existing image stream in GdipImageSelectActiveFrame. 2012-09-28 17:17:47 +02:00
Dmitry Timoshkov 0ef523e2bf gdiplus: Add GIF palette to the image properties. 2012-09-25 11:30:31 +02:00
Dmitry Timoshkov faa24d96d4 gdiplus: Add GIF loopcount to the image properties. 2012-09-25 11:30:28 +02:00
Dmitry Timoshkov 54edca19e1 gdiplus: Add GIF transparent index to the image properties. 2012-09-25 11:30:25 +02:00
Dmitry Timoshkov a950a0549f gdiplus: Add GIF background to the image properties. 2012-09-25 11:30:21 +02:00
Dmitry Timoshkov 3bb4974dd4 gdiplus: Add GIF frame delay to the image properties. 2012-09-25 11:30:18 +02:00
Dmitry Timoshkov 000f4725aa gdiplus: Add GIF comment to the image properties. 2012-09-25 11:30:14 +02:00
Dmitry Timoshkov 915df87aa5 gdiplus: Add an ability to cache bitmap properties and use distinct metadata loaders for different image formats. 2012-09-21 17:07:09 +02:00
Marcus Meissner 5ae8629fca gdiplus: Avoid uninitialized usage of bitmap (Coverity). 2012-09-03 17:43:31 +02:00
Dmitry Timoshkov ac8019df3d gdiplus: Correct signature/mask info for the GIF codec. 2012-08-27 11:30:35 +02:00
Dmitry Timoshkov 10c84dfe3b gdiplus: Rename roundr() to gdip_round() to make it clearer that it's an internal helper. 2012-08-21 11:47:11 +02:00
Dmitry Timoshkov 6f630a4091 gdiplus: GdipGetImageThumbnail should return image in 32bppPARGB format. 2012-08-20 17:06:00 +02:00
Dmitry Timoshkov e3d27c42d9 gdiplus: Make GdipSetPropertyItem return Ok. 2012-08-16 11:59:12 +02:00
Dmitry Timoshkov 6bb353858e gdiplus: Replace convert_unit() by a clearer units_to_pixels() helper. 2012-08-15 13:53:31 +02:00
Dmitry Timoshkov e536a128f7 gdiplus: Store device resolution in the graphics object. 2012-07-26 11:07:41 +02:00
Dmitry Timoshkov 9697829511 gdiplus: Add missing 'break'. 2012-07-26 11:07:24 +02:00
Dmitry Timoshkov 0b40df2990 gdiplus: Make get_palette() usable for generating predefined palettes. 2012-07-25 20:13:58 +02:00
Dmitry Timoshkov f165e2725f gdiplus: Add 8bppGray to the list of supported formats. 2012-07-25 20:13:55 +02:00
Dmitry Timoshkov 271d801ea4 gdiplus: Use predefined palette if an image doesn't provide one. 2012-07-25 20:13:52 +02:00
Dmitry Timoshkov 45cdafc5e8 gdiplus: Add 8bppIndexed to the list of supported formats. 2012-07-25 20:13:18 +02:00
Dmitry Timoshkov dce93479ea gdiplus: Retrieve image palette from WIC. 2012-07-25 20:13:07 +02:00
Dmitry Timoshkov 7bcfb02169 gdiplus: Set actual resolution of an image being encoded. 2012-07-20 21:30:03 +02:00
Dmitry Timoshkov d104741a3c gdiplus: Add support for converting RGB formats to 1bpp indexed. 2012-07-17 13:09:41 +02:00
Dmitry Timoshkov 2ed1aaa930 gdiplus: Add support for converting RGB formats to 8bpp indexed. 2012-07-17 13:09:41 +02:00
Dmitry Timoshkov d9f4df0619 gdiplus: Pass palette instead of bitmap to setpixel helpers. 2012-07-17 13:09:40 +02:00
Dmitry Timoshkov 87f8e560c2 gdiplus: Pass complete palette info to convert_pixels(). 2012-07-17 13:09:40 +02:00
Dmitry Timoshkov a46c1f780a gdiplus: Use public ColorPalette structure to store image palette. 2012-07-17 13:09:39 +02:00
Dmitry Timoshkov c108fd6bf9 gdiplus: Make sure that GdipBitmapLockBits stores valid lockmode. 2012-07-17 12:54:20 +02:00
Dmitry Timoshkov ebf31c0ac6 gdiplus: Fix palette flags for a not indexed 1-bpp image. 2012-07-16 18:19:46 +02:00
Dmitry Timoshkov eca107412c gdiplus: Make sure that 1bpp bitmap images get loaded in native format. 2012-07-16 18:19:38 +02:00
Vincent Povirk 198fb25d17 gdiplus: Fix memory leak in GdipImageRotateFlip. 2012-07-12 11:48:56 -05:00
Vincent Povirk 577740f0d7 gdiplus: Fix GdipImageRotateFlip for images from streams. 2012-07-12 11:48:52 -05:00
Dmitry Timoshkov 56621638df gdiplus: Add parameter checks to GdipSetPropertyItem, print item contents in the trace. 2012-07-03 12:58:56 +02:00
Dmitry Timoshkov 3c9805d471 gdiplus: Implement GdipGetAllPropertyItems. 2012-07-02 11:00:22 +02:00
Dmitry Timoshkov 430355ef83 gdiplus: Implement GdipGetPropertySize. 2012-07-02 11:00:11 +02:00
Dmitry Timoshkov 91cf72f00f gdiplus: Add GdipSaveAdd stub. 2012-06-29 20:41:47 +02:00
Dmitry Timoshkov 670445b22b gdiplus: Implement GdipGetPropertyItem. 2012-06-29 10:46:50 +02:00
Dmitry Timoshkov 9d953c5f79 gdiplus: Implement GdipGetPropertyItemSize. 2012-06-29 10:46:50 +02:00
Dmitry Timoshkov 174b74bab2 gdiplus: Increase refcount of the source stream when loading a bitmap instead of cloning it. 2012-06-28 11:37:03 +02:00
Dmitry Timoshkov d079b66ba5 gdiplus: Avoid casting IWICBitmapFrameDecode to IWICBitmapSource. 2012-06-26 19:44:27 +02:00
Dmitry Timoshkov fb6b27de77 gdiplus: Implement GdipGetPropertyIdList. 2012-06-26 19:41:11 +02:00
Dmitry Timoshkov b9132b6815 gdiplus: Implement GdipGetPropertyCount. 2012-06-26 19:40:59 +02:00
Dmitry Timoshkov b72d236ca8 gdiplus: When loading a bitmap frame save its IWICMetadataReader interface. 2012-06-26 19:40:44 +02:00
Dmitry Timoshkov 450e09c8c6 gdiplus: Make some data const. 2012-06-21 08:36:28 +02:00
Dmitry Timoshkov 755c19f3e7 gdiplus: Implement GdipImageSelectActiveFrame. 2012-06-20 11:07:15 +02:00
Dmitry Timoshkov 9e12bc0175 gdiplus: Create a copy of the source stream when loading an image. 2012-06-19 13:44:07 +02:00
Dmitry Timoshkov 8b1bbd4fe5 gdiplus: Add active frame parameter to the WIC decoder interface. 2012-06-19 13:44:07 +02:00
Dmitry Timoshkov 527cae47e3 gdiplus: Remove a redundant cast. 2012-06-19 13:44:07 +02:00
Vincent Povirk b5ef70c583 gdiplus: Check for NULL image in GdipImageRotateFlip. 2012-06-14 19:13:27 +02:00
Dmitry Timoshkov eeee536ad6 gdiplus: Implement GdipImageGetFrameCount. 2012-05-17 17:44:26 +02:00
Dmitry Timoshkov 007d642e53 gdiplus: Save total and current frame in the image structure. 2012-05-17 17:44:25 +02:00
Alexandre Julliard 039c85346c gdiplus: CreateDIBSection doesn't need a DC for the DIB_RGB_COLORS case. 2012-05-02 12:02:17 +02:00
Vincent Povirk 57e4912108 gdiplus: Add support for JPEG encoding. 2012-04-18 17:15:53 +02:00
Vincent Povirk 93a0897660 gdiplus: Support bitmap creation from 16-bit ddb's. 2012-03-30 17:33:46 +02:00
Vincent Povirk 2540049777 gdiplus: Implement GdipCreateBitmapFromHBITMAP for 16-bit dibs. 2012-01-12 12:27:04 +01:00
Louis Lenders 8435e40874 gdiplus: Return zero properties in stubbed GdipGetPropertyCount. 2011-10-06 16:46:41 -05:00
Vincent Povirk 203d29d93a gdiplus: Fix pointer math for the 64-bit tests. 2011-10-04 15:19:02 -05:00
Vincent Povirk 5f94653159 gdiplus: Include an alpha channel in HBITMAPs created from Bitmaps. 2011-10-03 09:45:09 -05:00
Frédéric Delanoy b5a33dab88 dlls: Assorted spelling fixes. 2011-08-02 20:47:51 +02:00
Vincent Povirk 698fddf99b gdiplus: Properly clean up the new metafile data. 2011-06-22 11:25:46 +02:00
Vincent Povirk d436e51872 gdiplus: Add basic metafile recording support. 2011-05-23 11:15:41 +02:00
Marcus Meissner 4892adb414 gdiplus: Mark image_format_dimensions as static. 2011-05-18 10:54:32 +02:00
Vincent Povirk 1544640763 gdiplus: Add support for encoding TIFF images. 2011-04-11 19:32:53 +02:00
Vincent Povirk a7444e8e2c gdiplus: Use the given HPALETTE in GdipCreateBitmapFromHBITMAP. 2011-03-29 12:35:06 +02:00
Alexandre Julliard b3c333e916 gdiplus: Use signed types in convert_pixels to avoid problems on 64-bit. 2011-03-10 14:10:11 +01:00
Vincent Povirk 21d6fc9643 gdiplus: Implement ImageLockModeUserInputBuf. 2011-02-25 11:06:42 +01:00
Vincent Povirk 546b1a5cb4 gdiplus: Copy only the area requested when (un)locking bitmaps. 2011-02-25 11:06:36 +01:00
Vincent Povirk 9497e9380b gdiplus: Don't copy bits into the buffer when a bitmap is locked write-only. 2011-02-25 11:06:30 +01:00
Vincent Povirk 58eb96c9e7 gdiplus: Copy the bits on bitmap unlock if the write flag is set.
The read and write flags are independent, so a read flag being set doesn't
imply we can quit early.
2011-02-25 11:06:25 +01:00