Commit Graph

110 Commits

Author SHA1 Message Date
Keith Packard
a68f350195 Remove debugging code which did a full tree walk on every window operation
Eliminate needless (and, it turns out, dangerous) call to ChangeGC on
    DestroyGCPrivate.
in cwSetWindowPixmap, check if the pixmap is the screen pixmap and disable
    the wrapper by setting the private to NULL.
2004-08-15 19:05:01 +00:00
Keith Packard
1e728c3e88 Copy bits from parent window when allocating pixmaps so that Background ==
None works.
Copy filter to backing picture during validation.
Mark picture serialNumber when setting Filter or Transform so Validate
    occurs.
Initialize xf86Screens[i]->pScreen to NULL so that RADEON driver doesn't
    crash during server reset using old pScreen.
2004-08-15 03:34:18 +00:00
Keith Packard
9433085179 Redraw window borders when switching window pixmaps around
Make cw "own" the window pixmaps by wrapping
    GetWindowPixmap/SetWindowPixmap.
2004-08-15 00:43:39 +00:00
Keith Packard
a29bfbd3d0 Empty damage object when freeing pixmap.
Wrap InstallColormap so that the DDX doesn't see colormaps from our ARGB
    visual (avoids lovely green tint to screen). Also, set visual->nplanes
    of ARGB visual to all used (including alpha) planes so DIX can set
    pixel values correctly.
Translate automatic update regions correctly to account for borders
When nplanes == 32 (ARGB visuals), mask in all ones for alpha values to
    allocated pixel values.
Remove redundant fbAddTraps declaration
Fix fbCopyWindow to work on non-screen pixmaps (not needed yet)
Replace broken clipping code with that from modular tree.
Respect subWindowMode.
2004-08-13 08:16:14 +00:00
Eric Anholt
961333143e Apply a kludge to initialize the composite wrapper before DamageSetup. If
not, DamageSetup will wrap some operations first, and the cw
    initializes during ExtensionInit, so cw comes higher in the wrapping
    chain. cw going first will result in damage getting confused when the
    drawables get changed around.
2004-08-12 08:45:33 +00:00
Eric Anholt
789cf3ed84 Fix some issues reported by deronj:
- Hopefully fix a crash in compCheckRedirect on unrealizing windows.
- Remove an extern that doesn't point at anything.
2004-08-12 07:57:03 +00:00
Keith Packard
9d0213525f Paint to parent window instead of parent window's pixmap (helps for servers
that don't have a pixmap for the root)
Fix offsets for render drawing.
2004-08-12 00:09:30 +00:00
Keith Packard
cff0043a34 Remove alpha-related fields from visual structure to retain binary
compatibilty. Applications using ARGB visuals will need to use Render
    or other mechanisms to compute pixel values instead of AllocColor
2004-08-07 00:58:21 +00:00
Eric Anholt
bfbb40c28c Major improvements to Composite wrapper. Several issues remain, but it now
appears stable in limited testing.
- Allocate the picture private, avoiding segfault.
- Wrap PaintWindow to draw the background/border to the backing pixmap
    (based on Deron Johnson's comptran.c).
- Set the x_off/y_off returns to translate coordinates properly.
- Don't bother allocating temporary areas for the modified coordinates.
    Layers above are responsible for handling lower layers changing the
    arguments, so cw doesn't have to worry about it. mibstore.c has to do
    the allocation because it calls down twice (front buffer and backing
    store). (Suggested by keithp)
- Handle the mode argument to PolyPoint, Polylines, and FillPolygon.
- Remove some dead elements in the cw privates.
- Kill a prototype warning in compinit.c by adding the cw.h header.
2004-08-03 05:49:48 +00:00
Eric Anholt
d690556d49 Integrate COMPOSITEWRAP branch including composite wrapper. This code still
has several issues, including:
- CopyWindow and PaintWindow wrappers missing (will be done soon)
- Some segfaults seen in the Render wrappers.
- Xprt server build breaks with Composite.
- DDXs must be recompiled for Composite due to VisualRec size change.
- Composite bugs pointed out by Deron Johnson in email.
Also, reorder XFixes initialization according to comments by Keith which
    are also in xserver CVS.
2004-07-31 08:24:14 +00:00