]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkframeclockprivate.h
xsettings: Use glib byte order functions
[~andy/gtk] / gdk / gdkframeclockprivate.h
index 63e2d7ed995053a8f209e5a2435c317e05dc4e66..27629e38aaf42daf8e251dbdbf507c107f460590 100644 (file)
@@ -33,8 +33,6 @@
 
 G_BEGIN_DECLS
 
-typedef struct _GdkFrameClockIdlePrivate       GdkFrameClockIdlePrivate;
-
 struct _GdkFrameClock
 {
   GObject parent_instance;
@@ -47,17 +45,17 @@ struct _GdkFrameClockClass
 {
   GObjectClass parent_class;
 
-  guint64  (* get_frame_time)            (GdkFrameClock *clock);
+  gint64   (* get_frame_time) (GdkFrameClock *clock);
 
-  void               (* request_phase) (GdkFrameClock      *clock,
-                                        GdkFrameClockPhase  phase);
-  GdkFrameClockPhase (* get_requested) (GdkFrameClock      *clock);
+  void     (* request_phase)  (GdkFrameClock      *clock,
+                               GdkFrameClockPhase  phase);
+  void     (* begin_updating) (GdkFrameClock      *clock);
+  void     (* end_updating)   (GdkFrameClock      *clock);
 
-  void     (* freeze) (GdkFrameClock *clock);
-  void     (* thaw)   (GdkFrameClock *clock);
+  void     (* freeze)         (GdkFrameClock *clock);
+  void     (* thaw)           (GdkFrameClock *clock);
 
   /* signals */
-  /* void (* frame_requested)    (GdkFrameClock *clock); */
   /* void (* flush_events)       (GdkFrameClock *clock); */
   /* void (* before_paint)       (GdkFrameClock *clock); */
   /* void (* update)             (GdkFrameClock *clock); */
@@ -67,10 +65,37 @@ struct _GdkFrameClockClass
   /* void (* resume_events)      (GdkFrameClock *clock); */
 };
 
+struct _GdkFrameTimings
+{
+  guint ref_count;
+
+  gint64 frame_counter;
+  guint64 cookie;
+  gint64 frame_time;
+  gint64 drawn_time;
+  gint64 presentation_time;
+  gint64 refresh_interval;
+  gint64 predicted_presentation_time;
+
+#ifdef G_ENABLE_DEBUG
+  gint64 layout_start_time;
+  gint64 paint_start_time;
+  gint64 frame_end_time;
+#endif /* G_ENABLE_DEBUG */
+
+  guint complete : 1;
+  guint slept_before : 1;
+};
+
+void _gdk_frame_clock_freeze (GdkFrameClock *clock);
+void _gdk_frame_clock_thaw   (GdkFrameClock *clock);
+
 void _gdk_frame_clock_begin_frame         (GdkFrameClock   *clock);
 void _gdk_frame_clock_debug_print_timings (GdkFrameClock   *clock,
                                            GdkFrameTimings *timings);
 
+GdkFrameTimings *_gdk_frame_timings_new (gint64 frame_counter);
+
 G_END_DECLS
 
 #endif /* __GDK_FRAME_CLOCK_PRIVATE_H__ */