• Ken Thomases's avatar
    winemac: Mirror the hierarchy of Win32 child windows with Cocoa views. · d91e5686
    Ken Thomases authored
    This only really affects OpenGL child windows.  GDI rendering to the window
    surface is still only blitted to the window's content view.  The descendant
    views don't draw and so are transparent, letting the content view show through.
    
    Using Cocoa views for child windows fixes a problem where changes to the
    position and visibility of child GL windows didn't properly affect the Cocoa GL
    view.  Hiding, showing, and moving the top-level window affected the Cocoa
    window and thus, indirectly, the GL view.  Moving the child GL window itself
    was propagated to the GL view, so that worked.  But hiding, showing, or moving
    any of the intervening ancestors of the child GL window didn't properly affect
    the GL view.  Neither did hiding or showing the child GL window itself.
    
    This also slightly improves the clipping of the GL view by its ancestors,
    although it still doesn't work quite right due to Cocoa bugs.  There are also
    remaining bugs with z-order among multiple GL views and clipping by overlapping
    siblings.  I hope to eventually fix those using Core Animation layers, for
    which this is a prerequisite.
    Signed-off-by: 's avatarKen Thomases <ken@codeweavers.com>
    Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
    d91e5686
macdrv.h 10.9 KB