Commit Graph

444 Commits

Author SHA1 Message Date
Michael Kaufmann 0dd2910eba - Extended support for BITMAPCOREINFO / BITMAPCOREHEADER structures.
- Always calculate the location of the color table.
- CreateCompatibleBitmap: Create a DIB section if necessary.
- Added some tests.
2004-11-02 05:23:49 +00:00
Alexandre Julliard 715ea985b9 Authors: Doug Paul <doug@elemental.ath.cx>, Glenn Wurster <gwurster@scs.carleton.ca>
Don't unrealize the palette by calling SetPaletteEntries.
Check peFlags for PC_RESERVED.
2004-10-18 21:18:58 +00:00
Rein Klazes 96d6966baa Test whether the ft_encoding's are defined, not the FT_ENCODING's. 2004-10-18 19:38:30 +00:00
Robert Shearman b4eee49aa5 The "colors" parameter of SetDIBColorTable should be CONST. 2004-10-18 19:35:50 +00:00
Hans Leidekker bed3842c9a Added check for fork() to fix the MinGW build. 2004-10-14 03:08:57 +00:00
Huw Davies ee83c727d7 Apparently this portion of the test was failing under some versions of
winxp, so remove it.
2004-10-11 19:54:54 +00:00
Jon Griffiths d73e081c83 Use a (seemingly xp default) width of 7 for system fonts. 2004-09-24 01:10:44 +00:00
Michael Kaufmann 970b2218d6 Fix a regression caused by an earlier patch for CreateDIBitmap. 2004-09-20 21:45:00 +00:00
Huw Davies daf776fdde When we blit with a monochrome dibsection as the source we should use
the colour table of that dib.
Added a test for this.
2004-09-16 20:29:25 +00:00
Huw Davies 530e789d7e It's important to keep the original dib colour table and not just the
colour mapping associated with a dib section - it's this table that
GetDIBColorTable should retrieve.
Added some GetDIBColorTable tests.
2004-09-16 19:10:14 +00:00
Vincent Béron 63cf3e2c4e Use the preferred FT_ENCODING values rather than ft_encoding. 2004-09-15 18:03:32 +00:00
Jon Griffiths 3772c73a6c CreateDCA -> CreateDCW 2004-09-13 23:22:30 +00:00
Alexandre Julliard cdcdbe5495 Authors: Michael Kaufmann <hallo@michael-kaufmann.ch>, Huw Davies <huw@codeweavers.com>
CreateDIBitmap should return bitmaps at the depth of the supplied dc.
Add a test to exercise this behaviour.
2004-09-13 19:37:03 +00:00
Dmitry Timoshkov 7f79dae109 When DC mapping changes reselect current pen to update physical
width.
2004-09-13 18:03:44 +00:00
Hans Leidekker fe442b21f7 Fix signed/unsigned comparison warnings. 2004-09-08 01:23:57 +00:00
Francois Gouget 5d54c7ba7c Test some more gdi types. 2004-09-07 20:27:34 +00:00
Francois Gouget 5512ae2685 Disable MSVC warning 4116 to avoid the 'unnamed type definition in
parentheses' warning caused by TYPE_ALIGNMENT().
2004-09-06 20:29:53 +00:00
Robert Shearman a355c84d28 Default clipping region should be resolution of the DC, not the
current visible region.
2004-09-02 20:08:30 +00:00
Dmitry Timoshkov 3aab64dee5 Added a test showing how GDI scales bitmap font metrics. 2004-09-02 20:06:55 +00:00
Mike McCormack 642180d3c9 Add a basic GDI LOGFONT test, fix a couple of failures. 2004-09-01 17:29:28 +00:00
Alexandre Julliard 03250ff6e7 Inline functions don't need WINE_UNUSED. 2004-09-01 04:55:52 +00:00
Alexandre Julliard 3c39a9912e Get rid of the non-standard CONV_POINT and CONV_RECT functions. 2004-08-31 00:02:02 +00:00
Huw Davies 329025915c FreeType doesn't supply a charmap for bitmap fonts, so we must do our
own mapping.  Thanks to Dmitry for testing.
2004-08-26 18:24:03 +00:00
Huw Davies 97ebf8f5a3 Make the DEFAULT_GUI_FONT scalable with screen resolution and let it
be 8pt MS Shell Dlg for simple scripts.
2004-08-25 17:31:17 +00:00
Francois Gouget 20b8b56d5f Enable the disabled tests in tests.data or add a comment describing
why the type cannot be tested.
Update the generated files, they compile and run successfully both on
Windows (with the Windows headers) and in Wine.
2004-08-25 00:42:50 +00:00
Francois Gouget 493cf88bb6 Remove these Wine-only types:
EnumICMProfilesProcCallback
  PEXCEPTION_REGISTRATION_RECORD
Don't test these Wine-only types:
  EMRSETTEXTJUSTIFICATION
  EXCEPTION_REGISTRATION_RECORD
Remove EXCEPTION_FRAME, it doesn't exist at all.
2004-08-22 02:07:13 +00:00
Jon Griffiths 39fc441935 Return a stock brush when asking for a brush with the same
characteristics, as per native. Document the brush functions.
2004-08-20 19:57:11 +00:00
Robert Shearman 3e80fb4611 - Fix type in GetRandomRegion function.
- Add prototype to header.
2004-08-20 19:26:28 +00:00
Huw Davies d24592e598 Convert installed font list to list.h. 2004-08-17 22:08:31 +00:00
Huw Davies 869e9cafd9 If a device doesn't support device bitmaps, then store the bits on the
gdi side.
2004-08-13 19:48:55 +00:00
Huw Davies dd8922f20b Repect the width of both the src and dst when calculating how many
pixels to copy in a dib <-> bmp operation.
2004-08-12 20:02:39 +00:00
Alexandre Julliard b459952144 Avoid some non-portable makefile constructs, and get rid of the
ALTNAMES variable.
2004-08-11 23:59:06 +00:00
Huw Davies dbf5b2a320 Don't try to rotate bitmap fonts. 2004-08-11 19:34:20 +00:00
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