Commit Graph

411 Commits

Author SHA1 Message Date
Huw Davies 9277cf199f Fix maskblt to work with any set of rops and to also take into account
the current brush.  It also now works if the mask bitmap is already
selected into a dc.
2004-08-11 18:51:10 +00:00
Huw Davies 0e58986d4f Don't ever return a bitmap font if the driver can't use it. 2004-08-11 18:49:34 +00:00
Huw Davies c8c4bf30fb We don't currently support horizontal stretching of bitmap fonts, so
we should ignore lfWidth.
2004-08-10 23:42:18 +00:00
Huw Davies 945d98ba26 GetCharABCWidths should fail for non-scalable fonts. 2004-08-09 23:38:10 +00:00
Huw Davies 86c9f378a4 Try harder to match to a font if the family name is matches, but the
style is doesn't.
2004-08-09 22:54:33 +00:00
Huw Davies 544c85ee01 Break and default char are both relative to first char in the winfnt
header.
2004-08-09 18:52:51 +00:00
Huw Davies 2bf1562c28 Actually pass the blend function on to the graphics driver. 2004-08-06 18:59:31 +00:00
Huw Davies 2c527f96eb Maintain a cache (currently of up to 10) of unused fonts. This speeds
up apps that repeatedly recreate the same font.
2004-08-06 17:31:39 +00:00
Huw Davies 2b804c56da Convert gdi font list to use list.h. 2004-08-04 18:16:13 +00:00
Huw Davies dd5b23fddb Implement AlphaBlend using the XRENDER extension. 2004-08-02 18:54:54 +00:00
Jeroen Janssen cead7c0e81 Updated some MSDN links in the code. 2004-07-30 00:03:02 +00:00
Huw Davies 60b22a4add Make tmUnderlined and tmStruckOut reflect the values used to create
the font.
2004-07-22 19:42:31 +00:00
Alexandre Julliard ebc6a2d9b6 Moved all files from the objects/ directory to dlls/gdi.
Merged text.c into font.c and dcvalues.c into dc.c.
2004-07-21 04:07:28 +00:00
Alexandre Julliard f7b4a4e2f1 Moved LineDDA implementation to dlls/gdi/painting.c. 2004-07-21 03:41:27 +00:00
Huw Davies 03fa4c6f57 Fix font replacements to work with bitmap fonts.
Enumerate System, Terminal, FixedSys in that order.
2004-07-14 21:42:35 +00:00
Alexandre Julliard 503ffff9a5 Allow specifying multiple graphics drivers and use the first one that
loads successfully.
2004-07-13 03:53:55 +00:00
Dmitry Timoshkov ac42c45745 Do not allow creation of not aligned EMF records by GDI code. 2004-06-18 19:33:41 +00:00
Huw Davies c22171836b Add support for bitmap fonts. 2004-06-16 20:06:26 +00:00
Eric Pouech bde649c356 Added some missing prototypes. 2004-05-18 20:43:29 +00:00
Francois Gouget cfc3943c5f Make our ascii strings static const.
Remove a couple string variables that were used only once and use the
string literal directly.
2004-05-04 04:13:05 +00:00
Alexandre Julliard a11b2bbafb Updated the auto-generated tests. 2004-05-04 00:41:11 +00:00
Francois Gouget 52c0832161 Make Unicode strings static const. 2004-04-20 01:12:17 +00:00
Francois Gouget 6a6c85c6d8 Make Unicode const strings static so they are not copied to the stack
each time we enter the function.
2004-04-19 20:12:14 +00:00
Alexandre Julliard 1cb0cf4ced Moved wine_get_unix_file_name implementation to ntdll, and changed it
to return an allocated buffer instead of a fixed size one.
2004-04-14 19:40:53 +00:00
Kevin Koltzau ac05d0dd29 Partial stub of GdiAlphaBlend/AlphaBlend. 2004-04-14 19:35:24 +00:00
Mike McCormack 61acd0ddc2 Fix bug in GdiGradientFill. 2004-04-02 19:15:14 +00:00
Mike McCormack 307ee761ef Optimize GdiGradientFill by drawing lines instead of pixels. 2004-03-31 19:58:25 +00:00
Mike McCormack d00141aae8 Write EMRPOLYLINE16 if points fit into a SHORT. 2004-03-29 23:04:32 +00:00
Mike McCormack 4eaf41b535 Unicodify CreateMetaFile. 2004-03-29 20:27:18 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Dmitry Timoshkov 21fc3c8067 CreateDIBSection takes a const pointer to BITMAPINFO. 2004-03-12 19:46:12 +00:00
Dmitry Timoshkov 90c42fed6b Eliminate some unnecessary direct accesses to DC internals from EMF
driver.
2004-03-11 00:37:46 +00:00
Dmitry Timoshkov 84d66c0615 Added an EMF test suite. 2004-03-09 19:19:53 +00:00
Robert Shearman d315f6b1d7 Check for NULL pointers returned by HeapAlloc. 2004-03-09 19:19:12 +00:00
Huw Davies db226a8049 Add registry entries for any fonts found by fontconfig or that are in
the FontDirs directories.
2004-03-09 03:43:54 +00:00
Alexandre Julliard 05df86a38f Moved more GDI definitions to gdi_private.h.
Get rid of bitmap.h and palette.h.
2004-03-04 20:41:12 +00:00
Alexandre Julliard 83decd25ad Changed the CreateDC driver entry point to use an HDC instead of a DC
pointer.
2004-03-04 06:26:11 +00:00
Alexandre Julliard ebd24807fe Pass the gdiFont object to the SelectFont driver entry point so that
we don't need to look into the DC structure for it.
2004-03-04 04:05:04 +00:00
Alexandre Julliard 8d18b2a518 Pass the breakExtra value in the ExtTextOut driver call, since there
is no function to retrieve it from the HDC.
2004-03-04 01:42:57 +00:00
Alexandre Julliard cb4ecc878f Implemented Get/SetBoundsRect based on a patch by Ken Belleau. 2004-03-03 05:29:44 +00:00
Alexandre Julliard 589e115233 We no longer use the .exe.spec.c files. 2004-03-02 21:16:37 +00:00
Rein Klazes 8677fbf362 Add stub implementation for SetICMProfileA(). 2004-02-20 01:08:16 +00:00
Alexandre Julliard 492ac292b9 Added support for building a dll from a .def file for cases where we
don't want to write a full .spec.
Renamed --spec option to --dll for consistency.
2004-02-17 20:36:16 +00:00
Alexandre Julliard 7fd58cb13f Get rid of a few 16-bit exports in gdi32. 2004-02-13 20:58:27 +00:00
Alexandre Julliard e04fe7da4e Moved hGCClipRgn handling to the graphics driver. 2004-02-13 20:26:27 +00:00
Alexandre Julliard 85106cdaf3 Moved remaining files from graphics/ to dlls/gdi. 2004-02-12 23:11:30 +00:00
Huw Davies 2cd9ee9528 GetCharABCWidths returns the widths of unrotated glyphs like
GetCharWidth already does.
2004-02-12 20:05:47 +00:00
Alexandre Julliard beacd10175 Moved some code out of the graphics/ directory into dlls/gdi. 2004-02-12 02:17:51 +00:00
Kevin Koltzau 4a4b5d407c Implementation of gdi32.GdiTransparentBlt and msimg32.TransparentBlt. 2004-02-02 23:10:35 +00:00
Huw Davies 8607f28b6b GulimChe has the IsFixedPitch flag set, yet contains glyphs of
differing widths.  To cope with this we need to call FT_Load_Glyph
with the FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH flag in order to get
back the correct glyph metrics from FreeType.
2004-02-02 23:03:54 +00:00
Francois Gouget 6b6ed724ae Add missing '\n's to debug traces. 2004-01-27 00:01:43 +00:00
Francois Gouget 7494b5b980 Add trailing '\n's to ok() calls.
Check whether _MSC_VER is defined.
2004-01-23 02:11:12 +00:00
Rein Klazes f20ce3b816 Fix MultiByteToWideChar and WideCharToMultiByte when called with code
page CP_SYMBOL.
Remove the symbol font from the code page table, so it is not reported
as a valid/supported/installed code page.
Remove workarounds for the badly behaved MultiByteToWideChar and co.
in a few places.
2004-01-20 22:39:06 +00:00
Huw Davies 5e86e9d5bc Fix compilation if Freetype isn't installed. 2004-01-19 21:51:45 +00:00
Alexandre Julliard 32f1ac3a66 Use the exported FONTENUMPROCW as parameter in the EnumDeviceFonts
driver function instead of defining a private function type.
2004-01-18 23:35:12 +00:00
Vincent Béron 82ceaca3ec Fix compilation with ICU after introduction of gdi_private.h. 2004-01-16 02:01:32 +00:00
Alexandre Julliard 7342390852 Get rid of the global INTERNAL_[XY]WSTODS macros. 2004-01-15 06:19:35 +00:00
Alexandre Julliard 6ec42c0c3b Moved a bunch of definitions from gdi.h into a new gdi_private.h to
make sure we don't use them outside of gdi32.
2004-01-15 00:35:38 +00:00
Alexandre Julliard 85dcf1e1a0 Moved SetDrawable, StartGraphicsExposures and EndGraphicsExposures
functionality to x11drv escapes so that we don't have to access the DC
structure directly.
2004-01-14 04:53:11 +00:00
Alexandre Julliard 53145d96f6 Moved some code around to avoid exporting DIB functions from gdi32. 2004-01-13 23:31:46 +00:00
Marcus Meissner 219731197a Added stub for EnumICMProfilesA/W. 2004-01-13 05:20:17 +00:00
Eric Pouech 5bf3a2669b Made wine_get_unix_file_name take a Unicode string pointer. 2004-01-05 23:42:09 +00:00
Marcus Meissner 7d7ce505f4 Older versions of freetype do not have FT_Get_First_Char. 2003-12-15 19:50:59 +00:00
Huw Davies c91c868692 If a font has a version 0 OS2 table then Windows uses ANSI_CHARSET if
the first charcode < 0x100, else it uses SYMBOL_CHARSET.  Based on a
patch by Rein Klazes.
2003-12-10 00:36:22 +00:00
Huw Davies 6d4fc7efe6 If usWinAscent + usWinDescent == 0 then use the Ascender and Descender
values instead.
2003-12-08 21:53:15 +00:00
Huw Davies 1025ff0c9b Implement CopyEnhMetaFileW. 2003-12-01 22:42:56 +00:00
Mike McCormack 7eab865d99 Use the handle deletion mechanism in wmfs. 2003-11-26 03:38:11 +00:00
Huw Davies 9e8ce63e2e Let enhmetafiles reuse gdi handles. This works by a dc 'registering'
with an object that it wants to know when the object is deleted. Until
the dc gets delete notification it's free to assume that it doesn't
need to write the create record for that object again.  Upon receiving
the delete notification it writes the DeleteObject record. Windows
seems to do it this way too.
2003-11-25 05:03:09 +00:00
Rein Klazes e617a9c528 Include ft2build.h before freetype/freetype.h. Libfreetype 2.1.7
requires this.
2003-11-19 02:18:13 +00:00
Alexandre Julliard f9be2f3d21 Removed some unnecessary includes. 2003-11-17 20:31:29 +00:00
Huw Davies ef2ac7acc3 Scale the OUTLINETEXTMETRIC's bounding box with the font size.
Fix wineps's font downloaders to cope with this behaviour.
2003-11-12 22:42:55 +00:00
Dmitry Timoshkov bec6cfe0d0 Constify strings. 2003-11-11 20:39:34 +00:00
Huw Davies 6e12807b55 Load any TrueType fonts that fontconfig knows about. 2003-11-09 00:30:13 +00:00
Vincent Béron bd699e5edc Implemented GetDCPenColor and GetDCBrushColor. 2003-11-05 23:25:37 +00:00
Ulrich Czekalla 16ff6689df Implemented SetDCPenColor and SetDCBrushColor. 2003-11-05 01:43:57 +00:00
Marcus Meissner d9b1bb7152 Use freetype 2.0 defines for font encodings instead of misuse of
MS_MAKE_TAG.
2003-10-28 00:08:28 +00:00
Alexandre Julliard b83789fdc3 Updated some of the generated tests. 2003-10-24 04:45:35 +00:00
Dave Belanger 46329e83f0 Fix EMF driver UpdateBBox routine. The EMF bounding box must be stored
in device coordinates in the metafile.
2003-10-22 03:02:08 +00:00
Marcus Meissner b1b1e297ef Specify fourcc codes for encodings directly, instead of using changing
enum names.
2003-10-15 20:51:22 +00:00
Dave Belanger 2925d6ad17 Improved selection of freetype face charmap. 2003-10-15 02:33:55 +00:00
Dave Belanger 53f2e61e37 Implemented BitBlt, StretchBlt and SetDIBitsToDevice EMF driver
callbacks.
Cleaned up redundant code in EMFDRV_StretchDIBits.
2003-10-15 02:33:15 +00:00
Dmitry Timoshkov 2581db8f6a Fixed some problems found while compiling and linking Wine under
Cygwin.
2003-10-14 05:27:43 +00:00
Dave Belanger 9973af57e9 Implementation of underline and strikeout text in xrender. 2003-10-11 05:24:22 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Dave Belanger 3da1e24643 Implementation of SetTextJustication EMF driver callback. 2003-10-10 00:06:59 +00:00
Dave Belanger 43e8471a55 Improved font glyph transformation support in GetGlyphOutline. 2003-10-10 00:06:35 +00:00
Dave Belanger 5735c58eb1 Improved the bounding box calculation for the EMF driver ExtTextOut
metarecord. It takes the text alignment into account.
2003-10-09 19:44:35 +00:00
Dave Belanger 36a6c740c4 Implementation of EMF driver OffsetViewportOrg and OffsetWindowOrg
callbacks using the EMR_SETVIEWPORTORGEX and EMR_SETWINDOWORGEX
metarecords respectively.
2003-10-09 04:42:45 +00:00
Dave Belanger 633e379eb9 Implementation of SetPixel metarecord. 2003-10-08 22:34:15 +00:00
Dave Belanger a7bbf47f1b Avoid excessive heap memory reallocation when generating EMF
metarecords in memory.
2003-10-08 22:33:35 +00:00
Francois Gouget 61ef356347 Some spelling fixes. 2003-10-08 19:09:44 +00:00
Dave Belanger d1fa4b2d73 Spit out EMR_RESTOREDC metarecords with -1 as argument as long as we
don't get to the saved state we want.
2003-10-07 03:32:28 +00:00
Dave Belanger 78711dd6f5 Improved generation of font signature from freetype face charmaps. 2003-10-04 04:15:47 +00:00
Dave Belanger f0d96a2619 Face families are in the top 4 bits of lfPitchAndFamily, so mask with
0xF0 before testing.
2003-10-04 04:00:08 +00:00
Dave Belanger 325f646fdc Implemented the SetArcDirection metarecord in EMF driver. 2003-10-04 03:08:25 +00:00
Jon Griffiths 4c1fa161a3 Documentation updates. 2003-10-01 03:20:21 +00:00
Daniel Marmier a613de2a22 Use #ifdef instead of #if for all feature tests.
Check that _MSC_VER is defined before using it.
2003-09-30 00:33:47 +00:00
Dimitrie O. Paun 8b255842ec Remove the obsolete pascal16 (replaced by pascal -ret16). 2003-09-26 04:32:19 +00:00
Alexandre Julliard 16cd86197a Moved DLLFLAGS to a separate variable instead of including it in
DEFS.
2003-09-24 19:01:44 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 038ede8474 Avoid heap reallocation each time a metarecord is written in memory
(based on a patch by Warren Baird).
2003-09-03 00:18:33 +00:00
Dave Belanger 549e247844 Implementation of SelectPalette and RealizePalette in the metafile
driver.
2003-08-30 00:15:12 +00:00
Warren Baird 2c754a6ec0 Save the ext alignment information in a 8-bytes metarecord as it
should be.
2003-08-30 00:13:34 +00:00
Alexandre Julliard 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Dmitry Timoshkov 3a910c7d1f Convert CreateDC to unicode in the driver interface. 2003-08-12 20:42:18 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Shachar Shemesh 409374d914 Implementation of the reordering algorithm by calling ICU's reordering
functions.
2003-06-27 20:47:16 +00:00
Mike McCormack 69ac76d050 Handle CreateMetaFileW(NULL) correctly. 2003-06-24 02:34:42 +00:00
Alexandre Julliard 280528a07e Added special case for "display" in DRIVER_GetDriverName so that
GetDC(NULL,"display") works.
2003-06-23 20:51:41 +00:00
Huw Davies c23f8578c3 Don't enable client side fonts unless we have at least one non-symbol
font installed - this avoids a nasty Wingdings only scenario.
Add the ability to perform font replacements, this essentially lets
you give a second name to a font family so that familyA gets
enumerated as familyB too.
If we encounter two copies of the same font then use the one with the
larger version number.

Dmitry Timoshkov <dmitry@codeweavers.com>
Move GetTextCharsetInfo implementation to the font driver.
2003-06-23 20:51:06 +00:00
Mike McCormack 10c3764058 Record SetWorldTransform and ModifyWorldTransform in enhanced
metafiles.
2003-06-23 19:46:56 +00:00
Alexandre Julliard 4ee8290b96 Added checks for ICU libraries (based on a patch by Shachar Shemesh). 2003-06-20 21:38:10 +00:00
Mike McCormack 399967c10d Implemented GdiComment for enhanced metafiles. 2003-05-21 18:28:49 +00:00
Huw Davies cc5f3cd9b8 Implemented a few more device caps. 2003-05-19 21:51:44 +00:00
Mike McCormack 3b5708640c Implemented StretchDIBits in the EMF code. 2003-05-19 18:49:52 +00:00
Dmitry Timoshkov 7faae4c5d5 Fixed some issues in EMFDRV_ExtTextOut. 2003-05-19 18:48:37 +00:00
Huw Davies 6ac675188a Record escapes in metafiles. 2003-05-19 18:44:58 +00:00
Alexandre Julliard e1147baa00 Use a different magic for memory DCs and get rid of the DC_MEMORY
flag.
2003-05-13 23:56:12 +00:00
Alexandre Julliard fde5ab17f9 Reset signal handlers when starting child process. 2003-05-13 00:45:44 +00:00
Warren Baird 2711374bc5 Fix the PolyPolygon function so it really generates a polypolygon and
not multiple sets of polygons.
2003-05-12 03:27:24 +00:00
Huw Davies ee3e98653a Allow the cups port to be redirectable. This gives us the option of
piping the PostScript through something before it gets sent to the
printer (like we can already do for non-cups systems).
2003-05-12 03:26:28 +00:00
Alexandre Julliard ebc9abd1a1 Added partial stub for GetTransform. 2003-05-11 03:31:53 +00:00
Huw Davies 4bdeae37a1 Added stub for SetVirtualResolution. 2003-05-11 03:03:25 +00:00
Dimitrie O. Paun 1a1f9bffb3 Make it easy to use something other than wrc to compile resources. 2003-05-06 18:34:53 +00:00
Alexandre Julliard 2e12d33dfd Removed no longer needed uses of LDPATH. 2003-04-21 23:54:05 +00:00
Alexandre Julliard fc09423d3d Allow overriding CFLAGS when running configure. Other small cleanups. 2003-04-14 21:46:41 +00:00
Maxime Bellengé 065ac4de85 Implemented the GRADIENT_FILL_RECT{H|V} cases of GdiGradientFill. 2003-04-07 23:21:03 +00:00
Alexandre Julliard 06a8c1203f Portability fixes. 2003-04-01 00:12:50 +00:00
Adam Gundy ac89a159ac Don't look at the second character of the path unless the first
character is non-NUL.
2003-03-30 01:36:09 +00:00
Dimitrie O. Paun 8794935e12 Remove unused options -a and -C.
Collapse the -w into -O, for symmetry with -J.
Update the man page to the latest options.
2003-03-27 18:37:59 +00:00
Alexandre Julliard e048adab83 List 16-bit spec files explicitly to avoid problems with some versions
of make.
2003-03-23 20:00:02 +00:00
Alexandre Julliard 9e4fc4c9b6 Converted winebuild option parsing to use getopt_long. Added a number
of long aliases for the existing short options.
2003-03-23 01:12:30 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Paul Rupe 3e91931820 Fix a couple INT/UINT comparisons. 2003-03-17 04:42:30 +00:00
Tony Lambregts 361e691961 Janitorial. Get rid of W->A call. 2003-03-07 23:08:59 +00:00
Alexandre Julliard 7e92c9af7b Replaced most uses of the auto-generated glue code by explicit calls
to WOWCallback16Ex.
2003-02-27 21:09:45 +00:00
Alexandre Julliard b59bdbfa41 Get rid of win16drv directory. 2003-02-27 00:28:50 +00:00
Alexandre Julliard 69e631d168 Removed the 16-bit graphics driver support; this has been broken for a
long time anyway.
2003-02-27 00:11:54 +00:00
Warren Baird 41bbe7073f Implementation of GetDeviceCaps in metafile driver. 2003-02-12 01:17:25 +00:00
Warren Baird 6552e83a2d Fix wrong structure used to determine the size of a memcpy in
MFDRV_CreateBrushIndirect.
2003-02-11 22:13:11 +00:00
Marcus Meissner f63e5b646a Remove errno.h from files that do not need it. 2003-01-23 22:51:04 +00:00
Alexandre Julliard f8aa3b506c Added -Wpointer-arith gcc flag, and fixed the resulting warnings. 2003-01-23 21:32:35 +00:00
Dimitrie O. Paun 4a883a55f6 Collapse the -hHrs options into the -O option.
Generate .res files by default.
2003-01-09 00:03:53 +00:00
Alexandre Julliard dbf8b78acd Added .spec.def files. 2002-12-12 22:04:04 +00:00
Alexandre Julliard 2a93f8505c Pass the -J option to wrc to avoid including installed headers. 2002-12-11 01:34:51 +00:00
Alexandre Julliard 9169729b0b Merged font.h and path.h into gdi.h. Moved x11font.h to
dlls/x11drv. Removed a number of unnecessary #includes.
2002-12-03 19:18:41 +00:00
Alexandre Julliard 547cdc2b02 Made gdi compile with -DSTRICT. 2002-11-22 22:16:53 +00:00
Alexandre Julliard 6c428e5c07 Fixed a number of -DSTRICT issues. 2002-11-22 21:58:03 +00:00
Michael Stefaniuc 28a632a830 Some -DSTRICT fixes. 2002-11-21 21:50:04 +00:00
Steve Lustbader 361b9e8763 Stub for SetDCBrushColor. 2002-11-21 03:56:29 +00:00