1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"file:///usr/share/xml/docbook/schema/dtd/4.2/docbookx.dtd">
<!--
Copyright Intel 2012
This manual page is licensed under the Creative Commons Attribution-ShareAlike 3.0 United States License (CC BY-SA 3.0
US). To view a copy of this license, visit http://creativecommons.org.license/by-sa/3.0/us.
-->
<refentry
id="waffle_native"
xmlns:xi="http://www.w3.org/2001/XInclude">
<!-- See http://www.docbook.org/tdg/en/html/refentry.html. -->
<refmeta>
<refentrytitle>waffle_native</refentrytitle>
<manvolnum>3</manvolnum>
</refmeta>
<refnamediv>
<refname>waffle_native</refname>
<refname>waffle_native_display</refname>
<refname>waffle_native_config</refname>
<refname>waffle_native_context</refname>
<refname>waffle_native_window</refname>
<refpurpose>Containers for underlying native objects</refpurpose>
</refnamediv>
<refentryinfo>
<title>Waffle Manual</title>
<productname>waffle</productname>
<xi:include href="common/author-chad.versace.xml"/>
<xi:include href="common/copyright.xml"/>
<xi:include href="common/legalnotice.xml"/>
</refentryinfo>
<refsynopsisdiv>
<synopsis language="C">
#include <waffle.h>
union waffle_native_display {
struct waffle_gbm_display *gbm;
struct waffle_glx_display *glx;
struct waffle_wayland_display *wayland;
struct waffle_x11_egl_display *x11_egl;
};
union waffle_native_config {
struct waffle_gbm_config *gbm;
struct waffle_glx_config *glx;
struct waffle_wayland_config *wayland;
struct waffle_x11_egl_config *x11_egl;
};
union waffle_native_context {
struct waffle_gbm_context *gbm;
struct waffle_glx_context *glx;
struct waffle_wayland_context *wayland;
struct waffle_x11_egl_context *x11_egl;
};
union waffle_native_window {
struct waffle_gbm_window *gbm;
struct waffle_glx_window *glx;
struct waffle_wayland_window *wayland;
struct waffle_x11_egl_window *x11_egl;
};
</synopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para>
Each of the <function>waffle_${obj}_get_native()</function> functions returns a correspondingly named
<type>union waffle_native_${obj}*</type>.
For example, <function>waffle_window_get_native()</function> returns <type>union waffle_native_window*</type>
</para>
<para>
For each platform, the header <filename><waffle_${platform}.h></filename> defines the native container structs. For
example, <filename><waffle_glx.h></filename> defines the structs <type>waffle_glx_${obj}</type>.
</para>
<para>
Observerve that native container structs are not defined for all platforms that waffle supports. In
particular, waffle supports Android (<constant>WAFFLE_PLATFORM_ANDROID</constant>) and MacOS via CGL
(<constant>WAFFLE_PLATFORM_CGL</constant>), but no container structs are defined for those platforms.
Presently, waffle does not expose the native objects for those platforms due to implementation difficulties.
</para>
</refsect1>
<xi:include href="common/issues.xml"/>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>waffle</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<citerefentry><refentrytitle>waffle_gbm</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>waffle_glx</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>waffle_wayland</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
<citerefentry><refentrytitle>waffle_x11_egl</refentrytitle><manvolnum>3</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>
<!--
vim:tw=120 et ts=2 sw=2:
-->
|