Commit Graph

568 Commits

Author SHA1 Message Date
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
Alexandre Julliard c7e7df8b17 Replaced all lstr* calls from inside Wine code by their str* equivalent. 2000-08-14 14:41:19 +00:00
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Alexandre Julliard 4fef2f1917 Removed obsolete SHMDATA parameter in GLOBAL_CreateBlock. 2000-08-09 22:27:11 +00:00
Alexandre Julliard cb10fdab99 Replaced lstrlen/lstrcmp by libc equivalents everywhere we don't need
to trap exceptions.
2000-08-06 02:41:16 +00:00
Alexandre Julliard 93652e1a68 Moved a bunch of functions out of libwine/kernel/gdi into USER. 2000-08-04 04:21:02 +00:00
Alexandre Julliard b0efe28f6c Removed a few dependencies on GDI internals from USER dll. 2000-08-04 04:18:04 +00:00
Alexandre Julliard 15467bfb1f Moved MulDiv() and VGA routines out of GDI. 2000-08-01 22:03:18 +00:00
Phillip Ezolt 3c41fabc6a Fixed CreateDC to work properly when it is called with a device. 2000-08-01 02:15:34 +00:00
Alexandre Julliard 946a4448af Cleaned up a few USER dependencies. 2000-07-30 13:50:27 +00:00
Alexandre Julliard 58d5a0a786 Removed some unnecessary inclusions of wingdi.h and winuser.h 2000-07-29 21:58:17 +00:00
Stephane Lussier 23259ce5c9 In CreateDIBSection function, if hdc is NULL it now uses the desktop DC
instead of failing.
2000-07-11 22:04:44 +00:00
Gerard Patel 5131f21fb2 hookThunk was not initialized in GetDcState. 2000-06-12 21:52:58 +00:00
James Abbatiello 355c523624 Don't print uiLengthDrawn in the FIXME in DrawTextExA. Its an output
variable, not an input variable.
2000-06-11 19:58:49 +00:00
Alexandre Julliard a660c7903f Moved DIB_FixColorsToLoadflags to cursoricon.c. 2000-06-03 20:45:20 +00:00
Patrik Stridvall e4174d5d57 GetRelAbs for some reason takes 2 parameters, even though the second
one is ignored at least on Windows NT 3.51 according to Marcus Meissner.
2000-05-18 00:51:52 +00:00
Alexandre Julliard 6725dc61eb Fixed DrawTextW length handling. 2000-05-03 17:43:42 +00:00
Dimitrie O. Paun 4d48dd3048 Removed HEAP_xalloc. 2000-04-30 12:22:18 +00:00
Ove Kaaven 8b9f33851a Added DIB_CreateDIBSection with extra parameter ovr_pitch, added
ovr_pitch to pCreateDIBSection in DC_FUNCS. If ovr_pitch is nonzero,
it is a pitch override (specifies bytes per line), and tells to treat
the offset parameter as an already-mapped virtual memory address (if
the section parameter is zero). Fixed a DIB status init bug in
creating DIB sections from file mappings (if created from mapping, the
DIB is *not* really InSync).
2000-04-29 16:47:07 +00:00
Huw D M Davies f46e1d8a51 Fix return value for OffsetRgn if x and y are 0. 2000-04-18 11:54:29 +00:00
Huw D M Davies c9315fe820 Tidy up of PlayEnhMetaFileRecord - fixes PolyPoly* functions. 2000-04-18 11:52:58 +00:00
Huw D M Davies 2cf4ebc1aa Fixes and cleans up some of the GetEnhMetaFile* functions.
Fixes scaling of EMFs in playback.  Will probably be right
when World Transforms work properly...
2000-04-13 15:57:34 +00:00
Patrik Stridvall 54fe8380a1 Fixed some issues reported by winapi_check. 2000-04-06 20:21:16 +00:00
Junichi Kuchinishi 34b7b3f74f Added conversion from DBCS lpDx to WCHAR lpDx. 2000-04-06 20:12:16 +00:00
Huw D M Davies 280aeb9689 Delete objects after use in EnumEnhMetaFile.
Make PlayEnhMetaFile call EnumEnhMetaFile.
Move EnumEnhMetaFile prototype to wingdi.h.
2000-03-30 20:22:41 +00:00
Patrik Stridvall 2d6457c11a Added/fixed some documentation reported by winapi_check. 2000-03-28 20:22:59 +00:00
Alexandre Julliard a7116b0559 Fixed memory allocations. 2000-03-28 20:02:37 +00:00
Alexandre Julliard a08e2cf19f Merged DDBitmap and physBitmap into the generic bitmap structure
(suggested by Andrew Lewycky).
2000-03-28 13:37:50 +00:00
Hidenori Takeshima e2905ea478 Fixes for i18n. 2000-03-26 14:43:22 +00:00
Francois Gouget 6d77d3a1df Use min/max instead of MIN/MAX. 2000-03-25 21:44:35 +00:00
Alexandre Julliard b52aed4e10 Moved LoadImage and related functions to cursoricon.c. 2000-03-24 21:40:30 +00:00
Alexandre Julliard d6c0d8642c Moved gdi/user thunking functions into their respective dlls.
Moved keyboard.spec into user dll.
2000-03-24 21:38:30 +00:00
Alexandre Julliard 28c3a1baf3 Moved graphics initialisation to the x11drv/ttydrv dll init code.
Merged event, keyboard and mouse drivers into USER driver.
2000-03-20 18:21:19 +00:00
Alexandre Julliard aafd54dab9 Moved font resource functions out of the X11 driver. 2000-03-19 21:20:54 +00:00
Alexandre Julliard 07e4213642 Added GetDCOrgEx in graphics device interface and removed X11 code
from dc.c.
2000-03-19 21:19:21 +00:00
Dimitrie O. Paun 9ad9636725 Removed most calls to xmalloc/xrealloc. 2000-03-19 14:29:50 +00:00
Alexandre Julliard 1dac57f05f Created separate dlls for user,gdi,ttydrv,x11drv.
Fixed Winelib argc handling (thanks to Eric Pouech).
2000-03-19 12:08:09 +00:00
Alexandre Julliard 62f824f7cb Avoid calling the *Rect USER functions from inside GDI.
Moved a few USER functions to a more appropriate location.
2000-03-18 22:12:33 +00:00
Rein Klazes ad5d10f223 Correct rounding of the result in MulDiv16(). 2000-03-12 21:12:38 +00:00
Alexandre Julliard 09f8a751e8 Lilia Roumiantseva
cbCountSizeOfEnhMetafile callback function instead of increasing a
contents of the pointer to the size increased the pointer itself.
2000-03-04 19:18:23 +00:00