Commit Graph

2017 Commits

Author SHA1 Message Date
Alexandre Julliard ab0ad4f5d8 gdi32: Add helper functions to compute font paths for AddFontResource. 2013-01-15 14:30:09 +01:00
Alexandre Julliard 0f40a031e7 gdi32: Store the vertical flag together with the other font flags. 2013-01-15 14:30:04 +01:00
Alexandre Julliard f90696e813 gdi32: Store the full flags in the face object, and add a flag for fonts added through AddFontResource. 2013-01-15 14:29:12 +01:00
Alexandre Julliard 865078b05a gdi32: Add ref counting to the face and family objects. 2013-01-14 15:19:14 +01:00
Alexandre Julliard 634840579c gdi32: Avoid creating a family object just to retrieve the font data. 2013-01-14 14:48:20 +01:00
Alexandre Julliard 227fc26e63 gdi32: Use the correct physdev for each driver call (Coverity). 2012-12-27 20:53:25 +01:00
Alexandre Julliard 57f84bc7bb gdi32: Avoid duplicate computation of text extents in ExtTextOut. 2012-12-20 15:08:31 +01:00
Alexandre Julliard 0da8c0d92e gdi32: Compute the extents of the whole string at once in ExtTextOut. 2012-12-20 14:32:58 +01:00
Alexandre Julliard bbf3e8621a gdi32: Remove from the GetTextExtentExPoint entry points parameters that can't be handled by the driver. 2012-12-18 19:26:25 +01:00
Alexandre Julliard 1c2f23cf2f gdi32: Add helper functions for GetTextExtentExPoint and fix handling of text justification. 2012-12-18 19:21:44 +01:00
Andrew Talbot 0653f7a64d gdi32: Indentation fix. 2012-12-17 11:48:03 +01:00
Alexandre Julliard 5215895a11 gdi32: Support wrongly ordered rectangles in RectVisible. 2012-12-14 17:37:41 +01: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 ff5d68ccb2 gdi32: Fix handling of rotation matrices in GetGlyphOutline. 2012-12-14 13:12:19 +01:00
Alexandre Julliard 351e58318a gdi32: Fix text justification to properly handle logical coordinates. 2012-12-11 20:45:38 +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
Alexandre Julliard 75fff47f94 gdi32: Add ref counting to the font objects and simplify the cache management. 2012-12-10 13:42:23 +01:00
Alexandre Julliard 06dced4eaa gdi32: Keep track of the number of fonts on the unused list. 2012-12-07 14:39:49 +01:00
Alexandre Julliard d3c128346b gdi32: Simplify list processing by using the LIST_FOR_EACH_ENTRY macro. 2012-12-07 14:29:28 +01:00
Francois Gouget 166e7c7381 gdi32: Make make_rgb_colorref() static. 2012-12-07 12:35:29 +01:00
Alexandre Julliard 8cca615f02 gdi32: Don't store a font pointer in the generic part of the DC. 2012-12-05 21:13:54 +01:00
Alexandre Julliard baedf81b11 gdi32: Don't create a separate font handle for linked fonts. 2012-12-05 21:13:29 +01:00
Alexandre Julliard 6144824965 gdi32: Remove special handling for linked fonts in ExtTextOut. 2012-12-05 20:23:50 +01:00
Alexandre Julliard 491123e17b gdi32: Support getting character codes instead of glyphs in ExtTextOut for the path driver. 2012-12-05 17:46:53 +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 e8b6701fe1 gdi32: Store and return ABC metrics from get_glyph_outline. 2012-12-04 18:14:56 +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 4ad5287496 gdi32: Fully reset the DC state before deleting it. 2012-11-27 19:45:30 +01:00
Huw Davies e6f1930116 gdi32: Simplify the point type checking logic. 2012-11-27 17:00:05 +01:00
Alexandre Julliard 1c4cf1a2db gdi32: Fix coordinate mapping of arc limits. 2012-11-19 16:35:23 +01:00
Alexandre Julliard ebaf5ea176 gdi32: Don't load bitmap glyphs when using subpixel rendering in GetGlyphOutline. 2012-11-15 21:21:39 +01:00
Piotr Caban 4f07c49547 gdi32: Added GetGlyphOutlineW tests on glyph that contains empty contour. 2012-11-13 16:57:02 +01:00
Piotr Caban b696558f04 gdi32: Ignore contours containing one point in get_glyph_outline function. 2012-11-13 16:55:55 +01:00
Alexandre Julliard af3f3cb1b2 gdi32: Avoid using the system GL headers. 2012-11-07 18:12:03 +01:00
Alexandre Julliard 86c41dc468 gdi32: Take into account the FontSmoothing key for anti-aliasing. 2012-11-06 16:02:27 +01:00
Alexandre Julliard ff8647ea39 gdi32: Avoid opening the desktop registry key multiple times. 2012-11-06 16:02:19 +01:00
Alexandre Julliard 7fdba1f3dd gdi32: Use the fontconfig anti-aliasing setup even for non-fontconfig fonts. 2012-11-06 11:47:28 +01:00
Alexandre Julliard ddba05547f gdi32: Get rid of the non-standard flags in GetRasterizerCaps. 2012-11-06 11:00:48 +01:00
Alexandre Julliard 5c02c352d9 gdi32: Determine the default anti-aliasing parameters in the null driver SelectFont entry point. 2012-11-05 16:15:25 +01:00
Alexandre Julliard 9d888b371f gdi32: Set the font anti-aliasing flags from the fontconfig information if available. 2012-11-02 19:47:09 +01:00
Alexandre Julliard 123da6f888 gdi32: Move checking of the subpixel support and gasp flags to freetype.c. 2012-11-02 17:21:45 +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
Alexandre Julliard 6164d533a9 gdi32: Add a parameter to return anti-aliasing flags in the SelectFont driver entry point. 2012-11-02 16:41:21 +01:00
Alexandre Julliard a04f73808e gdi32: Store the fontconfig anti-aliasing flags for each font. 2012-11-01 15:09:16 +01:00
Alexandre Julliard 24cdd74c6f gdi32: Store the font file name in Unicode in the font cache. 2012-11-01 15:09:15 +01:00
Alexandre Julliard c1f8a0bf61 gdi32: Avoid some redundant registry calls while loading the font cache. 2012-11-01 15:09:15 +01:00
Huw Davies 9247328371 gdi32: Implement sub-pixel glyph smoothing. 2012-10-30 18:09:00 +01:00
André Hentschel 0f7bc2d8cc gdi32: Avoid memory leaks (coverity). 2012-10-29 10:34:54 +01:00
Huw Davies 7cd8dc6bf2 gdi32: Use a symbol charmap if all else fails. 2012-10-26 16:29:29 +02:00
Huw Davies 8ef70039d3 gdi32: Simplify the code for charmap selection. 2012-10-26 16:29:26 +02:00
Alexandre Julliard 86abd84167 gdi32: Fix mapping of symbol font glyphs even when no encoding is specified. 2012-10-25 11:54:33 +02:00
André Hentschel f5df798611 gdi32: Fix free of address-of expression (coverity). 2012-10-25 11:48:15 +02:00
André Hentschel cf95218f08 gdi32: Fix copy-paste error (coverity). 2012-10-24 19:38:20 +02:00
Alexandre Julliard 4396a79ede gdi32: Add a DC hook flag to reset the DC state. 2012-10-24 18:24:03 +02:00
Alexandre Julliard 77c1856d43 gdi32: Remove an unused DC field. 2012-10-24 18:22:29 +02:00
Alexandre Julliard 5c1a752d61 gdi32: Export a function to retrieve the module handle of the graphics driver for a DC. 2012-10-22 15:16:00 +02:00
Alexandre Julliard b0ba7c765e gdi32: Update the ref count of stock objects when deleting a DC. 2012-10-21 12:18:46 +02: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
Qian Hong 648a8ce40e gdi32/tests: Fixed typo in localized name tests. 2012-10-19 11:18:20 +02:00
Qian Hong 16f2a1948e gdi32/tests: Declared system_lang_id as a global variable. 2012-10-19 11:18:11 +02:00
Qian Hong f9546329b6 gdi32/tests: Marked EnumFontFamiliesEx_default_charset test on Arabic locale as broken. 2012-10-19 11:17:59 +02:00
Qian Hong 284b382aba gdi32/tests: Skip some broken bitmap font metrics tests on Arabic locale. 2012-10-19 11:17:47 +02:00
Qian Hong b31dababde gdi32/tests: Fixed broken value in bitmap font metrics on Arabic locale. 2012-10-19 11:17:38 +02:00
Qian Hong ec9166b1ac gdi32/tests: Fixed broken bitmap font metrics test on CJK locales. 2012-10-19 11:17:25 +02:00
Qian Hong 416664babd gdi32/tests: Fixed broken value in bitmap font metrics on Japanese locale. 2012-10-19 11:17:15 +02:00
Alexandre Julliard 446bff7897 gdi32/tests: Avoid deleting invalid objects. 2012-10-18 22:28:45 +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 091c342f32 gdi32: Add a generation count in the high word of GDI handles. 2012-10-17 21:38:07 +02:00
Alexandre Julliard df357093cc gdi32: Get rid of the GDIOBJHDR type. 2012-10-17 13:48:45 +02:00
Alexandre Julliard 3964aa4a8d gdi32: Get rid of the METAFILEOBJ type, instead store a pointer to the metafile data. 2012-10-17 13:46:40 +02:00
Alexandre Julliard 89ecf02ca5 gdi32: Get rid of the RGNOBJ type, instead store a pointer to the region itself. 2012-10-17 13:28:25 +02:00
Alexandre Julliard dfeeedcf74 gdi32: Store the object flags directly in the GDI handle table. 2012-10-17 13:27:54 +02:00
Alexandre Julliard b95dd7e831 gdi32: Store the object selection count directly in the GDI handle table. 2012-10-17 13:17:56 +02:00
Alexandre Julliard 5f14ff42a8 gdi32: Process the object HDC list outside of the critical section. 2012-10-17 13:10:23 +02:00
Alexandre Julliard 2e693d00c9 gdi32: Store the HDC list directly in the GDI handle table. 2012-10-17 13:10:23 +02:00
Alexandre Julliard cf3cafdc18 gdi32: Store the object function table directly in the GDI handle table. 2012-10-17 13:10:22 +02:00
Alexandre Julliard 2bdf447744 gdi32: Store the object type directly in the GDI handle table. 2012-10-17 13:10:21 +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 2f92af70e0 gdi32: Add helper functions for converting between handle and index.
Also rename all instances of "large handles" since that's the only handle type now.
2012-10-12 11:36:24 +02:00
Daniel Lehman ea6e0a833b gdi32: Use HandleToULong inline function to convert handle to index instead of casting. 2012-10-12 11:27:58 +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 34b70728f3 gdi32: Limit the allocation size to the useful data when converting DIB bits. 2012-10-10 20:34:07 +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
Huw Davies 0941fefbc0 gdi32: Correctly map the 256-level bitmap to the 5, 17 and 65-level bitmaps. 2012-10-01 12:12:15 +02:00
Francois Gouget f77605c765 gdi32: Make dibdrv_wgl{Describe,Set}PixelFormat() static. 2012-10-01 11:59:58 +02:00
Alexandre Julliard 7eb49ae703 gdi32: Enumerate a default charset if no other valid charset was found. 2012-09-27 14:39:24 +02:00
Alexandre Julliard f0e4062773 gdi32: Allow GetCharABCWidths on all scalable fonts, not just TrueType ones. 2012-09-27 13:13:43 +02:00
Francois Gouget 5f55a71b70 Assorted spelling fixes. 2012-09-24 22:27:29 +02:00
Alexandre Julliard e95cff0332 gdi32: Always update the DC before looking for the physdev pointer. 2012-09-20 21:07:04 +02:00
Michael Stefaniuc f824030a49 gdi32: Don't bother using the register storage class specifier. 2012-09-14 15:41:45 +02:00
Qian Hong df8be7b81a gdi32: Prepend at in get_outline_text_metrics for vertical fonts. 2012-09-12 16:04:53 +02:00
Qian Hong 2f76f35e46 gdi32/tests: Added more tests for vertical fonts. 2012-09-12 16:04:47 +02:00
Qian Hong 97904fd1ff gdi32: Prepend at when create vertical font face. 2012-09-12 16:04:34 +02:00
Qian Hong 8f91b51674 gdi32/tests: Added tests for vertical fonts. 2012-09-12 16:04:25 +02:00
Qian Hong 6c1e264e8e gdi32: Fixed localized font full name (UNIQUE ID). 2012-09-12 16:04:03 +02:00
Qian Hong de5972081e gdi32: Fixed get_name_table_entry for symbol fonts. 2012-09-11 11:15:33 +02:00
Qian Hong 84954c0dbe gdi32/tests: Added tests for symbol fonts. 2012-09-11 11:15:30 +02:00
Qian Hong 80dbd4e9cf gdi32: Fixed localized font style name. 2012-09-11 11:15:27 +02:00
Qian Hong 4461612e33 gdi32/tests: Better trace in test_fullname2_helper. 2012-09-11 11:14:37 +02:00
Qian Hong e7dcb0e260 gdi32/tests: Fixed a typo in style name test. 2012-09-11 11:14:32 +02:00
Marcus Meissner f5c5a30724 gdi32: Fixed passed buffer size. 2012-09-10 11:39:43 +02:00
Alexandre Julliard 05c32b9b89 gdi32: Move the SwapBuffers entry point to the OpenGL driver. 2012-09-10 11:38:28 +02:00
Qian Hong 245308597f gdi32: Fixed family and face name on non English locale. 2012-09-07 13:33:47 +02:00
Qian Hong 733aca30f4 gdi32: Read otmpFullName from TT_NAME_ID_UNIQUE_ID. 2012-09-07 13:32:56 +02:00
Qian Hong abc8f2c6c2 gdi32: Read otmpFaceName from TT_NAME_ID_FULL_NAME. 2012-09-07 13:32:35 +02:00
Qian Hong 180185d890 gdi32/tests: Added font name tests on English locale. 2012-09-07 13:32:06 +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
Alexandre Julliard 01c9c1cbc2 gdi32: Let user32 specify the device rectangle when setting the visible region. 2012-09-05 21:56:56 +02:00
Alexandre Julliard bf528c5e9c gdi32: Allow removing a driver from the stack based on its function table. 2012-08-21 12:59:18 +02:00
Alexandre Julliard 0f5cc668ba gdi32: Add a helper function to find a specific driver in the DC stack. 2012-08-21 12:54:01 +02:00
Dmitry Timoshkov c8d61899db gdi32: Make sure that pattern info is initialized before being used. 2012-08-20 10:52:57 +02:00
Michael Stefaniuc 4d3a7aa268 gdi32: Avoid TRUE:FALSE conditional expressions. 2012-08-13 17:29:23 +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 592e6aa942 gdi32: Work around a gcc array out of bounds warning. 2012-07-23 14:52:32 +02:00
Alexandre Julliard 4c0779006e opengl32: Move the wgl functions to the main OpenGL function table. 2012-07-19 22:50:37 +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
Francois Gouget 7b782d435e gdi32: Remove an unused wgl debugging channel. 2012-07-11 10:00:47 -05:00
Alexandre Julliard 4c3cc50104 gdi32: Fix bitmap glyph allocation size in ExtTextOut fallback implementation. 2012-07-02 10:58:57 +02:00
Alexandre Julliard 83be88953b opengl32: Make the WGL driver context-specific. 2012-06-29 20:41:36 +02:00
Alexandre Julliard d89f7f2563 opengl32: Move checks of the context thread id to opengl32. 2012-06-29 20:41:35 +02:00
Alexandre Julliard 0045ec9dfb opengl32: Use proper handles for GL contexts and pass a context pointer to the WGL driver functions. 2012-06-29 20:41:34 +02:00
Alexandre Julliard e059d565ab gdi32: Add a null WGL driver. 2012-06-28 18:52:27 +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 edfc7f0de0 opengl32: Move wglGetProcAddress to the WGL driver. 2012-06-28 16:14:55 +02:00
Alexandre Julliard 8a13afedd6 opengl32: Move GetPixelFormat to the WGL driver. 2012-06-28 15:53:14 +02:00
Alexandre Julliard bbdf77a311 opengl32: Move wglCreateContext to the WGL driver. 2012-06-28 15:47:31 +02:00
Alexandre Julliard 3bcb8057a1 opengl32: Move wglCreateContextAttribsARB to the WGL driver. 2012-06-28 15:07:44 +02:00
Alexandre Julliard 7a031d9b92 opengl32: Add the concept of a WGL driver. 2012-06-28 14:37:31 +02:00
Alexandre Julliard db25d4022a winex11: Simplify wglSetPixelFormatWINE and export it as a standard extension function. 2012-06-28 13:13:01 +02:00
Stefan Leichter db21158faa gdi32: Spelling fix. 2012-06-28 11:37:03 +02:00
Alexandre Julliard 4a367c5719 winex11: Export wglMakeCurrent and wglMakeContextCurrentARB as standard extension functions. 2012-06-28 01:44:03 +02:00
Alexandre Julliard 67e7eda96c gdi32: Forward SwapBuffers to opengl32 which in turn calls GdiSwapBuffers. 2012-06-26 12:24:15 +02:00
Alexandre Julliard c013945728 gdi32: Forward SetPixelFormat to opengl32 which in turn calls GdiSetPixelFormat. 2012-06-26 12:24:15 +02:00
Alexandre Julliard e9f270bd41 gdi32: Forward DescribePixelFormat to opengl32 which in turn calls GdiDescribePixelFormat. 2012-06-26 12:24:14 +02:00
Alexandre Julliard 81cd178ae1 winex11: Move ChoosePixelFormat implementation to opengl32 and base it on DescribePixelFormat. 2012-06-26 12:24:09 +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 1c2f9255f4 gdi32: Fix StretchDIBits return value when destination is clipped. 2012-06-22 14:39:28 +02:00
Dan Kegel b85270e3a5 gdi32: Add test for SelectClipRgn in metafiles, make it pass. 2012-06-20 10:50:15 +02:00
Akihiro Sagawa f503afd86f gdi32: Remove an outdated comment in struct DefaultFontInfo. 2012-06-18 11:59:40 +02:00
Akihiro Sagawa 2bb416baa8 gdi32: Fix East-Asian font parameters. 2012-06-18 11:59:40 +02:00
Akihiro Sagawa afdc84cf03 gdi32/tests: Make GetStockObject tests pass on East-Asian machines. 2012-06-18 11:59:39 +02:00
Alexandre Julliard b61925e1ea gdi32: Fix the contents of the region data in metafiles. 2012-06-18 10:54:30 +02:00
Dmitry Timoshkov e65b19cad3 gdi32: Do not normalize height of the default GUI font. 2012-06-12 10:15:26 +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
Dmitry Timoshkov cca41207c1 gdi32: Fix parameters of some GDI stock fonts. 2012-06-04 12:17:53 +02:00
Dmitry Timoshkov 4fa2945544 gdi32/tests: GetGlyphOutline should fail for a bitmap font. 2012-06-01 13:25:52 +02:00
Alexandre Julliard 6d23f3e7e1 gdi32: Keep the source DC locked until the end in StretchBlt and AlphaBlend. 2012-05-31 15:33:12 +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 b6f25e5250 gdi32: Remove the null driver Get/PutImage fallbacks for bitmaps. 2012-05-29 18:20:11 +02:00
Alexandre Julliard 592bfd52c9 gdi32: Always use the DIB engine for DDB rendering. 2012-05-29 18:20:10 +02:00
Alexandre Julliard 77ee0b56bb gdi32/tests: Add some more tests for monochrome bitmap blits. 2012-05-29 18:17:47 +02:00
Alexandre Julliard df924f6a8c gdi32: Fix StretchBlt color mapping for monochrome bitmaps without a color table. 2012-05-29 18:17:22 +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 8761bb29ea gdi32/tests: Add tests for color mappings in monochrome bitmaps. 2012-05-25 11:47:55 +02:00
Alexandre Julliard b81a7d976e gdi32: Always use the DIB engine for monochrome bitmap rendering. 2012-05-25 11:47:46 +02:00
Alexandre Julliard 294faf5ef3 gdi32: Check that the bitmap depth matches the DC when selecting it. 2012-05-25 11:19:36 +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
Dmitry Timoshkov 82a4c5a6a3 gdi32: Set tmDigitizedAspectX/Y to 96 instead of 300 for consistency. 2012-05-09 12:06:34 +02:00
Dmitry Timoshkov ab7fe6086e gdi32: Add a test for ntmCellHeight calculation. 2012-05-08 19:51:12 +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 eb80e6f2db gdi32: Allow a driver to implement SelectBitmap but not CreateBitmap. 2012-05-08 14:32:32 +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
Alexandre Julliard 41e5bc06d8 gdi32: Add support for clipping source coordinates to the DC device rectangle. 2012-04-30 22:47:35 +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
Dmitry Timoshkov 5476c0e2b9 gdi32: ntmCellHeight and ntmAvgWidth should be in font units. 2012-04-24 18:44:07 +02:00
Dmitry Timoshkov 57fbf1434c gdi32: Enumerated font size should not be too large.
This reverts commit f4625d1ae1.
2012-04-24 18:43:45 +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
Alexandre Julliard caf15dd797 gdi32/tests: Take into account multi-monitor setups in the clip region tests. 2012-04-20 12:12:21 +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
André Hentschel 9cf97e18b4 gdi32: Remove unneeded shadow variable. 2012-04-18 17:11:39 +02:00
Alexandre Julliard 4a87722144 winex11: Add bounds rectangle tracking to all graphics entry points. 2012-04-18 13:50:56 +02:00
Alexandre Julliard 8b7760292d gdi32/tests: Fix a test that can fail on multi-monitor setups. 2012-04-17 16:40:57 +02:00
Alexandre Julliard 34457aa4c3 gdi32: Add bounds tracking to all the DIB engine entry points. 2012-04-16 17:49:22 +02:00
Alexandre Julliard 582a2f511f gdi32: Add a GetBoundsRect driver entry point. 2012-04-16 13:53:23 +02:00
Alexandre Julliard b1ccff1a9c gdi32: Add helper functions for manipulating bounds rectangles. 2012-04-16 13:41:29 +02:00
Michael Stefaniuc 7f293b00e8 gdi32/tests: Fix typo (comparison with itself). 2012-04-16 12:05:54 +02:00
Dmitry Timoshkov 34608a5108 gdi32: Add large fonts support for MS Sans Serif. 2012-04-13 16:09:45 +02:00
Alexandre Julliard 81fcb10977 gdi32/tests: Add test cases for wide pen bounding rectangles. 2012-04-13 16:09:39 +02:00
Alexandre Julliard 6c028b19c5 gdi32: Avoid redundant computation of the gradient bounding rectangle. 2012-04-13 13:41:16 +02:00
Alexandre Julliard ea5fa7ddbe gdi32: Map all the points at once in PolyPolyline, similarly to what PolyPolygon does. 2012-04-13 13:39:06 +02:00
Alexandre Julliard 568afc210e gdi32: Move the pen/brush_region helpers to graphics.c and avoid redundant clipping. 2012-04-13 13:36:23 +02:00
Dmitry Timoshkov 31f6f48bfd gdi32: Add a test for bitmap fonts selected for not existing font sizes. 2012-04-10 19:54:34 +02:00
Alexandre Julliard 88bcd13d7f gdi32: Store the reference DC in the enhanced metafile and use it to retrieve device caps. 2012-04-10 16:21:24 +02:00
Alexandre Julliard 2776a97931 gdi32: Add explicit fields for the DC flags. 2012-04-10 16:21:23 +02:00
Alexandre Julliard b762fcc9a7 gdi32: Clip the returned DC bounds to the device rectangle. 2012-04-10 16:21:11 +02:00
Alexandre Julliard 5917bd3959 gdi32: SaveDC doesn't save the DC bounds. 2012-04-10 16:19:20 +02:00
Alexandre Julliard 80f68d4442 gdi32/tests: Add tests for DC bounds handling across various DC manipulations. 2012-04-10 16:17:47 +02:00
Alexandre Julliard a186a8b170 gdi32/tests: Add tests for DC bounds on various device types. 2012-04-10 13:20:01 +02:00
Alexandre Julliard 399ab6f1f2 gdi32/tests: Add tests for DC bounds to the DIB graphics tests. 2012-04-09 22:59:11 +02:00
Alexandre Julliard 514e952827 gdi32/tests: Automatically reset the bits after comparing the hash. 2012-04-09 21:28:50 +02:00
Dmitry Timoshkov 1f00c01ea5 gdi32: Add more verbose messages to indicate when a font is being added/replaced/refused to load. 2012-04-09 17:28:46 +02:00
Dmitry Timoshkov e7a1362880 gdi32: Fix a typo in faces_equal() preventing loading all sizes of a bitmap font. 2012-04-09 17:28:43 +02:00
Alexandre Julliard 1ca6ed7748 gdi32: Fix GetClipBox return value for non-memory DCs. 2012-04-09 17:15:59 +02:00
Ken Thomases 9cb7a97981 gdi32: On Mac OS X, find fonts using Core Text rather than FontConfig, by default. 2012-04-05 14:51:34 +02:00
Ken Thomases 272cf2a973 Revert "gdi32: Load fonts from default Mac external font paths.".
This reverts commit 85a71387da.
2012-04-05 14:51:33 +02:00
Kusanagi Kouichi c0c7547f37 gdi32: Improve font cache. 2012-04-02 18:37:48 +02:00
Dmitry Timoshkov 62b9c26bb5 gdi32: Refuse to load a large .fot file earlier. 2012-04-02 12:42:22 +02:00
Dmitry Timoshkov b2af51956d gdi32: Remove a no longer needed shortcut in CreateScalableFontResource test. 2012-04-02 12:41:40 +02:00
Kusanagi Kouichi 35c84cddcc gdi32: Use helper functions when loading font from cache. 2012-03-30 15:30:01 +02:00
Huw Davies 88a2620b14 gdi32: Add support for loading scalable font resources. 2012-03-30 15:29:40 +02:00
Huw Davies 105caa28bf gdi32: Implement CreateScalableFontResource.
Based on patches by Jeremy White and Dmitry Timoshkov.
2012-03-29 18:16:06 +02:00
Huw Davies 7ac623f380 gdi32: Add a helper to create a new FreeType face. 2012-03-29 18:15:39 +02:00
Huw Davies 0318951aac gdi32: Separate face creation from face insertion. 2012-03-27 13:43:53 +02:00
Huw Davies 2489c3285c gdi32: Remove the loop over bitmap sizes. FreeType lists different sizes as separate faces.
Windows format bitmap fonts have been enumerated as separate faces
since FreeType 2.1.5, since we require 2.1.9 for bitmap support we can
safely drop this loop.
2012-03-27 13:43:50 +02:00
Huw Davies 8d50bb6711 gdi32: Add a helper to free a face object and fix a potential memory leak. 2012-03-27 13:43:46 +02:00
Huw Davies b5115f77bc gdi32: Add a helper to retrieve the fontsignature. 2012-03-27 13:43:42 +02:00
Huw Davies 45d79feaf5 gdi32: Add a helper to retrieve a bitmap font's internal leading. 2012-03-27 13:43:36 +02:00
Huw Davies afae44da25 gdi32: Add a helper to retrieve the ntm flags. 2012-03-27 13:43:34 +02:00
Huw Davies 37eb386739 gdi32: Add a helper to retrieve the font version. 2012-03-27 13:43:31 +02:00
Huw Davies e27a633b93 gdi32: Add a helper to create a family. 2012-03-27 13:43:29 +02:00
Huw Davies 7ad330deef gdi32: Add a helper to retrieve the family pointer. 2012-03-27 13:43:26 +02:00
Huw Davies c6af1d5416 gdi32: Add a helper to retrieve the family names and simplify the logic. 2012-03-27 13:43:24 +02:00
Huw Davies 18d19e7f18 gdi32: Remove unused variable. 2012-03-16 16:52:51 +01:00
Huw Davies 41fb856961 gdi32: Correctly propagate the enumproc's return value. 2012-03-14 17:33:54 +01:00
Kusanagi Kouichi 6a49adeee6 gdi32: find_face_from_filename() needs to take font replacements into account. 2012-03-14 17:28:05 +01:00
Kusanagi Kouichi d77104b93d gdi32: Remove unused parameters and code, and a useless wrapper function. 2012-03-13 10:38:04 +01:00
Kusanagi Kouichi eab0257492 gdi32: Simplify font replacement loading. 2012-03-13 10:37:51 +01:00
Kusanagi Kouichi 4bb0e2d076 gdi32: Add a helper function to get face list from family. 2012-03-13 10:37:45 +01:00
Kusanagi Kouichi fc03398cd5 gdi32: Add a helper function to create a full name from a family name and a style name. 2012-03-13 10:37:01 +01:00
Kusanagi Kouichi d696d5fee8 gdi32: Move font signature of font link from Face to SYSTEM_LINKS. 2012-03-13 10:36:45 +01:00
Kusanagi Kouichi e86519c9b3 gdi32: Add a helper function to find font link. 2012-03-13 10:36:19 +01:00
Alexandre Julliard 53c53126d5 gdi32: Fix rounding error for odd ellipse sizes in CreateRoundRectRgn. 2012-03-09 11:38:12 +01:00
Alexandre Julliard 78c3af9f18 gdi32: Fix missing increment of integer data in GetCharABCWidthsFloat. 2012-03-02 17:03:45 +01:00
Alexandre Julliard fd40d65cfa gdi32: Avoid using uninitialized value in DIB pattern enhmetafile record. 2012-02-24 17:04:06 +01:00
Alexandre Julliard c65de04789 gdi32: Use 64-bit values when computing ellipses to avoid overflows. 2012-02-24 15:55:45 +01:00
Alexandre Julliard 556267bde4 gdi32: Avoid overflows for invalid coordinates in line clipping. 2012-02-22 11:28:33 +01:00
Alexandre Julliard 32057bf132 gdi32: Don't paint the text rectangle in transparent mode unless a rectangle is explicitly specified. 2012-02-21 17:20:48 +01:00
Kusanagi Kouichi 4dc04ae867 gdi32: Initialize font signature of "System" font link. 2012-02-21 15:01:03 +01:00
Alexandre Julliard 21498d6c11 gdi32: Paint everything in ExtFloodFill when the DIB doesn't have a clip region. 2012-02-19 20:34:27 +01:00
Alexander Kochetkov 86de76b9e1 gdi32: Fix text baseline calculation in compatible mode. 2012-02-16 18:51:55 +01:00
Alexandre Julliard 691c37ca9f gdi32: Fix font orientation when mirroring in compatible mode.
Inspired by a patch from Alexander Kochetkov.
2012-02-16 18:51:55 +01:00
Kusanagi Kouichi 758796e704 gdi32: Add traces for skipped font replacements. 2012-02-15 16:27:11 +01:00
Kusanagi Kouichi 15a6aefb8f gdi32: Use find_family_from_any_name to find a replacement family. 2012-02-15 16:27:11 +01:00
Aric Stewart 05a9d4ce94 gdi32: Rebuild the internal SystemLink every time. 2012-02-14 19:15:48 +01:00
Alexandre Julliard b3ab012a42 gdi32: Don't clip to the visible rectangle for screen DCs. 2012-02-14 12:31:47 +01:00
Aric Stewart 85a71387da gdi32: Load fonts from default Mac external font paths. 2012-02-09 11:58:48 -06:00
Akihiro Sagawa 39f748f083 gdi32/tests: Reorder tests to avoid side-effects. 2012-02-09 11:54:39 -06:00
Huw Davies d3bfa44d53 gdi32: Intersect the background text box with the clip rectangle in device units. 2012-02-09 09:34:43 -06:00
Huw Davies 1eca24bd6b gdi32: Rename a shadow variable. 2012-02-09 09:34:38 -06:00
Akihiro Sagawa 286854fb06 gdi32: Consider whether the logical font face is vertical when selecting. 2012-02-08 13:54:40 -06:00
Akihiro Sagawa c683ad72b2 gdi32/tests: Add tests for East Asian font selection. 2012-02-08 13:54:33 -06:00
Aric Stewart f83762e678 gdi32: Allow font replacements to be specified either in localized name or English name. 2012-02-08 10:53:40 -06:00
Akihiro Sagawa d53dc01143 gdi32: Restore the vertical font flag from the cache. 2012-02-07 14:03:12 -06:00
Aric Stewart e7a79b5565 gdi32: Keep our internal generated system links separate and append them to any user defined system links. 2012-02-07 09:35:50 -06:00
Aric Stewart a8a2f87135 gdi32: In update_system_links if the font we are trying to link has already been substituted or localized we need to check against that name also. 2012-02-01 16:42:43 +01:00
Alistair Leslie-Hughes c5235eeab0 gdi32: Add EnhMetafile PolyBezier, PolyBezierTo support. 2012-01-19 21:08:55 +01:00
Huw Davies 3dc4f259e9 gdi32: The clip region should stop the flooding. 2012-01-19 21:08:50 +01:00
Huw Davies b2c3ca090f gdi32/tests: Add tests for ExtFloodFill. 2012-01-18 16:27:45 +01:00
Huw Davies d69868e464 gdi32: Implement ExtFloodFill. 2012-01-18 16:27:42 +01:00
Huw Davies ff4045b110 gdi32: Use separate x and y parameters in the get_pixel primitive. 2012-01-18 16:27:39 +01:00
Alexandre Julliard 7e9d5a1771 gdi32: Negative destination sizes are allowed after coordinate mapping in GdiAlphaBlend. 2012-01-18 16:03:36 +01:00
Alexandre Julliard f8fa169da0 gdi32: Store foreground/background color even when passed CLR_INVALID. 2012-01-12 15:53:07 +01:00
Alexandre Julliard 9ecc1e0702 gdi32: Simplify the CreateCompatibleBitmap implementation. 2012-01-12 15:53:04 +01:00
Alexandre Julliard fbbf3ba408 gdi32: Get rid of the CreateDIBSection driver entry point. 2012-01-10 16:13:29 +01:00
Alexandre Julliard 71ea68b657 gdi32: Use the bitmap part of the DIBSECTION structure for the DDB object information. 2012-01-10 16:13:29 +01:00