]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkframetimings.c
GdkX11DeviceManagerXI2: handle focus events not on a known window
[~andy/gtk] / gdk / gdkframetimings.c
index a51912baa6e31c959a002a090ab1d274969a1ffd..ad9ec2e5273d4785bc733fb2eb776897aeaf3bef 100644 (file)
@@ -29,6 +29,13 @@ struct _GdkFrameTimings
   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;
@@ -181,6 +188,23 @@ gdk_frame_timings_set_presentation_time (GdkFrameTimings *timings,
   timings->presentation_time = presentation_time;
 }
 
+gint64
+gdk_frame_timings_get_predicted_presentation_time (GdkFrameTimings *timings)
+{
+  g_return_val_if_fail (timings != NULL, 0);
+
+  return timings->predicted_presentation_time;
+}
+
+void
+gdk_frame_timings_set_predicted_presentation_time (GdkFrameTimings *timings,
+                                                   gint64           predicted_presentation_time)
+{
+  g_return_if_fail (timings != NULL);
+
+  timings->predicted_presentation_time = predicted_presentation_time;
+}
+
 gint64
 gdk_frame_timings_get_refresh_interval (GdkFrameTimings *timings)
 {
@@ -197,3 +221,57 @@ gdk_frame_timings_set_refresh_interval (GdkFrameTimings *timings,
 
   timings->refresh_interval = refresh_interval;
 }
+
+#ifdef G_ENABLE_DEBUG
+gint64
+_gdk_frame_timings_get_layout_start_time (GdkFrameTimings *timings)
+{
+  g_return_val_if_fail (timings != NULL, 0);
+
+  return timings->layout_start_time;
+}
+
+void
+_gdk_frame_timings_set_layout_start_time (GdkFrameTimings *timings,
+                                          gint64           layout_start_time)
+{
+  g_return_if_fail (timings != NULL);
+
+  timings->layout_start_time = layout_start_time;
+}
+
+gint64
+_gdk_frame_timings_get_paint_start_time (GdkFrameTimings *timings)
+{
+  g_return_val_if_fail (timings != NULL, 0);
+
+  return timings->paint_start_time;
+}
+
+void
+_gdk_frame_timings_set_paint_start_time (GdkFrameTimings *timings,
+                                         gint64           paint_start_time)
+{
+  g_return_if_fail (timings != NULL);
+
+  timings->paint_start_time = paint_start_time;
+}
+
+gint64
+_gdk_frame_timings_get_frame_end_time (GdkFrameTimings *timings)
+{
+  g_return_val_if_fail (timings != NULL, 0);
+
+  return timings->frame_end_time;
+}
+
+void
+_gdk_frame_timings_set_frame_end_time (GdkFrameTimings *timings,
+                                       gint64           frame_end_time)
+{
+  g_return_if_fail (timings != NULL);
+
+  timings->frame_end_time = frame_end_time;
+}
+
+#endif /* G_ENABLE_DEBUG */