• LRN's avatar
    GDK W32: Switch to GdkCairoContext · 7002f08c
    LRN authored
    * Remove DC refcounting (we trust GDK to always do
      begin_frame/end_frame calls in pairs)
    * Now that there's no GDK-provided double-buffer up the stack,
      double-buffering is implemented here
      (though it's disabled by default - in my tests it didn't provide
       any visual improvements, but did decrease performance).
    * For some reason delaying window resizes until the point where
      we need to blit the double-buffer into the window leads
      to visual glitches, so doulbe-buffered windows are resized
      in begin_frame, same as non-double-buffered ones.
    * New code to clear the paint region, for all drawing modes.
      Hopefully, it isn't duplicated anywhere up the stack.
    * GL has its own context now, so remove any GL-related comments.
    * Layered windows are still used (because cairo actually works
      better with them)
    * A bit more code re-use for layered windows
    * Some functions that were local to gdksurface-win32.c are made
      usable for the whole backend
    * Drag-indicator drawing is temporarily commented out to match
      a similar change in X11 backend