File: waffle_native.3.xml

package info (click to toggle)
waffle 1.8.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,140 kB
  • sloc: ansic: 18,784; xml: 2,909; objc: 465; cpp: 267; sh: 125; makefile: 18
file content (115 lines) | stat: -rw-r--r-- 3,860 bytes parent folder | download | duplicates (3)
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 &lt;waffle.h&gt;

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>&lt;waffle_${platform}.h&gt;</filename> defines the native container structs.  For
      example, <filename>&lt;waffle_glx.h&gt;</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:
-->