mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-04 01:31:13 +00:00
533aaba5eb
This is a still experimental protocol (thus the xx prefix). We are using it go obtain information about the compositors preferred color state, and pass that on to our rendering machinery. The currently supported color states are srgb, srgb-linear, rec2100-pq and rec2100-linear. We don't have any support for ICC profiles. Unlike other protocols, keep the support code for this protocol fairly isolated behind wrapper objects, since the protocol is still subject to change.
38 lines
1.9 KiB
C
38 lines
1.9 KiB
C
#pragma once
|
|
|
|
#include "gdkcolorstateprivate.h"
|
|
#include <wayland-client.h>
|
|
|
|
typedef struct _GdkWaylandColor GdkWaylandColor;
|
|
|
|
GdkWaylandColor * gdk_wayland_color_new (struct wl_registry *registry,
|
|
uint32_t id,
|
|
uint32_t version);
|
|
|
|
void gdk_wayland_color_free (GdkWaylandColor *color);
|
|
|
|
gboolean gdk_wayland_color_prepare (GdkWaylandColor *color);
|
|
|
|
struct wl_proxy * gdk_wayland_color_get_color_manager (GdkWaylandColor *color);
|
|
|
|
|
|
typedef struct _GdkWaylandColorSurface GdkWaylandColorSurface;
|
|
|
|
typedef void (* GdkColorStateChanged) (GdkWaylandColorSurface *self,
|
|
GdkColorState *cs,
|
|
gpointer data);
|
|
|
|
GdkWaylandColorSurface *
|
|
gdk_wayland_color_surface_new (GdkWaylandColor *color,
|
|
struct wl_surface *wl_surface,
|
|
GdkColorStateChanged callback,
|
|
gpointer data);
|
|
|
|
void gdk_wayland_color_surface_free (GdkWaylandColorSurface *self);
|
|
|
|
void gdk_wayland_color_surface_set_color_state (GdkWaylandColorSurface *self,
|
|
GdkColorState *cs);
|
|
|
|
gboolean gdk_wayland_color_surface_can_set_color_state (GdkWaylandColorSurface *self,
|
|
GdkColorState *cs);
|