Commit Graph

679 Commits

Author SHA1 Message Date
Huw Davies 352b8bc9e8 Make sure we create a polychrome bitmap from the dib. CreateDIBitmap
doesn't do this when the dib is 1bpp and has a black/white colour
table.  In such cases this resulted in a monochrome bitmap being
StretchBlt'ed which is clearly incorrect since we then start using
text and bkgnd colours.
2003-11-12 22:42:26 +00:00
Huw Davies 39f604b04f If the buffer passed to GetOutlineTextMetrics isn't big enough then
Windows fills it upto the supplied size rather than returning an
error.
2003-11-11 20:39:54 +00:00
Huw Davies 47e9ad4dce PatBlt()s get recorded as EMR_BITBLT records with offBmiSrc == 0, so
ensure that we pick these out in playback.
EMR_STRETCHBLT should behave like EMR_BITBLT if there are no bits
(ie. it's a PalBlt).
Set the text and bkgnd colour to black and white respectively before
enumerating an emf.
Print out the record names to make debugging easier.
Add a few TRACE()s.
2003-11-11 00:43:03 +00:00
Huw Davies 9959aca826 GetTextExtentPoint should include an inter character spacing set by
SetTextCharacterExtra.
2003-11-11 00:28:19 +00:00
Huw Davies b0c790c691 Only reselect the font if the transformation has actually changed. 2003-11-11 00:27:48 +00:00
Huw Davies d7a9d4bd2e CreateDIBSection ignores the supplied values of biClrUsed and
biClrImportant and calculates them from biBitCount.
2003-11-11 00:27:10 +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
Dave Belanger 3156df8539 Get Wine to behave like Windows does when Bold and/or Italic is
specified in the typeface name argument to CreateFont.
2003-10-15 03:32:31 +00:00
Dave Belanger aadf9efb86 In CreateDIBitmap, the fact that the bits init flag is set or not
doesn't have anything to do with the color state of the DIB.
2003-10-15 02:32:00 +00:00
Dave Belanger 4db092c0eb Improvement on the code that deals with setting the color map in
GetDIBits.
2003-10-11 05:23:45 +00:00
Dave Belanger 325f646fdc Implemented the SetArcDirection metarecord in EMF driver. 2003-10-04 03:08:25 +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
Dave Belanger 549e247844 Implementation of SelectPalette and RealizePalette in the metafile
driver.
2003-08-30 00:15:12 +00:00
Alexandre Julliard 864ca06832 winnls.h must not include winbase.h. 2003-08-20 18:22:31 +00:00
Francois Gouget 47b6d0af59 Spelling and case fixes. 2003-08-18 20:11:29 +00:00
Dmitry Timoshkov 0a26343bfb Convert initData as well. 2003-08-13 19:35:52 +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 d098f55d4b Use same formula to convert from device to logical units as everywhere
else.
2003-08-05 19:17:40 +00:00
Dmitry Timoshkov 511577daf5 Correctly truncate tmFirstChar, tmLastChar, tmBreakChar at 255 in the
process of W->A conversion.
2003-08-05 18:26:09 +00:00
Mike McCormack 369116d911 When GetObject is called with a NULL pointer, return the object's
size.
2003-07-26 20:39:46 +00:00
Francois Gouget 14a5d168e9 Fixed some common spelling errors. 2003-07-02 04:37:26 +00:00
Shachar Shemesh 362e72f959 Don't call the reordering function if the string length is 0. This
eliminates a noisy FIXME about ICU returning an incorrect error code.
2003-07-02 00:36:37 +00:00
Shachar Shemesh 409374d914 Implementation of the reordering algorithm by calling ICU's reordering
functions.
2003-06-27 20:47:16 +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
Francois Gouget c5f775a9c7 Typos/spelling fixes. 2003-06-18 03:30:39 +00:00
Ingmar Thiemann 4de93e7710 Implemented PolyTextOutA/PolyTextOutW. 2003-06-06 18:10:18 +00:00
Mike McCormack 399967c10d Implemented GdiComment for enhanced metafiles. 2003-05-21 18:28:49 +00:00
Alexandre Julliard 33c2ad5712 Fixed return value of GetTextFaceA. 2003-05-19 23:24:30 +00:00
Huw Davies f39f591877 After we update the mapping mode reselect the current font back into
the dc so that its size is recalculated.
2003-05-19 23:23:50 +00:00
Huw Davies fa28b5eac2 GetRandomRgn(...,1) returns the current clipping rgn.
Moved GetRandomRgn and the MetaRgn functions to objects/clipping.c.
2003-05-19 19:03:19 +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 ebc9abd1a1 Added partial stub for GetTransform. 2003-05-11 03:31:53 +00:00
Huw Davies 187c2b41b9 Playback escapes in metafiles. 2003-05-11 03:07:03 +00:00
Huw Davies 4bdeae37a1 Added stub for SetVirtualResolution. 2003-05-11 03:03:25 +00:00
Ulrich Czekalla e7cc4ad2ef Return value of ExtSelectClipRgn should consider visible region. 2003-05-11 02:52:04 +00:00
Dmitry Timoshkov e8e10e9a8e Make SetMapMode set default window and viewport extents as in
Windows.
2003-05-11 02:50:21 +00:00
Stefan Leichter ecc6f06375 Moved (stub) implementation of GetKerningPairs from ascii to unicode. 2003-04-27 20:36:35 +00:00
P. Christeas 77357a3f56 Fixed typo in SetGraphicsMode. 2003-03-27 00:02:00 +00:00
Shachar Shemesh 5aec52cccb Reordering can take place even if the font does not identify itself as
a reordering one.
2003-03-24 19:27:53 +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 80774de724 Authors: Mike McCormack <mike@codeweavers.com>, Huw Davies <huw@codeweavers.com>
- make world transforms work in EMFs
- fix declaration of GDICOMMENT_* macros
- refuse to load unaligned EMFs
- fix SetWinMetaFileBits
2003-02-14 23:30:27 +00:00
Andrew John Hughes 6f929659bd Extended SetSystemPaletteUse to deal with error conditions. 2003-02-01 00:36:38 +00:00
Rein Klazes e43a430dd6 Load default stock bitmap in CreateDC(). 2003-01-24 00:44:54 +00:00
Rein Klazes e8d7f24fc0 Allocate palette objects on the large gdi heap. 2003-01-21 19:27:59 +00:00
Dan Kegel 0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +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
Francois Gouget d2667a4ce3 Removed unnecessary HANDLE typecasts. 2002-12-02 18:10:57 +00:00
Huw D M Davies 96ad51b39b EnumFont16 should enumerate gdi fonts too. 2002-11-27 20:16:36 +00:00
Shachar Shemesh 3597717da1 Change some of the number seperators to "Neutral" rather than "Left to
right".
2002-11-25 21:09:49 +00:00
Steve Lustbader 473d6cbd27 StretchDIBits: avoid crash on null pointers. 2002-11-25 01:10:04 +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
Marcus Meissner dba95f28f5 Fixed aliasing problems (do not use (POINT*)&rect constructs). 2002-11-21 23:45:47 +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
Huw Davies bc71031240 Proper handling of SetTextCharacterExtra. 2002-11-15 01:02:16 +00:00
Patrik Stridvall c99c022a78 Fixed mismatches between the Wine headers and the Microsoft headers. 2002-11-13 04:13:42 +00:00
Patrik Stridvall ba9dc78e39 Fixed mismatches between the Wine headers and the Microsoft headers. 2002-11-04 22:43:24 +00:00
Patrik Stridvall 1298eb4053 Fixed mismatches between the Wine headers and the Microsoft headers. 2002-10-23 18:50:10 +00:00
Alexandre Julliard fdd6db2384 Moved EnumObjects16, LineDDA16 and associated glue code to gdi16.c. 2002-10-18 23:33:41 +00:00
Alexandre Julliard 9a8de13d77 Split out some 16-bit GDI code. 2002-10-18 04:06:47 +00:00
Alexandre Julliard 0ccb9feadc Store the original GDI palette functions in pfnSelectPalette and
pfnRealizePalette so that USER doesn't have to import them.
2002-10-18 04:05:49 +00:00
Alexandre Julliard 15b9ed9f61 Converted PlayMetaFileRecord and related functions to 32-bit. 2002-10-18 03:33:37 +00:00
Alexandre Julliard 613ead7f0f Fixed some handle conversions in prevision of void* handles. 2002-10-04 00:27:10 +00:00
Alexandre Julliard 3b059b2a3e Moved CreateBrushIndirect16 and CreateDIBPatternBrush16 to gdi16.c. 2002-10-03 19:48:59 +00:00
Greg Turner d7db024e3a CreateDC: handle (nil, <string>, ...) gracefully if no driver found. 2002-10-02 18:33:21 +00:00
Alexandre Julliard 9842b19931 Make sure things still work if 16-bit dlls cannot be loaded. 2002-10-02 02:36:20 +00:00
Patrik Stridvall b5bb32c09a Fixed some issues found by winapi_check. 2002-09-24 18:29:39 +00:00
Patrik Stridvall a62a26ced0 Fixed some issues found by winapi_check. 2002-09-09 19:26:55 +00:00
Shachar Shemesh 8551a8f3fb - Return old code for handling parameters to GetCharacterPlacement (+
fix heap overrun in it). New code did not correctly match the Windows
  behaviour.
- Amend the BiDi algorithm so that many strings will now produce quite
  readable output.
2002-09-04 18:49:36 +00:00
Alexandre Julliard a0b32d7c1b Added internal 32-bit versions of GDISelectPalette and
GDIRealizePalette.
2002-08-29 01:55:16 +00:00
Patrik Stridvall 9aab47ed24 MSVC compatibility fixes. 2002-08-28 23:42:34 +00:00
Alexandre Julliard aface53759 Fixed a number of dll separation issues. 2002-08-28 22:35:23 +00:00
Mike McCormack e9280a1eec Handle NULL buffer in GetObject. 2002-08-20 00:33:20 +00:00
Mike McCormack 36e72761d3 Added sanity checks on EMRCREATEDIBPATTERNBRUSHPT values.
Fix a memory leak.
2002-08-17 18:30:48 +00:00
Huw D M Davies 095e084d50 Allow an app to open the file of a disk based emf for reading while
the hemf is still open.
Implement SetWinMetaFileBits in a more sane fashion.
2002-08-17 01:37:50 +00:00
Huw D M Davies b482e9ac0c Fix for metafile ExtTextOut that only includes the rectangle if either
ETO_CLIPPED or ETO_OPAQUE is set.
Slightly less of a stub implementation for GetWinMetaFileBits.
2002-08-16 20:04:29 +00:00
Huw D M Davies 409000c36f Translate OutlineTextMetrics to logical co-ords. 2002-08-16 19:57:32 +00:00
Alexandre Julliard 1c4b5c40bf Moved a large number of 16-bit functions to a separate gdi16.c file. 2002-08-16 00:42:06 +00:00
Huw D M Davies 6b5aaa1162 DeleteObject() can fail if the object is a DC, however we've already
called GDI_ReleaseObj() so don't call it again.
2002-08-15 23:19:40 +00:00
Huw D M Davies b4bdd818e0 Add missing HeapFree. 2002-08-09 00:55:33 +00:00
Alexandre Julliard 93a6444b45 Don't set the DC_DIRTY flag in SetDCState since we just updated the DC. 2002-08-02 01:01:09 +00:00
Alexandre Julliard 526531eb6c Create at most one glue file for a single dll.
Avoid the intermediate .tmp.o file when building programs.
2002-08-01 18:36:58 +00:00
Alexandre Julliard 7375597fe2 Fixed some handle type mismatches and added a few casts in prevision
of void* handles.
2002-07-31 19:26:03 +00:00
Alexandre Julliard 267ca68253 Fixed HANDLE<->HFILE conversions, since they will be different types
when handles are void*.
2002-07-31 17:20:00 +00:00
Lionel Ulmer e1ae23e094 Properly check that the font resource is not already there. 2002-07-24 01:58:01 +00:00
Shachar Shemesh e33f327fe9 Now checks that the GCP_REORDER flag is set before trying to access
any of the fields that depend on this flag.
2002-07-22 20:36:16 +00:00
Andreas Mohr 8ba0c715c7 CreateDCA should return failure if both driver and device are NULL. 2002-07-20 20:07:44 +00:00
Patrik Stridvall a3868218d0 Fixed some issues found by winapi_check. 2002-07-19 00:30:16 +00:00
Alexandre Julliard 4227bf4af2 BITMAP_SelectObject must return the old handle, not the current one. 2002-06-28 23:33:26 +00:00
Alexandre Julliard 5ee1599d59 Replaced LPTODP/DPTOLP macros by calls to LPtoDP/DPtoLP (with the help
of Huw Davies).
2002-06-25 23:29:51 +00:00
Ulrich Czekalla 550b97e7cd Added temp fix for world transform bug in SetWindowOrgEx handler.
Added handlers for EMR_SETTEXTJUSTIFICATION and EMR_SETLAYOUT.
2002-06-24 23:09:19 +00:00
Huw D M Davies 8da26fb26a - Implement AddFontResource*, add stubs for RemoveFontResource*.
- Add support for GGO_BEZIER and a few bug fixes for GGO_NATIVE.
- Much better support for non ansi charsets in font matching.
- Proper implementation of GetTextFace for gdi font.
- Load fonts that are listed in the registry but aren't in
  %WINDOWSDIR%\fonts.
- Revert TranslateCharsetInfo to use codepage 1252 with ANSI_CHARSET.
- Add support for VIETNAMESE_CHARSET and SYMBOL_CHARSET.
2002-06-22 01:19:29 +00:00
Shachar Shemesh 4ebb7b536e ExtTextOutW: if GetFontLanguageInfo says that the font may require
reordering, call GetCharacterPlacementW and print the result.
2002-06-14 23:29:16 +00:00
Shachar Shemesh 74bd0da3eb - Implemented a skeleton for GetFontLanguageInfo. Using const masks to
match against the result of GetTextCharsetInfo. Not all attributes are
  implemented yet.
- Enhanced the implementation of GetCharacterPlacementW to support
  basic reordering. Not implementing the full BiDi algorithm yet.
2002-06-14 23:28:55 +00:00
Dmitry Timoshkov 5cd279aae4 Fixed the names of some stock fonts. 2002-06-13 23:59:53 +00:00
Won Kyu Park c6228b36f9 Fixed defaultGuiFont for Korean. 2002-06-13 19:10:55 +00:00