Commit Graph

84 Commits

Author SHA1 Message Date
Gavriel State 9e7c1111a6 Speed up the GetImageBits case where we have an XShm image. 2002-01-04 18:23:17 +00:00
François Gouget de02bdf37e Merged the handling of 15 and 16 bits X server depths.
Use the masks to distinguish between 15 and 16 bits.
Check the masks better and call generic code if they are not
supported directly.
Changed the 'notsupported' traces from FIXMEs to WARNs.
2001-12-21 19:18:30 +00:00
François Gouget 69f8b8f63e Fix line length calculation in X11DRV_DIB_Convert_any_asis.
Correctly initialize the color masks of 24bpp DIBs.
2001-11-05 23:52:18 +00:00
Francois Gouget 4e31b8b34b Fix tons of color conversion bugs.
Reorganize things more rationally and so that more code is shared.
2001-10-17 19:41:54 +00:00
Alexandre Julliard c8f3fed5cb Ignore RLE data that goes past the line end (found by Uwe Bonnes).
General cleanup of the RLE routines.
2001-10-04 18:16:37 +00:00
Jukka Heinonen 6b9d4ab65d Changing DIB color table now updates the DIB visible state. 2001-09-07 19:47:10 +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
Dmitry Timoshkov 8d7b7d830c Better separate the XShm using code. 2001-06-25 19:51:04 +00:00
Alexandre Julliard c559735bf8 Renamed display to gdi_display where it is used for GDI operations, to
allow supporting multiple X connections.
2001-05-11 00:17:47 +00:00
Ove Kaaven 6cba8bf47f Fixed CoerceDIBSection's AuxMod handling. Added CoerceDIBSection2. 2001-04-16 19:05:37 +00:00
Marcus Meissner 63200de91a Fixed undefined C constructs (val assignment in expressions using it,
postinc operators in macros).
2001-03-28 19:35:57 +00:00
Vedran Rodic 817b134e05 Made 8 bpp to 24 bit depth conversion in X11DRV_DIB_SetImageBits_8
faster by using inline asm.
2001-03-05 19:59:29 +00:00
Lionel Ulmer 103712f1c4 Added RGB 565 => RGB 0888 conversion. 2001-02-13 20:16:46 +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
Ove Kaaven e1ba4bb49e In CopyDIBSection, use source DIB colormap instead if no palette has
been selected into the source DC, to work around some X11-imposed
DIBsection implementation deficiencies.
2001-02-12 01:20:30 +00:00
James Juran f4d5fefb0a Add <string.h> to files that needed it. 2001-01-26 20:43:40 +00:00
Alexandre Julliard 8efd454067 Removed CALL_LARGE_STACK support. 2001-01-15 22:30:50 +00:00
Alexandre Julliard 3f75eaacdc Authors: Ove Kaaven <ovek@transgaming.com>, Gavriel State <gav@transgaming.com>
More DIB section copy-blitting improvements: Handle 8bpp DIBs, DC
mapping modes, and clipping. Take advantage of the DIBsection's
XShmImage mechanism to get a really fast blit to the display.
2000-12-22 01:07:57 +00:00
Gerard Patel cb0ce33877 Set the color mask with BI_BITFIELD dibs, don't use the
application-provided value.
2000-12-20 18:39: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 447ddfd37d Authors: Ove Kaaven <ovek@transgaming.com>, Andrew Lewycky <andrew@transgaming.com>, Gavriel State <gav@transgaming.com>
DIB section improvements; UpdateDIBSection has been replaced with
LockDIBSection and UnlockDIBSection, for improved thread safety.
DIB_Status_* is now driver-independent, and there's a new
DIB_Status_AuxMod. Better handling of DIB surfaces with nonstandard
pitch. Slight optimization of DIBsection->display BitBlt.
2000-12-06 20:15:43 +00:00
Guy L. Albertelli 7897de4ef8 - correct number of colormap entries looked at in GetDIBColorTable.
- correct number of colormap entries processed in SetDIBColorTable.
2000-12-05 03:53:23 +00:00
Dimitrie O. Paun 470acf831f Do not compile code that makes use of the X Shm extension. 2000-11-26 03:59:20 +00:00
Ove Kaaven a092dbfc88 Made X11DRV_DIB_GetImageBits_16 aware of 565 DIBs. 2000-11-25 23:51:59 +00:00
Ove Kaaven a32ddc0f8d Implemented Get/SetDIBColorTable. 2000-11-25 21:42:00 +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 8c540c657e Replaced a few internal functions by exported ones. 2000-11-13 04:16:05 +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
Ove Kaaven 1cbaad7fba Fill in the dsBmih.biSizeImage field of DIBSections with the
calculated bitmap size.
2000-10-13 20:21:45 +00:00
Andreas Mohr 217a682b4f Minor cosmetic changes. 2000-08-25 21:56:19 +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
Uwe Bonnes 52034b00eb X11DRV_DIB_SetImageBits_RLE8: break image lines. 2000-08-07 02:33:26 +00:00
Ove Kaaven 97e482bc95 Add X11DRV_DIB_UpdateDIBSection2 that takes a HBITMAP parameter. 2000-07-28 23:59:06 +00:00
Stephane Lussier 96754f5ec6 New version of the patch from Francois Jacques with a modification of
my own that makes everybody happy :-)
2000-07-15 21:37:33 +00:00
Alexandre Julliard d5d8480fa5 Backed out previous patch. 2000-07-10 10:59:35 +00:00
Francois Jacques 7d35413162 Updated X11DRV_DIB_GetDIBits to properly handle bottom-up DIBs
manipulation.
Corrected XGetSubImage arguments order.
2000-07-08 18:34:39 +00:00
Stephane Lussier 626691c4b8 Fixed memory access outside of the range for source bits in 24-bit bitmaps. 2000-06-18 17:17:31 +00:00
Ken Coleman 0571af43d4 Fixes to CreateDIBSection and other areas where biSizeImage is
incorrectly assumed to be correct if it non-zero.  This fixes a
crashing problem in Sid Meier's Alpha Centauri.
2000-06-16 21:48:02 +00:00
James Abbatiello 852e73a5ce Use XCreateImage/XGetSubImage instead of XGetImage for
X11DRV_DIB_GetImageBits.
2000-06-11 19:58:03 +00:00
Rob Farnum c5384f14b7 Separate out the 32bit case from the 24bit case, and copy 3bytes of
source for every 4bytes of input, into the destination for the 24bit
case.
2000-05-24 21:04:42 +00:00
Ove Kaaven d3e7e214e2 Made X11DRV_DIB_MapColor map back to the original color index if the
XImage pixel's physical color is still the same.
2000-05-18 00:03:09 +00:00
Marcus Meissner 11353fcb6c Fixed asm() constraints. 2000-05-11 21:45:09 +00:00
Marcus Meissner 3cec2ce3d3 SetImageBits_8: added ->15 conversion in optimized assembler. 2000-05-07 20:24:08 +00:00
Alexandre Julliard 40aa8c92a8 Jean-Claude Batista (Macadamian/Corel)
Top-down images have a negative biHeight, the scanlines of theses
images were inverted in X11DRV_DIB_GetImageBits_xx. To prevent this I
simply changed the sign of lines, the scanlines were correctly handled
afterwards
2000-05-07 18:27:57 +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
Patrik Stridvall 3d511617f4 Removed X_DISPLAY_MISSING. 2000-04-25 19:55:35 +00:00
Marcus Meissner 4b34a45203 Only copy dstwidth*3 bytes in the 24bit case. 2000-04-11 19:38:12 +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
Alexandre Julliard 9383eb94a7 A few simplifications and optimizations in the x11 driver. 2000-03-25 14:05:06 +00:00
Patrik Stridvall 3b233623cc Fixed some warnings. 2000-03-24 21:19:02 +00:00