1. 22 Jun, 2014 2 commits
  2. 21 Jun, 2014 5 commits
    • Jasper St. Pierre's avatar
      0dfd506b
    • Jasper St. Pierre's avatar
      gdkwindow: Don't bother with a return parameter for queue_antiexpose · c767d504
      Jasper St. Pierre authored
      Standard refcounting works perfectly well. Don't give us the opportunity
      for more memory leaks.
      c767d504
    • Jasper St. Pierre's avatar
      gdkwindow-broadway: Squash memory leak · dcef61ac
      Jasper St. Pierre authored
      We don't need to hang on to the update_area.
      dcef61ac
    • Jasper St. Pierre's avatar
    • Jasper St. Pierre's avatar
      gdkwindow: Remove the internal cairo_surface used for out-of-band painting · d48adf9c
      Jasper St. Pierre authored
      Traditionally, the way painting was done in GTK+ was with the
      "expose-event" handler, where you'd use GDK methods to do drawing on
      your surface. In GTK+ 2.24, we added cairo support with gdk_cairo_create,
      so you could paint your graphics with cairo.
      
      Since then, we've added client-side windows, double buffering, the paint
      clock, and various other enhancements, and the modern way to do drawing
      is to connect to the "draw" signal on GtkWidget, which hands you a
      cairo_t. To do double-buffering, the cairo_t we hand you is actually on
      a secret surface, not the actual backing store of the window, and when
      the draw handler completes we blit it into the main backing store
      atomically.
      
      The code to do this is with the APIs gdk_window_begin_paint_region,
      which creates the temporary surface, and gdk_window_end_paint which
      blits it back into the backing store. GTK+'s implementation of the
      "draw" signal uses these APIs.
      
      We've always sort-of supported people calling gdk_cairo_create
      "outside" of a begin_paint / end_paint like old times, but then you're
      not getting the benefit of double-buffering, and it's harder for GDK to
      optimize.
      
      Additionally, newer backends like Mir and Wayland can't actually support
      this model, since they're based on double-buffering and swapping buffers
      at various points in time. If we hand you a random cairo_t, we have no
      idea when is a good time to swap.
      
      Remove support for this.
      
      This is technically a GDK API break: a warning is added in cases where
      gdk_cairo_create is called outside of a paint cycle, and the returned
      surface is a dummy that won't ever be composited back onto the main
      surface. Testing with complex applications like Ardour didn't produce
      any warnings.
      d48adf9c
  3. 18 Apr, 2014 1 commit
  4. 27 Mar, 2014 1 commit
  5. 21 Mar, 2014 1 commit
  6. 17 Mar, 2014 1 commit
    • Jasper St. Pierre's avatar
      Implement get_root_origin generically for all backends · efdd68b3
      Jasper St. Pierre authored
      It seems that some backends implemented get_root_origin wrong
      and returned the client window coordinates, not the frame window
      coordinates. Since it's possible to implement generically for all
      windows, let's do that instead of having a separate impl vfunc.
      efdd68b3
  7. 12 Mar, 2014 1 commit
  8. 05 Mar, 2014 1 commit
  9. 28 Feb, 2014 1 commit
  10. 25 Feb, 2014 1 commit
  11. 07 Feb, 2014 1 commit
  12. 14 Nov, 2013 1 commit
  13. 13 Nov, 2013 3 commits
  14. 12 Nov, 2013 7 commits
  15. 08 Nov, 2013 2 commits
  16. 07 Nov, 2013 8 commits
  17. 05 Nov, 2013 1 commit
  18. 04 Nov, 2013 1 commit
  19. 31 Oct, 2013 1 commit