Commit Graph

284 Commits

Author SHA1 Message Date
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
Martin Petricek ee3c179026 gdiplus: Support for indexed formats in GdipBitmapSetPixel. 2011-01-12 15:02:38 +01:00
Vincent Povirk 32bbb0bbcf gdiplus: Correctly store the given stride in created bitmaps. 2010-11-12 17:47:43 +01:00
Vincent Povirk c8a48f237e gdiplus: Don't create a DIB section for non-alpha or reference bitmaps. 2010-10-01 13:44:39 +02:00
Vincent Povirk 9326fc13ca gdiplus: Don't try to free invalid or already-freed images. 2010-10-01 13:43:33 +02:00
Vincent Povirk 77a5b635aa gdiplus: Set flags and dpi when images are loaded. 2010-09-02 11:53:33 +02:00
Austin English 3745961b2e gdiplus: Add a stub for GdipConvertToEmfPlusToFile. 2010-08-24 15:22:29 +02:00
Vincent Povirk 517059f3f5 gdiplus: Set bitmap has alpha flag based on format. 2010-08-23 12:03:47 +02:00
Vincent Povirk 9a6eabf0b5 gdiplus: Create HBITMAP-less bitmap objects for exotic pixel formats. 2010-08-17 11:55:33 +02:00
Vincent Povirk 85a5710688 gdiplus: Don't require an HDC for the convert_unit function. 2010-08-17 11:55:33 +02:00
Vincent Povirk 3847c2dec9 gdiplus: Stub GdipGetMetafileHeaderFromStream. 2010-07-19 14:49:07 +02:00
Vincent Povirk 688eb0688b gdiplus: Stub GdipGetMetafileHeaderFromFile. 2010-07-19 14:49:07 +02:00
Vincent Povirk 2223900cf6 gdiplus: Stub GdipGetMetafileHeaderFromEmf. 2010-07-05 11:54:57 +02:00
Andrew Nguyen 6ea90c3c2e gdiplus: Add a few additional traces to gdiplus image functions. 2010-06-25 12:50:03 +02:00
Vincent Povirk 63fa6915ec gdiplus: Stub GdipGetEncoderParameterListSize. 2010-06-25 10:26:18 +02:00
Vincent Povirk 7dfc674437 gdiplus: Implement GdipGetImageThumbnail. 2010-05-10 10:02:11 +02:00
Vincent Povirk d2a01883fc gdiplus: Quiet the GdipImageForceValidation fixme. 2010-05-08 20:20:47 +02:00
Vincent Povirk 2dbc3980ef gdiplus: Implement GdipCreateHICONFromBitmap. 2010-05-08 19:25:32 +02:00
Vincent Povirk 38138784e7 gdiplus: Handle more cases in GdipCreateBitmapFromGdiDib. 2010-04-26 11:14:58 -05:00
Vincent Povirk 800e9ff6c5 gdiplus: Add test for GdipCreateBitmapFromGdiDib. 2010-04-26 11:14:53 -05:00
Vincent Povirk f2e3d99609 gdiplus: Implement GdipImageRotateFlip. 2010-03-31 11:41:13 +02:00
Vincent Povirk af7b8efc94 gdiplus: Store a reference to the image in image graphics contexts. 2010-03-29 12:19:38 +02:00
Mikhail Maroukhine 818ff38d62 gdiplus: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:14:04 +02:00
Vincent Povirk d24a421207 gdiplus: Add support for decoding TIFF images. 2010-03-22 11:44:33 +01:00
Vincent Povirk 738059baf8 gdiplus: Support decoders with multiple signatures. 2010-03-22 11:44:24 +01:00
Justin Chevrier 818420a378 gdiplus: Basic implementation of GdipImageGetFrameCount with updated tests. 2010-03-16 12:29:14 +01:00
Vincent Povirk c1c555e3df gdiplus: Zero the MetafileHeader structure in GetMetafileHeader.
Since we return success, we should at least make sure the result is not
uninitialized memory.
2010-03-15 13:28:23 +01:00
Alasdair Sinclair 0ecd8daa16 gdiplus: Create a full BITMAPINFO to prevent clobbering memory with palette data. 2010-03-05 13:28:29 +01:00
Vincent Povirk ab124aa6b8 gdiplus: Stub GdipGetImageItemData. 2010-02-25 12:12:08 +01:00
Vincent Povirk f62560f76c gdiplus: Free the attached HBITMAP when destroying Bitmap objects. 2010-02-25 12:12:03 +01:00
Vincent Povirk 318ba28630 gdiplus: Don't use gdi32 to do pixel format conversion. 2010-02-08 17:14:43 +01:00
Vincent Povirk 4d53a4c9f5 gdiplus: Implement GetPixel for indexed color bitmaps. 2010-02-01 12:09:14 +01:00
Vincent Povirk 8be3e5cf29 gdiplus: Always trace pixel formats in hex. 2010-01-25 12:58:09 +01:00
Vincent Povirk 7afd9603b5 gdiplus: Reset the lock count when unlocking a bitmap in write mode. 2010-01-04 11:45:21 +01:00
Vincent Povirk 495c42b617 gdiplus: Add traces to unimplemented functions in image.c. 2010-01-04 11:45:07 +01:00
Vincent Povirk d694679ab6 gdiplus: Add trace to GdipBitmapUnlockBits. 2010-01-04 11:45:01 +01:00
Vincent Povirk 6bb300fa41 gdiplus: Implement GdipBitmapSetResolution. 2009-12-28 12:57:43 +01:00
Vincent Povirk 1aea88cac1 gdiplus: Implement GdipGetImage*Resolution. 2009-12-28 12:57:37 +01:00
Vincent Povirk d87b1d4980 gdiplus: Implement GdipImageGetFrameDimensionsList. 2009-12-28 11:55:20 +01:00
Vincent Povirk 7d62e1f776 gdiplus: Remove fixme from GdipImageGetFrameDimensionsCount. 2009-12-28 11:55:11 +01:00
Vincent Povirk f8ca372459 gdiplus: Add trace for values of new graphics and image objects. 2009-12-21 15:01:23 +01:00
Vincent Povirk 25dcd43e52 gdiplus: Support reading image data from device-dependent bitmaps. 2009-12-14 12:18:18 +01:00
Vincent Povirk 3424dac386 gdiplus: Explicitly copy the bits from dib sections to new bitmaps.
On Windows, GdipCreateBitmapFromHBITMAP creates a copy of the bitmap, not
a reference. Currently, we match this behavior, but this is only because
we cannot yet create bitmap objects that reference existing memory. If
GdipCreateBitmapFromScan0 were fixed to do this, FromHBITMAP would break.

Therefore, we always pass NULL to FromScan0 so that it allocates new memory
for the bitmap.
2009-12-14 12:18:10 +01:00
Vincent Povirk 6c040271c1 gdiplus: Initialize the palettes of new indexed bitmaps. 2009-12-14 12:04:04 +01:00
Vincent Povirk 9615dd8fdb gdiplus: Implement GdipGetImagePalette. 2009-12-14 12:04:03 +01:00
Vincent Povirk 59f45f2cbb gdiplus: Implement GdipGetImagePaletteSize. 2009-12-14 12:04:03 +01:00