Commit Graph

607 Commits

Author SHA1 Message Date
Huw D M Davies 43ff7d2d85 Do not enumerate the META_EOF record. 2002-04-03 22:46:32 +00:00
Huw D M Davies 5b01b50631 Implement GetTextExtentPointI and add support for ETO_GLYPH_INDEX. 2002-04-03 22:08:27 +00:00
Huw D M Davies f879cb9e7c Fixed font enumeration. 2002-04-03 21:17:05 +00:00
Huw D M Davies afd519be0e Fix a few font problems with rotated text and non MM_TEXT mapping
modes. Do slightly better with the FF_ flags in WineEngGetTextMetrics.
2002-04-03 21:06:09 +00:00
Dmitry Timoshkov 2903ca1bbb Implement GetGlyphIndices. Tweak GetCharacterPlacement to use it. 2002-04-03 20:41:14 +00:00
Alexandre Julliard b60ff098f5 Avoid recursive DeleteDC calls. 2002-04-02 02:48:24 +00:00
Alexandre Julliard e21c15e39d Changed the GDI driver interface to pass an opaque PHYSDEV pointer
instead of a DC structure.
Removed some direct accesses to the DC structure from the drivers.
Got rid the bitmap driver.
2002-03-28 22:22:05 +00:00
Hidenori Takeshima 44f1a98c04 Added default stock objects for known non-US charsets. 2002-03-20 00:51:26 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Andreas Mohr f16b401e28 Various cosmetic changes. 2002-02-27 21:34:54 +00:00
Dave Hawkes 314b9fdd63 Fix for GetNearestColor so it returns the true color rather than the
system palette if the device does not support a palette.
2002-02-05 19:44:07 +00:00
Patrik Stridvall 57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Alexandre Julliard 18d7573c5e Authors: Huw D M Davies <hdavies@codeweavers.com>, Charles Loep <charles@codeweavers.com>
Various fixes for gdi font handling code including:
- Using TTs VDMX table to ensure that we get exactly that same size
  font that Windows uses.
- Fixes to many members of the metrics structures.
- Font cache.
- Rotated text support.
- Support for GGO_GRAY?_BITMAP (ready for anti-aliased text).
- Support for GGO_NATIVE.
2002-01-29 03:02:50 +00:00
Aric Stewart ddf8a74acd Fleshed out some metafile conversions. 2002-01-29 02:54:22 +00:00
Aric Stewart ae7fe2db12 Added the correct halftone palette. 2002-01-29 02:53:43 +00:00
Patrik Stridvall 19d66cc1f6 Fixed some issues found by winapi_check. 2002-01-07 21:16:46 +00:00
Alexandre Julliard 193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Alexandre Julliard d0642b5387 Make sure the DC visible region is updated in GetClipBox. 2001-12-26 23:10:56 +00:00
Alexandre Julliard d7b76822ef Use MapLS/UnMapLS instead of SEGPTR_* macros. 2001-12-20 00:19:40 +00:00
Alexandre Julliard 9fcd89a5d8 Removed unnecessary includes. 2001-12-17 22:12:23 +00:00
Alexandre Julliard ed29c905a8 Changed 16-bit GDI Enum* functions to not use thunks, now that 16-bit
Winelib is no longer supported.
2001-12-17 21:01:58 +00:00
Alexandre Julliard 7d155d6706 Changed DC hook and abort proc handling to avoid having to allocate
thunks dynamically.
2001-12-17 20:58:06 +00:00
Erik Inge Bolsø 975324f941 CreateBitmap can take nHeight or nWidth = zero, and then returns a
pointer to a 1x1 monochrome bitmap.
2001-12-04 20:16:25 +00:00
François Gouget 74c2cbeecf Add traces to help diagnose systematic cached-metrics regeneration
problems.
2001-11-06 00:46:36 +00:00
Dmitry Timoshkov 3f8e407d48 Convert GetCharWidth to Unicode. 2001-11-05 23:56:22 +00:00
Huw D M Davies 4e2024e8a8 Implement GetFontData. 2001-10-23 20:06:32 +00:00
Huw D M Davies 8bf8021f94 ExtTextOutW with symbol fonts works with chars in the ranges
0x0000 -- 0x00ff and 0xf000 -- 0xf0ff and not, for example, with
chars in the Unicode Greek range.
2001-10-23 19:54:27 +00:00
Guy L. Albertelli bc939e5620 Implemented GetCharacterPlacementW. 2001-10-21 15:02:34 +00:00
Francois Gouget b60c4ce0f0 Don't print NULL strings (crashes on Solaris).
Small code maintainability tweak in ShellExecuteExA.
Two typo fixes in winmm.
2001-10-14 16:15:05 +00:00
Huw D M Davies fef698c892 GetTextCharsetInfo should return the charset that the driver is
actually using, rather than that specified in the LOGFONT.
2001-10-10 20:25:04 +00:00
Francois Gouget 58b299521d Small typo fixes/updates. 2001-10-08 20:40:09 +00:00
Alexandre Julliard e566195eaf Free cache DCEs if the DC gets deleted. 2001-10-02 21:40:11 +00:00
Francois Gouget 551586e91b GetTextExtentExPointW: dump the string before modifying the pointer. 2001-09-24 01:12:08 +00:00
Andreas Mohr cf67b00a6a Added stub for GdiInit2(). 2001-09-20 19:32:39 +00:00
Huw D M Davies 848bc15ab1 Fix mapping of DEFAULT_CHARSET. 2001-09-20 18:58:05 +00:00
Huw D M Davies 2938242bb6 Use the font charset to obtain a codepage for A->W conversion in the
text functions.
2001-09-19 20:32:07 +00:00
Huw D M Davies 814654ef9f Lay down the infrastructure for gdi font rendering.
Partial implementation of GetGylphOutline and GetOutlineTextMetrics
for gdi fonts.
2001-09-12 20:21:06 +00:00
Patrik Stridvall 3c0211f969 Cleanup code that is strange or difficult to parse. 2001-09-11 00:32:32 +00:00
Travis Michielsen 2bbca90cd7 Fixed behavior of GetTextExtentExPointW. It must always return the
extents of the entire string in size.
2001-09-07 15:28:32 +00:00
Alexandre Julliard 89b415f76a Check for valid object in GDI_GetObjPtr even for MAGIC_DONTCARE. 2001-08-27 19:10:06 +00:00
Bill Medland 06a49f67fe Minor fixes involving handling NULL pointers. 2001-08-24 19:12:56 +00:00
Alexandre Julliard 8af0eda77a Don't hold the GDI lock during accesses to the metafile data. 2001-08-23 23:37:00 +00:00
Uwe Bonnes 8e5e003f09 Added reference counting and delayed destruction of GDI objects. 2001-08-20 19:17:28 +00:00
Alexandre Julliard 87abe2f61c Create a color bitmap in CreateDIBitmap even with a black&white DC. 2001-08-20 18:04:09 +00:00
Gerard Patel 4bd80eaa5f Test for invalid large handles in GDI_GetObjPtr and GDI_FreeObject. 2001-08-18 16:08:27 +00:00
Alexandre Julliard e22a1e68cf Use the passed hdc in CreateDIBitmap instead of creating a new one. 2001-08-17 00:07:42 +00:00
Alexandre Julliard 78f9fae706 Create GDI stock objects as normal objects instead of using magic
handle values.
2001-08-17 00:07:13 +00:00
Alexandre Julliard e811f9c353 Specify sizes for stock fonts again; removed the FixStockFontSize
hack. Ignore mapping modes when selecting stock fonts into a DC.
Removed a few direct accesses to GDI structures from x11drv.
2001-08-16 19:13:52 +00:00
Alexandre Julliard 717433854e Release GDI lock before calling DeleteDC from RestoreDC. 2001-08-16 19:01:23 +00:00
Alexandre Julliard 301df6b5cd Added names to standard critical sections (suggested by Andreas
Mohr).
2001-08-16 18:12:56 +00:00
Alexandre Julliard 658cdb4412 Make sure we don't hold the GDI lock when loading drivers. 2001-08-15 23:33:20 +00:00
Andreas Mohr 1d8ef194e8 DIB_GetBitmapInfo didn't recognize BITMAPV4/5HEADER. 2001-08-03 18:11:23 +00:00
Alexandre Julliard 99bb9f9775 Added GetDeviceCaps to the DC driver interface. Removed devCaps
pointer in the generic DC structure.
2001-07-28 00:18:02 +00:00
Alexandre Julliard 3dd63eb2ad Build the DC function table by using GetProcAddress on the graphics
driver module. Moved driver support to dlls/gdi.
2001-07-27 19:37:31 +00:00
Alexandre Julliard 1922c72b8a Removed unnecessary inclusion of heap.h. 2001-07-25 00:43:29 +00:00
Alexandre Julliard e6c0642e79 Removed enhmetafile.h. Simplified ENHMETAFILEOBJ structure a bit. 2001-07-24 22:15:47 +00:00
Alexandre Julliard f925f81667 Got rid of all the ugly macros. 2001-07-24 20:54:30 +00:00
Patrik Stridvall db9230572e Documentation fixes. 2001-07-24 00:58:52 +00:00
Alexandre Julliard f899ef07a6 Removed some unnecessary includes. 2001-07-23 00:04:00 +00:00
Alexandre Julliard 6bbc745dde Moved the 16-bit pointer to the DIB bits out of the driver-specific
structure and into the main bitmap structure. Removed
CreateDIBSection16 from the driver interface.
2001-07-22 23:13:08 +00:00
Patrik Stridvall 33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Patrik Stridvall e9782fa1fc Documentation fixes. 2001-07-12 22:33:51 +00:00
Patrik Stridvall 044855c6ec Documentation fixes. 2001-07-11 18:56:41 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Dmitry Timoshkov 56a19923e8 Replace some 16-bit calls by their 32-bit equivalents. 2001-07-02 01:21:26 +00:00
Patrik Stridvall 17fd4e3816 Documentation name fixes. 2001-06-28 18:04:41 +00:00
Dmitry Timoshkov 698ef15b19 Replace some 16-bit calls by their 32-bit equivalents. 2001-06-25 20:08:44 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Marcus Meissner 183eae9096 Multiple *ptr++ constructs in one expression have undefined behaviour,
moved them out of the expression.
2001-06-14 19:22:55 +00:00
Andreas Mohr 1426c8cb74 Documentation updates. 2001-06-06 21:06:27 +00:00
Dmitry Timoshkov 4328e51b1a Fixed some dll separation issues. 2001-05-22 19:18:06 +00:00
Francois Gouget ee285b7ac8 Remove unnecessary single quoting of debugstr_xxx strings. 2001-05-11 20:03:40 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Marcus Meissner 67f0be15c5 Implemented GetCharABCWidths with GetCharWidth. 2001-04-23 18:11:58 +00:00
Marcus Meissner a0f9e71875 Extracted MEMCHECK into an extra function to avoid a gcc-2.95.2
compiler bug.
2001-04-23 18:11:41 +00:00
Andreas Mohr f32f918123 Spelling fixes. 2001-04-20 18:36:05 +00:00
Andreas Mohr 92205aaf98 Take a stab at implementing SetSolidBrush16. 2001-04-20 18:29:45 +00:00
Dmitry Timoshkov 96cda94483 Add NULL check for lpnFit in GetTextExtentExPointW. 2001-04-16 19:33:51 +00:00
Dmitry Timoshkov 270bc587d8 Move implementation of CreateDC16 to CreateDCA. 2001-04-16 18:56:45 +00:00
Gavriel State 035d454d8d Allocate bitmap objects in the large heap area. 2001-04-16 18:56:27 +00:00
Francois Gouget 4f44845da3 GetDeviceCaps: make sure the devCaps field is not NULL before
dereferencing it.
2001-04-09 18:34:10 +00:00
Huw D M Davies 26ee2ca445 Fix member names in NEWTEXTMETRICEX structs. 2001-04-04 00:09:53 +00:00
Alexandre Julliard 9515336378 Small dll separation fixes. 2001-03-23 19:13:23 +00:00
Ove Kaaven 27398d4966 Implemented Get/SetDeviceGammaRamp. 2001-03-20 01:55:18 +00:00
Huw D M Davies 39f54283fc Moved GetTextMetrics to unicode. 2001-03-16 16:43:14 +00:00
Huw D M Davies 916a1a6c72 Fix typo in OUTLINETEXTMETRIC definition. 2001-03-13 23:31:40 +00:00
Francois Gouget 282f7270c1 Small 'typos in comments' fixes. 2001-02-28 05:31:02 +00:00
Alexandre Julliard ea2a9a8974 Removed a few Callout functions by doing a GetProcAddress at the time
we actually need the function.
2001-02-20 00:55:17 +00:00
Dmitry Timoshkov 651332ee84 Better implementation of EMF record EMR_EXTSELECTCLIPRGN. 2001-02-20 00:48:13 +00:00
Patrik Stridvall d0a41774a3 Documentation ordinal fixes. 2001-02-14 23:11:17 +00:00
Huw D M Davies 2aa85eed18 Change FONTOBJ to use LOGFONTW rather than LOGFONT16.
Updated parameters of DEVICEFONTENUMPROC.
2001-02-14 22:56:38 +00:00
James Abbatiello c559f3fc69 In CreateDIBSection, the offset into the file mapping does not have to
be a multiple of the memory allocation granularity.
2001-02-12 19:40:28 +00:00
Dmitry Timoshkov c5276fd37f Implement playing of EMR_BITBLT, EMR_STRETCHBLT, EMR_MASKBLT,
EMR_PLGBLT, EMR_SETDIBITSTODEVICE, EMR_POLYTEXTOUTA, EMR_POLYTEXTOUTW,
EMR_FILLRGN, EMR_FRAMERGN, EMR_INVERTRGN, EMR_PAINTRGN enhanced
metafile record types according to specs.
2001-02-12 19:34:07 +00:00
Huw D M Davies 4c2a14daff Remove unused outXform. 2001-02-12 18:09:07 +00:00
Huw D M Davies 4f5838fbb8 Fix EMF positioning when rclFrame has a non-zero origin. 2001-02-12 03:36:36 +00:00
Dmitry Timoshkov c2b32a73c9 Add support for EMR_EXTTEXTOUTA and EMR_CREATEMONOBRUSH enhanced
metafile records. Better implementation of EMR_STRETCHDIBITS and
EMR_EXTTEXTOUTW.
2001-02-12 01:19:23 +00:00
Eric Kohl 9977e53eb4 Disabled setting of window origin from an EMF. 2001-01-29 00:31:31 +00:00
James Juran f4d5fefb0a Add <string.h> to files that needed it. 2001-01-26 20:43:40 +00:00
Eric Kohl 0711df6217 Disabled setting of viewport origin from an EMF. 2001-01-25 21:46:52 +00:00
Eric Kohl d40ef6bfe4 Several fixes for playing enhanced metafiles in a given rectangle. 2001-01-24 19:38:38 +00:00
Andreas Mohr c9ec884645 Documentation updates. 2001-01-24 19:37:13 +00:00
Francois Gouget 05fc3cdf9a Typo fixes in comments. 2001-01-22 02:22:26 +00:00
Alexandre Julliard a41b2cfdd0 Moved tweak support to USER dll. Removed tweak.h and cache.h. 2001-01-15 20:12:55 +00:00
Joerg Mayer 4d75640d79 Fixed some signed/unsigned warnings. 2001-01-10 22:45:33 +00:00
François Gouget da2b6a9f26 Fixed some HFILE vs. HANDLE mismatches.
If not used the last parameter of CreateFile must be 0, not -1.
2001-01-06 01:29:18 +00:00
Marcus Meissner 46384145ed CreateFontIndirect() can get NULL pointers. 2000-12-29 19:40:43 +00:00
Alexandre Julliard 5801723b50 Replaced WIN16_GlobalLock16 by "official" function K32WOWGlobalLock16. 2000-12-22 01:09:26 +00:00
Eric Kohl 02919df4c4 Use handle to palette instead of index for EMR_SELECTPALETTE.
Implemented simple case for EMR_EXTSELECTCLIPRGN.
2000-12-21 20:16:56 +00:00
Alexandre Julliard db0747d095 Removed some unnecessary includes.
Got rid of ldt.h.
2000-12-13 20:23:41 +00:00
Alexandre Julliard 982a223f36 Replaced PTR_SEG_TO_LIN macro by exported MapSL function.
Fixed a few ptr/segptr mismatches.
Moved CONV_RECT/POINT macros to wingdi16.h.
2000-12-13 20:20:09 +00:00
Alexandre Julliard f6168db690 Fixed some warnings. 2000-12-13 20:03:53 +00:00
Francois Gouget 519346a47e Fixed miscellaneous typos, syntactic and grammatical errors. 2000-12-02 20:18:08 +00:00
Patrik Stridvall 2b3aa616e8 Added/modified documentation for function arguments. 2000-12-01 23:58:28 +00:00
Brian Teague 161bc83164 Add a stub for the CAPS1 capability in GetDeviceCaps.
Define the CAPS1 bit flags in wingdi.h
Make various calls to GetDeviceCaps in DLLS use #defined values.
2000-11-29 20:02:46 +00:00
Lionel Ulmer 5687823cbb Fixed the size of the large_handles array. 2000-11-29 17:42:20 +00:00
Alexandre Julliard 24a62ab9b0 Got rid of the Wine internal lstrcpy* functions and of winestring.h. 2000-11-28 22:40:56 +00:00
Dimitrie O. Paun 529da54394 Require {DECLARE,DEFAULT}_DEBUG_CHANNEL statements to end in a ; 2000-11-27 23:54:25 +00:00
Ove Kaaven a32ddc0f8d Implemented Get/SetDIBColorTable. 2000-11-25 21:42:00 +00:00
Alexandre Julliard ab687979fd Moved standard syslevel APIs declaration to winbase.h.
Use exported syslevel function wherever possible.
Moved SEGPTR declaration to windef16.h.
2000-11-15 23:41:46 +00:00
Alexandre Julliard 914406f854 Moved LDT handling to libwine.so. Changed the interface to use the
exported LDT_ENTRY structure.
2000-11-14 01:54:49 +00:00
Alexandre Julliard 4e951ea25b Check all Callouts function pointers for NULL before using them.
Don't load USER dll if not needed by the application.
2000-11-08 22:47:53 +00:00
Alexandre Julliard 2239abb9f9 Allocate DC objects on the process heap, and removed WIN_DC_INFO
structure (based on a patch by Ken Coleman).
2000-11-05 02:05:07 +00:00
Andreas Mohr 826de2bbcc Use GDISelectPalette16 instead of SelectPalette and
GDIRealizePalette16 instead of RealizePalette in order to get rid of
possible deadlocks.
2000-11-01 21:35:00 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
Francois Gouget b8d450f99a Allow pens with styles greater than PS_INSIDEFRAME to be created with
CreatePenIndirect and ExtCreatePen.
2000-10-31 02:03:56 +00:00
Francois Gouget 78767e6dd3 Set the thickness of stock pens to 0 so that they are not scaled. 2000-10-31 01:36:09 +00:00
Alexandre Julliard 4c18636d4e Use GetStockObject() instead of the magic STOCK_* handles. 2000-10-29 01:22:15 +00:00
Aviad Pineles bbdb9dbba6 Avoid infinite loop in CreateRoundRectRgn(). 2000-10-25 21:20:25 +00:00
Patrik Stridvall f87b96e711 - Explicitly initialize structures.
- Fixed strange code probably caused by a merge conflict.
2000-10-24 02:20:31 +00:00
Dmitry Timoshkov ff59c33d49 Make EnumEnhMetaFile work. 2000-10-24 01:37:49 +00:00
Ulrich Weigand 409eb44eb0 Fixed painting problems in non-MM_TEXT modes. 2000-10-23 00:35:28 +00:00
Marcus Meissner 97827ead5b Stubbed GetDeviceGammaRamp. 2000-10-13 20:22:59 +00:00
Marcus Meissner bcbb6ec92b Return values are reversed in failure/rgdata == NULL case in
GetRegionData (was merge error by me).
2000-10-12 20:39:31 +00:00
Andreas Mohr ea8795b99c GDISelectPalette16 checked GetObjectType() return value for
PALETTE_MAGIC instead of OBJ_PAL.
2000-09-29 01:03:57 +00:00
Alexandre Julliard 15bfcd0398 Moved $(MODULE).o rule out of Make.rules into the individual
Makefiles.
2000-09-29 00:28:25 +00:00
Sergei Ivanov 3b216de5cd Fixed return values of GetRegionData. 2000-09-29 00:25:18 +00:00
Marcus Meissner 13de9b3579 WORD is unsigned, so we need to transalte 0xffff into -1. 2000-09-26 22:45:05 +00:00
Gerald Pfeifer 1b490b42bf Fixed format strings. 2000-09-24 03:05:11 +00:00
Alexandre Julliard ab86a9e563 Henning Hoffmann
Avoid deadlocks in EnumMetaFile.
2000-09-19 02:37:48 +00:00
Alexandre Julliard 3993216776 Moved Select/RealizePalette implementation to USER and use
pfnSelect/RealizePalette function pointers in GDI.
Make sure the palette handle is valid in GDISelectPalette16 (thanks to
Uwe Bonnes).
2000-09-16 20:57:39 +00:00
Andreas Mohr 007fb24088 Added support for non-deletable system brushes and pens created by
USER.
2000-09-16 20:53:51 +00:00
Eric Pouech 26501596da Fixed fallback code for StretchBlt on RLE DIBs with gaps. 2000-09-10 03:13:41 +00:00
Gerard Patel feb87374ba Make GetDeviceCaps16 (hdc, NUMCOLORS) not return -1 for 16 bits programs. 2000-09-07 18:37:52 +00:00
Gerard Patel 5faa5d74c3 Restored the hPseudoBitmap hack for programs deleting the 1x1 bitmap
in memory DCs.
2000-08-25 21:54:23 +00:00
Alexandre Julliard 2ad1a94d28 Backed out font codepage change. 2000-08-25 21:35:11 +00:00
Andreas Mohr 024e881230 GetObjectA: unlock the object again even in case of failure. 2000-08-25 21:30:34 +00:00
Hidenori Takeshima 7901c0b505 Handle the codepage of fonts if supported by the graphics driver. 2000-08-20 20:08:35 +00:00
Alexandre Julliard 9bfb173c22 Fixed GDI locking in GetDeviceCaps. 2000-08-20 18:49:08 +00:00
Huw D M Davies c7acd78070 Implemented playback of EMR_POLYBEZIER{TO}16, EMR_POLYLINE16 and
EMR_POLYPOLYLINE.
2000-08-20 03:40:04 +00:00
Alexandre Julliard 2a2321bbca Authors: Alexandre Julliard <julliard@codeweavers.com> (for Corel), Albert den Haan <albertd@corel.com>
Added syslevel locking for GDI operations.
Propagate the changes through the graphics code.
2000-08-19 21:38:55 +00:00