Huw Davies
f7b6a7d77a
gdi32: Precompute the destination colours for sources with a colour table.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 21:23:24 +09:00
Huw Davies
7fd44a511f
gdi32: Use a binary search to generate the clipped rects.
...
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-07 21:23:24 +09:00
Alexandre Julliard
7cfcd23878
gdi32: Take the transform rotation into account to compute pen width.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:20 +09:00
Alexandre Julliard
b5cf73edd9
gdi32: Implement FillPath, StrokeAndFillPath and StrokePath in the DIB driver.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-17 00:09:20 +09:00
Andrey Gusev
9a80284e1a
gdi32: Fix a typo in a pointer name in primitive_funcs.
...
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-19 23:42:23 +09:00
Henri Verbeet
0a41694b53
gdi32: Implement DC creation from pre-existing memory.
...
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-13 23:01:07 +09:00
Nikolay Sivov
1aa53bc470
gdi32: Initialize 'param' field (Coverity).
...
For consistency with the rest of the code, initialize both
'free' and 'param' fields.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-22 10:46:35 +01:00
Alexandre Julliard
89f12fc101
gdi32: Periodically flush a window surface if the app is continuously painting.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-27 20:53:31 +09:00
Sebastian Lackner
a1790df348
gdi32: Add check for NULL pointer in dibdrv_wglDescribePixelFormat.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-26 23:57:49 +09:00
Nikolay Sivov
7889b17425
gdi32: Added GetFontRealizationInfo() export.
2015-09-01 19:28:16 +09:00
Michael Stefaniuc
8293cf33e0
gdi32: Remove double parentheses, not a misplaced pair (PVS-Studio).
2015-03-06 20:32:00 +09:00
Alexandre Julliard
336be2f694
gdi32: Use shorter constants for byte and word masks to avoid warnings.
2015-03-04 21:50:35 +09:00
Michael Müller
e618ab65ed
gdi32: Fix arguments for OSMesaMakeCurrent when using 16 bit formats.
2015-02-26 20:10:08 +09:00
Alexandre Julliard
55f24da978
gdi32: Check the hatch masks instead of the rop masks for the null and mask optimization case.
2014-10-27 17:35:44 +09:00
Nikolay Sivov
8a3f3c0817
gdi32/dibdrv: Fix a clipped_rects leak (Valgrind).
2014-04-25 11:05:19 +02:00
Frédéric Delanoy
adee328a50
gdi32: Use BOOL type where appropriate.
2013-11-07 13:13:05 +01:00
Frédéric Delanoy
28be1f7853
gdi32: Use BOOL type where appropriate.
2013-10-14 10:44:31 +02:00
Akihiro Sagawa
b138c36c11
gdi32: Fix empty glyph handling in the dib driver.
2013-10-01 19:26:11 +02:00
Ralf Habacker
39629a3d35
gdi32: Fixed Rectangle() rotation with GM_ADVANCED graphics mode in dib driver.
2013-09-05 20:58:24 +02:00
André Hentschel
20bf02910b
gdi32: Remove superfluous cast.
2013-07-01 19:51:23 +02:00
Alexandre Julliard
a973df3324
gdi32: Fix off-by-one error in the extent of arcs when the size is even.
2013-07-01 19:51:14 +02:00
Matěj Laitl
84c07af48e
gdi32: More specific error messages in osmesa opengl initialization.
2013-05-30 20:19:32 +02:00
Alexandre Julliard
456b4c876e
gdi32: Add a helper function to order the points of a rectangle.
2012-12-14 17:37:33 +01:00
Alexandre Julliard
a3cf48afad
gdi32: Add a level of pointers to the glyph cache to avoid the need for locking individual glyphs.
2012-12-11 12:03:33 +01:00
Alexandre Julliard
b057c5f140
gdi32: Fix handling of font orientation in advanced graphics mode.
2012-12-10 17:36:23 +01:00
Francois Gouget
166e7c7381
gdi32: Make make_rgb_colorref() static.
2012-12-07 12:35:29 +01:00
Alexandre Julliard
78626cdbaa
gdi32: Support caching glyphs by character code and not only by glyph index.
2012-12-05 17:46:47 +01:00
Alexandre Julliard
3a4864714d
gdi32: Don't copy unnecessary rows when shrinking in DELETESCANS mode.
2012-12-03 18:24:46 +01:00
Alexandre Julliard
db3a8d6c0c
gdi32: Avoid binary ROPs when shrinking in DELETESCANS mode.
2012-12-03 18:24:46 +01:00
Alexandre Julliard
6f6e919e2b
gdi32: Avoid binary ROPs when stretching in DELETESCANS mode.
2012-12-03 18:24:45 +01:00
Alexandre Julliard
2d3385eec9
gdi32: Avoid computing grayscale glyph intensities when not needed.
2012-11-30 19:12:17 +01:00
Alexandre Julliard
abdce5c2c8
gdi32: Use the faster memset for vertical gradients.
2012-11-30 19:12:17 +01:00
Alexandre Julliard
d10d95608c
gdi32: Make blend_subpixel inline.
2012-11-30 19:12:17 +01:00
Alexandre Julliard
a796ad5ed8
gdi32: Avoid creating a copy of the pattern bits for the R2_COPYPEN case.
2012-11-29 19:40:19 +01:00
Alexandre Julliard
7339308e16
gdi32: Add faster implementation of the pattern_rects primitive when we don't need an AND mask.
2012-11-29 19:40:13 +01:00
Alexandre Julliard
2aff4696b6
gdi32: Add assembly helpers for filling solid rectangles.
2012-11-29 12:31:13 +01:00
Alexandre Julliard
cb7917f9c8
gdi32: Add faster implementations of the solid_rects primitive for the common case of R2_COPYPEN.
2012-11-29 12:17:55 +01:00
Alexandre Julliard
6050a025bb
gdi32: Add a font glyph cache in the DIB engine.
2012-11-28 12:22:40 +01:00
Alexandre Julliard
1c4cf1a2db
gdi32: Fix coordinate mapping of arc limits.
2012-11-19 16:35:23 +01:00
Alexandre Julliard
af3f3cb1b2
gdi32: Avoid using the system GL headers.
2012-11-07 18:12:03 +01:00
Alexandre Julliard
9cdb0e1ca6
gdi32: Disable anti-aliasing when necessary in the various drivers.
2012-11-02 16:41:26 +01:00
Alexandre Julliard
ccc034c27e
gdi32: Store the anti-aliasing flags in the DC when selecting a font.
2012-11-02 16:41:23 +01:00
Huw Davies
9247328371
gdi32: Implement sub-pixel glyph smoothing.
2012-10-30 18:09:00 +01:00
Huw Davies
aa9827b08e
gdi32: Move the string rendering code to a common function.
2012-10-19 18:09:52 +02:00
Huw Davies
e6c349d69f
gdi32: Use the helper to draw the glyphs.
2012-10-19 18:09:49 +02:00
Huw Davies
3e7517328d
gdi32: Pass individual x, y co-ords to draw_glyph rather than a POINT.
2012-10-19 18:09:46 +02:00
Huw Davies
3ef520650c
gdi32: Pass a dib_info structure to draw_glyph.
2012-10-19 18:09:44 +02:00
Huw Davies
64e2ad5709
gdi32: Make get_glyph_bitmap return a dib_info structure in order to avoid code duplication.
2012-10-18 19:22:14 +02:00
Alexandre Julliard
36f2b09632
gdi32: Always return the full DIB surface in GetImage and adjust coordinates accordingly.
...
Based on a patch by Ken Thomases.
2012-10-15 15:25:04 +02:00
Alexandre Julliard
6e325afaa7
gdi32: Handle a missing source alpha directly in the blend_rect primitive instead of modifying the source data.
2012-10-10 20:34:08 +02:00
Alexandre Julliard
76272e0773
gdi32: Use BI_BITFIELDS to indicate that a 32-bpp DIB doesn't have an alpha channel.
2012-10-10 20:34:08 +02:00
Alexandre Julliard
86cf1126a5
gdi32: Return the full DIB height in GetImage instead of clipping to the visible rect.
2012-10-10 20:34:07 +02:00
Francois Gouget
f77605c765
gdi32: Make dibdrv_wgl{Describe,Set}PixelFormat() static.
2012-10-01 11:59:58 +02:00
Alexandre Julliard
05c32b9b89
gdi32: Move the SwapBuffers entry point to the OpenGL driver.
2012-09-10 11:38:28 +02:00
Alexandre Julliard
27b0b88a0b
gdi32: Add a graphics driver to render windows contents through the DIB engine.
2012-09-06 12:24:25 +02:00
Dmitry Timoshkov
c8d61899db
gdi32: Make sure that pattern info is initialized before being used.
2012-08-20 10:52:57 +02:00
Alexandre Julliard
747d1631d5
gdi32: Compute the line parameters using the cropped coordinates to avoid overflows.
2012-07-31 17:59:12 +02:00
Alexandre Julliard
96e80c2623
gdi32: Move DescribePixelFormat and SetPixelFormat to the WGL driver.
2012-07-30 22:12:13 +02:00
Alexandre Julliard
6714f16c74
gdi32: Clip solid pen regions to the DIB rectangle to avoid overflows.
2012-07-30 17:13:36 +02:00
Alexandre Julliard
a9151e5da3
gdi32: Limit line drawing coordinates to reasonable values to avoid overflows.
2012-07-30 17:13:36 +02:00
Alexandre Julliard
78d12e7fcc
gdi32: Add a helper function to initialize Bresenham parameters for line drawing.
2012-07-30 17:13:35 +02:00
Alexandre Julliard
35eef16ba7
gdi32: Support OpenGL in bitmaps through libOSMesa.
2012-07-27 17:05:16 +02:00
Alexandre Julliard
6a8ded433b
gdi32: Remove left-over debug trace.
2012-07-19 20:27:39 +02:00
Alexandre Julliard
7c9d35e575
gdi32: PatBlt needs to bypass the brush for ROPs that don't make use of it.
2012-07-19 15:42:31 +02:00
Alexandre Julliard
6a9dcd51a2
gdi32: Remove the remaining OpenGL entry points from the DC driver.
2012-06-28 18:52:23 +02:00
Alexandre Julliard
7a031d9b92
opengl32: Add the concept of a WGL driver.
2012-06-28 14:37:31 +02:00
Alexandre Julliard
ee21554893
gdi32: Remove OpenGL functions that don't use an HDC from the driver entry points.
2012-06-25 16:25:57 +02:00
Alexandre Julliard
c07763b419
gdi32: Clip output to both the DIB visible rectangle and the total DIB extents.
2012-06-04 22:23:15 +02:00
Alexandre Julliard
319a87c86e
gdi32: Take into account the DIB rectangles when determining overlap for blits.
2012-06-04 22:23:13 +02:00
Alexandre Julliard
61f4767ade
gdi32: Don't implement the gamma ramp functions in the DIB driver.
2012-05-31 13:44:32 +02:00
Alexandre Julliard
af4871f862
gdi32: Make sure the bounds are always updated in ExtTextOutW.
2012-05-30 21:35:22 +02:00
Alexandre Julliard
93758c43fd
gdi32: Remove the CreateBitmap and DeleteBitmap driver entry points.
2012-05-29 21:06:41 +02:00
Alexandre Julliard
1416d0e6f1
gdi32: Remove the bitmap parameter from the Get/PutImage entry points.
2012-05-29 21:05:52 +02:00
Alexandre Julliard
7c4c233d12
gdi32: Add a helper function that implements PutImage on a bitmap.
2012-05-29 18:20:12 +02:00
Alexandre Julliard
cf85fb14ab
gdi32: Add a helper function that implements GetImage on a bitmap.
2012-05-29 18:20:11 +02:00
Alexandre Julliard
c2784e08fc
gdi32: Improve support of bitmaps without a color table in PutImage.
2012-05-29 18:16:30 +02:00
Alexandre Julliard
fdc4682e31
gdi32: Remove the CopyBitmap driver entry point.
2012-05-24 22:09:19 +02:00
Alexandre Julliard
a196ad8fc1
gdi32: Always store a copy of the bitmap bits for pattern brushes.
2012-05-24 19:53:23 +02:00
Alexandre Julliard
8a86f6c993
gdi32: Don't use the DC colors when drawing a monochrome pattern to a monochrome DDB.
2012-05-23 20:24:08 +02:00
Alexandre Julliard
139aeba3ef
gdi32: Implement dithering of solid brushes when drawing to DDBs.
2012-05-23 20:24:03 +02:00
Alexandre Julliard
664442ab84
gdi32: Don't store the default color table in dib_info objects.
2012-05-23 17:22:17 +02:00
Alexandre Julliard
9968f3083a
gdi32: Use the default color table when mapping colors in bitmaps that don't have one.
2012-05-23 17:22:07 +02:00
Alexandre Julliard
b8e4cd81ab
gdi32: Simplify creation of hatch masks and avoid endianness issues.
2012-05-23 17:22:03 +02:00
Alexandre Julliard
574a07e4c9
gdi32: Add a helper function to allocate the brush bits.
2012-05-22 22:03:18 +02:00
Alexandre Julliard
b708b40105
gdi32: Pass a rop_mask_bits object to the pattern_rects primitive.
2012-05-22 21:52:44 +02:00
Alexandre Julliard
524aef660e
gdi32: Use a rop_mask_bits object to store the brush bits.
2012-05-22 21:47:30 +02:00
Alexandre Julliard
3c2502a8c7
gdi32: Add support for dithering pattern brushes when painting to monochrome bitmaps.
2012-05-22 17:43:52 +02:00
Francois Gouget
fac36c55e9
Assorted typo, spelling, wording and case fixes.
2012-05-15 16:26:43 +02:00
Alexandre Julliard
1392bfce3c
gdi32: Pass OpenGL calls through to the display driver from the DIB engine.
2012-05-09 17:37:37 +02:00
Alexandre Julliard
147174ff1c
winex11: Implement wglGetPbufferDCARB with a DC escape and remove it from the GDI driver interface.
2012-05-08 14:35:44 +02:00
Alexandre Julliard
e94d3b4e08
gdi32: Add a priority mechanism for pushing drivers on the stack in a defined order.
2012-05-08 12:16:50 +02:00
Alexandre Julliard
6a19d9f252
gdi32: Support drawing to a visible rectangle smaller than the whole bitmap in the DIB engine.
2012-05-01 14:28:39 +02:00
Alexandre Julliard
025b58870e
gdi32: Always pass the actual coordinates to the get_pixel_ptr functions.
2012-05-01 11:41:19 +02:00
Jeff Muizelaar
2da2f001cf
gdi32: Improve performance of common case of AlphaBlend.
2012-04-30 20:03:28 +02:00
Alexandre Julliard
3ea711dd7c
gdi32: Store the bounds rectangle as a pointer in the DIB driver.
2012-04-27 12:49:20 +02:00
Alexandre Julliard
3009e03df7
gdi32: Add a SetBoundsRect driver entry point.
2012-04-27 12:41:43 +02:00
Alexandre Julliard
9674011d75
gdi32: Fix coordinates for row copies in mirrored vertical stretching.
2012-04-24 17:37:53 +02:00
Alexandre Julliard
6c2235cf98
gdi32: Fix some typos in the 4-bpp shrink_row function.
2012-04-23 14:58:12 +02:00
Daniel Lehman
2c5d7d716a
gdi32: Don't add_join if points are coincident in wide_line_segments.
2012-04-18 17:15:19 +02:00
Alexandre Julliard
34457aa4c3
gdi32: Add bounds tracking to all the DIB engine entry points.
2012-04-16 17:49:22 +02:00