Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
gdkframeclock.h
Go to the documentation of this file.
1/* GDK - The GIMP Drawing Kit
2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
16 */
17
18/*
19 * Modified by the GTK+ Team and others 1997-2010. See the AUTHORS
20 * file for a list of people on the GTK+ Team. See the ChangeLog
21 * files for a list of changes. These files are distributed with
22 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
23 */
24
25#pragma once
26
27#if !defined (__GDK_H_INSIDE__) && !defined (GTK_COMPILATION)
28#error "Only <gdk/gdk.h> can be included directly."
29#endif
30
31#include <gdk/gdkframetimings.h>
32
34
35#define GDK_TYPE_FRAME_CLOCK (gdk_frame_clock_get_type ())
36#define GDK_FRAME_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDK_TYPE_FRAME_CLOCK, GdkFrameClock))
37#define GDK_FRAME_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_FRAME_CLOCK, GdkFrameClockClass))
38#define GDK_IS_FRAME_CLOCK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GDK_TYPE_FRAME_CLOCK))
39#define GDK_IS_FRAME_CLOCK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_FRAME_CLOCK))
40#define GDK_FRAME_CLOCK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_FRAME_CLOCK, GdkFrameClockClass))
41
42typedef struct _GdkFrameClock GdkFrameClock;
43typedef struct _GdkFrameClockPrivate GdkFrameClockPrivate;
44typedef struct _GdkFrameClockClass GdkFrameClockClass;
45
46/**
47 * GdkFrameClockPhase:
48 * @GDK_FRAME_CLOCK_PHASE_NONE: no phase
49 * @GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS: corresponds to GdkFrameClock::flush-events. Should not be handled by applications.
50 * @GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT: corresponds to GdkFrameClock::before-paint. Should not be handled by applications.
51 * @GDK_FRAME_CLOCK_PHASE_UPDATE: corresponds to GdkFrameClock::update.
52 * @GDK_FRAME_CLOCK_PHASE_LAYOUT: corresponds to GdkFrameClock::layout. Should not be handled by applications.
53 * @GDK_FRAME_CLOCK_PHASE_PAINT: corresponds to GdkFrameClock::paint.
54 * @GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS: corresponds to GdkFrameClock::resume-events. Should not be handled by applications.
55 * @GDK_FRAME_CLOCK_PHASE_AFTER_PAINT: corresponds to GdkFrameClock::after-paint. Should not be handled by applications.
56 *
57 * Used to represent the different paint clock phases that can be requested.
58 *
59 * The elements of the enumeration correspond to the signals of `GdkFrameClock`.
60 */
71
74
77
80 GdkFrameClockPhase phase);
81
86
87/* Frame history */
94 gint64 frame_counter);
95
98
101 gint64 base_time,
102 gint64 *refresh_interval_return,
103 gint64 *presentation_time_return);
104
107
109
111
#define GDK_AVAILABLE_IN_ALL
GDK_AVAILABLE_IN_ALL void gdk_frame_clock_end_updating(GdkFrameClock *frame_clock)
GDK_AVAILABLE_IN_ALL GdkFrameTimings * gdk_frame_clock_get_timings(GdkFrameClock *frame_clock, gint64 frame_counter)
GDK_AVAILABLE_IN_ALL gint64 gdk_frame_clock_get_history_start(GdkFrameClock *frame_clock)
GDK_AVAILABLE_IN_ALL GdkFrameTimings * gdk_frame_clock_get_current_timings(GdkFrameClock *frame_clock)
struct _GdkFrameClockClass GdkFrameClockClass
GDK_AVAILABLE_IN_ALL void gdk_frame_clock_get_refresh_info(GdkFrameClock *frame_clock, gint64 base_time, gint64 *refresh_interval_return, gint64 *presentation_time_return)
GDK_AVAILABLE_IN_ALL GType gdk_frame_clock_get_type(void) G_GNUC_CONST
struct _GdkFrameClockPrivate GdkFrameClockPrivate
GdkFrameClockPhase
@ GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT
@ GDK_FRAME_CLOCK_PHASE_UPDATE
@ GDK_FRAME_CLOCK_PHASE_PAINT
@ GDK_FRAME_CLOCK_PHASE_AFTER_PAINT
@ GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS
@ GDK_FRAME_CLOCK_PHASE_RESUME_EVENTS
@ GDK_FRAME_CLOCK_PHASE_NONE
@ GDK_FRAME_CLOCK_PHASE_LAYOUT
GDK_AVAILABLE_IN_ALL void gdk_frame_clock_begin_updating(GdkFrameClock *frame_clock)
GDK_AVAILABLE_IN_ALL void gdk_frame_clock_request_phase(GdkFrameClock *frame_clock, GdkFrameClockPhase phase)
struct _GdkFrameClock GdkFrameClock
GDK_AVAILABLE_IN_ALL double gdk_frame_clock_get_fps(GdkFrameClock *frame_clock)
GDK_AVAILABLE_IN_ALL gint64 gdk_frame_clock_get_frame_time(GdkFrameClock *frame_clock)
GDK_AVAILABLE_IN_ALL gint64 gdk_frame_clock_get_frame_counter(GdkFrameClock *frame_clock)
typedefG_BEGIN_DECLS struct _GdkFrameTimings GdkFrameTimings
signed long gint64
Definition glibconfig.h:66
#define G_END_DECLS
Definition gmacros.h:910
#define G_BEGIN_DECLS
Definition gmacros.h:909
#define G_GNUC_CONST
Definition gmacros.h:637
#define G_DEFINE_AUTOPTR_CLEANUP_FUNC(TypeName, func)
Definition gmacros.h:1400
GOBJECT_AVAILABLE_IN_ALL void g_object_unref(gpointer object)
gsize GType
Definition gtype.h:427