-
Output scaling: * Changes to mivaltree to reset window clip to owner window size instead of server window size when compositing * Allocate owner window size pixmap for composite pixmap * Paint scaled image for automatic compositing * Report owner window size in events to the window owner. * Scale exposure damage in compSetRedirectBorderClip from current size to owner size to make sure the correct parts of the window are repainted. Input scaling: * Change miSpriteTrace to scale cursor coordinates when transiting an owner-sized window. Do all computations in double to handle multiple such transitions without losing bits * Add ScaleRootCoordinate in events.c. This function takes a window and a root x/y and walks up the tree scaling each time there is an owner size set. * Use ScaleRootCoordinate in FixUpEventFromWindow. * Wrap event delivery in DeliverEvent in new SaveEventRootCoord/RestoreEventRootCoord functions so that different windows receiving the same event will all receive the correct coordinates. Composite events: * Deliver CompositePixmapNotify events from compSetPixmapVisitWindow so that applications will be notified each time the pixmap changes. * Deliver CompositeOwnerWindowSizeNotify events when owner window size is set. Signed-off-by: Keith Packard <keithp@keithp.com>
106cc9bc