]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkframeclockprivate.h
GdkFrameTimings: strip down to a minimal public API
[~andy/gtk] / gdk / gdkframeclockprivate.h
index 63e2d7ed995053a8f209e5a2435c317e05dc4e66..c924550d6c7691df7da47f8a2bf6412662d03d2e 100644 (file)
@@ -67,10 +67,34 @@ 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_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__ */