1. 18 Feb, 2013 2 commits
  2. 14 Feb, 2013 6 commits
    • Owen W. Taylor's avatar
      4c9749ee
    • Owen W. Taylor's avatar
      GdkFrameClock: Clean up the public API · bb11195e
      Owen W. Taylor authored
      * remove gdk_frame_clock_get_frame_time_val(); a convenience
        function that would rarely be used.
      * remove gdk_frame_clock_get_requested() and
        ::frame-requested signal; while we might want to eventually
         be able to track the requested phases for a clock, we don't
        have a current use case.
      * Make gdk_frame_clock_freeze/thaw() private: they are only
        used within GTK+ and have complex semantics.
      * Remove gdk_frame_clock_get_last_complete(). Another convenience
        function that I don't have a current use case for.
      * Rename:
        gdk_frame_clock_get_start() => gdk_frame_clock_get_history_start()
        gdk_frame_clocK_get_current_frame_timings() => gdk_frame_clock_get_timings()
      bb11195e
    • Owen W. Taylor's avatar
      GdkFrameTimings: strip down to a minimal public API · d5edf9c0
      Owen W. Taylor authored
      Since we're not exporting the ability to create your own frame
      clock for now, remove the setters for GdkFrameTimings fields.
      Also remove all setters and getters for fields that are more
      about implementation than about quantities that are meaningful
      to the applcation and just access the fields directly within
      GDK.
      d5edf9c0
    • Owen W. Taylor's avatar
      Merge GdkFrameHistory into GdkFrameClock · 515e5f74
      Owen W. Taylor authored
      Now that GdkFrameClock is a  class, not interface, there's no real advantage
      to splitting the frame history into an aggregate object, so directly
      merge it into GdkFrameClock.
      515e5f74
    • Owen W. Taylor's avatar
      Change GdkFrameClock from an interface to a class · 5f2d1654
      Owen W. Taylor authored
      It's unlikely that anyone will want to have, say, a GtkWidget that
      also acts as a GdkFrameClock, so an abstract base class is as
      flexible as making GdkFrameClock an interface, but has advantages:
      
       - If we decide to never make implementing your own frame clock
         possible, we can remove the virtualization.
       - We can put functionality like history into the base class.
       - Avoids the oddity of a interface without a public interface
         VTable, which may cause problems for language bindings.
      5f2d1654
    • Owen W. Taylor's avatar
      Add GdkFrameClock · 77bac0d6
      Owen W. Taylor authored
      Add an object GdkFrameClock that we associate with a GdkWindow.
      This tracks when the window needs to be repainted, and will also
      be used for other operations in the future like relayout and
      updating animations.
      
      Based on a patch from Havoc Pennington:
      
       https://mail.gnome.org/archives/gtk-devel-list/2010-October/msg00004.html
      
      https://bugzilla.gnome.org/show_bug.cgi?id=685460
      77bac0d6