Commit Graph

1951 Commits

Author SHA1 Message Date
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