Creates a new GdkContentFormats
from an array of mime types.
The mime types must be valid and different from each other or the
behavior of the return value is undefined. If you cannot guarantee
this, use [structGdk
.ContentFormatsBuilder] instead.
Pointer to an array of mime types
Checks if a given GType
is part of the given formats
.
the GType
to search for
Checks if a given mime type is part of the given formats
.
the mime type to search for
Gets the GType
s included in formats
.
Note that formats
may not contain any GType
s, in particular when
they are empty. In that case %NULL will be returned.
Gets the mime types included in formats
.
Note that formats
may not contain any mime types, in particular
when they are empty. In that case %NULL will be returned.
Checks if first
and second
have any matching formats.
the GdkContentFormats
to intersect with
Finds the first GType
from first
that is also contained
in second
.
If no matching GType
is found, %G_TYPE_INVALID is returned.
the GdkContentFormats
to intersect with
Finds the first mime type from first
that is also contained
in second
.
If no matching mime type is found, %NULL is returned.
the GdkContentFormats
to intersect with
Increases the reference count of a GdkContentFormats
by one.
Prints the given formats
into a human-readable string.
The resulting string can be parsed with [funcGdk
.ContentFormats.parse].
This is a small wrapper around [methodGdk
.ContentFormats.print]
to help when debugging.
Append all missing types from second
to first,
in the order
they had in second
.
the GdkContentFormats
to merge from
Add GTypes for mime types in formats
for which deserializers are
registered.
Add mime types for GTypes in formats
for which deserializers are
registered.
Add GTypes for the mime types in formats
for which serializers are
registered.
Add mime types for GTypes in formats
for which serializers are
registered.
Decreases the reference count of a GdkContentFormats
by one.
If the resulting reference count is zero, frees the formats.
Creates a new GdkContentFormats
from an array of mime types.
The mime types must be valid and different from each other or the
behavior of the return value is undefined. If you cannot guarantee
this, use [structGdk
.ContentFormatsBuilder] instead.
Pointer to an array of mime types
Creates a new GdkContentFormats
for a given GType
.
a GType
Parses the given string
into GdkContentFormats
and
returns the formats.
Strings printed via [methodGdk
.ContentFormats.to_string]
can be read in again successfully using this function.
If string
does not describe valid content formats, %NULL
is returned.
the string to parse
The
GdkContentFormats
structure is used to advertise and negotiate the format of content.You will encounter
GdkContentFormats
when interacting with objects controlling operations that pass data between different widgets, window or application, like [classGdk
.Drag], [classGdk
.Drop], [classGdk
.Clipboard] or [classGdk
.ContentProvider].GDK supports content in 2 forms:
GType
and mime type. UsingGTypes
is meant only for in-process content transfers. Mime types are meant to be used for data passing both in-process and out-of-process. The details of how data is passed is described in the documentation of the actual implementations. To transform between the two forms, [classGdk
.ContentSerializer] and [classGdk
.ContentDeserializer] are used.A
GdkContentFormats
describes a set of possible formats content can be exchanged in. It is assumed that this set is ordered.GTypes
are more important than mime types. Order between differentGTypes
or mime types is the order they were added in, most important first. Functions that care about order, such as [methodGdk
.ContentFormats.union], will describe in their documentation how they interpret that order, though in general the order of the first argument is considered the primary order of the result, followed by the order of further arguments.For debugging purposes, the function [method
Gdk
.ContentFormats.to_string] exists. It will print a comma-separated list of formats from most important to least important.GdkContentFormats
is an immutable struct. After creation, you cannot change the types it represents. Instead, newGdkContentFormats
have to be created. The [structGdk
.ContentFormatsBuilder] structure is meant to help in this endeavor.