Commit Graph

657 Commits

Author SHA1 Message Date
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
Alexandre Julliard d3cab1857a Moved DC origin into device-specific structure.
Fixed handling of DC origin in X11 driver.
2002-06-10 22:52:47 +00:00
Alexandre Julliard 78b041cf52 Better encapsulation of the font and metafile objects. 2002-06-04 01:02:51 +00:00
Alexandre Julliard 376e65092a Better separation of the palette functions.
Removed the palette driver.
2002-06-02 21:40:24 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard d8a9244fc4 Added function table to GDI objects for better encapsulation.
Removed some direct accesses to the bitmap structure.
Fixed handling of stock bitmap if selected in multiple DCs.
Some minor fixes to the DC function table.
2002-05-31 18:43:22 +00:00
Alexandre Julliard 07439cd2d0 Removed dependencies on the internals of the region object.
Do not store the region type in the object, it's trivial to determine
from the rectangle count.
Rewrote a few routines to not depend on internal clipping or region
functions.
2002-05-25 22:16:12 +00:00
James Juran 32886f6b88 Add missing \n to output messages. 2002-05-24 21:17:59 +00:00
Alexandre Julliard 55e845d11b Removed most inclusions of options.h.
Removed a few no longer used PROFILE_* functions.
2002-05-23 19:40:18 +00:00
Alexandre Julliard 0aa28b5b8d Export the debugging API from libwine instead of ntdll.
Removed debugres_[aw].
2002-05-17 02:55:48 +00:00
Alexandre Julliard 9bb05fc48e Specify the complete source file list for a dll inside the main
makefile and get rid of the subdirectories makefiles.
2002-05-14 18:36:54 +00:00
Alexandre Julliard da580c47ff Added ExtSelectClipRgn to the DC interface and implemented it for
standard and enhanced metafiles.
2002-05-09 04:03:46 +00:00
Andreas Mohr 757e7cb40d Replace SELECTOR_AllocBlock and SELECTOR_FreeBlock with standard Win16
selector calls.
2002-05-08 00:20:40 +00:00
Alexandre Julliard 7ac10d5007 Fixed vis region handling broken by last change. 2002-05-07 18:30:19 +00:00
Alexandre Julliard 92b376d61d Moved parts of the DC initialisation and bitmap selection out of the
drivers into the common code.
2002-05-07 02:08:46 +00:00
Alexandre Julliard 5cab46ee58 Cleaned up some inter-dll dependencies in palette management. 2002-05-02 21:49:50 +00:00
Alexandre Julliard dec2cee2fb Removed some direct accesses to the DC structure. 2002-05-02 01:39:48 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Alexandre Julliard 0b87a19a35 Fixed handling of visible region in Save/RestoreDC. 2002-04-21 22:10:35 +00:00
Alexandre Julliard ab246a679b Pass a PHYSDEV to EnumDeviceFont and release the GDI lock in
FONT_EnumInstance instead.
2002-04-14 19:42:43 +00:00
Huw D M Davies 8a32613886 Spout a FIXME if we try to call ExtTextOut on an open path. 2002-04-06 00:37:50 +00:00
Huw D M Davies 671577296e Added support for ResetDC. 2002-04-06 00:00:56 +00:00
Alexandre Julliard ce73456d80 Fixed GetTextExtentPointI driver usage. 2002-04-05 21:23:36 +00:00
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