Skip to content
  • Keith Packard's avatar
    composite: 0.5. Window scaling and events · 106cc9bc
    Keith Packard authored and Roman Gilg's avatar Roman Gilg committed
    
    
    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: default avatarKeith Packard <keithp@keithp.com>
    106cc9bc