Skip to content
  • Christian Hergert's avatar
    macos: prototype new GDK backend for macOS · 9dbf99d9
    Christian Hergert authored
    This is fairly substantial rewrite of the GDK backend for quartz and
    renamed to macOS to allow for a greenfield implementation.
    
    Many things have come across from the quartz implementation fairly
    intact such as the eventloop integration design and discovery of
    event windows from the NSEvent.
    
    However much has been changed to fit in with the new GDK design and
    how removal of child GdkWindow have been completely eliminated.
    Furthermore, the new GdkPopup allows for regular NSWindow to be used
    to provide popovers unlike the previous implementation.
    
    The object design more closely follows the ideal for a GDK backend.
    
    Views have been broken out into subclasses so that we can support
    multiple GSK renderer paths such as GL and Cairo (and Metal in the
    future). However mixed mode GL and Cairo will not be supported. Currently
    only the Cairo renderer has been implemented.
    
    A new frame clock implementation using CVDisplayLink provides more
    accurate information about when to ...
    9dbf99d9