This file is indexed.

/usr/share/doc/s3d/ch02s04.html is in s3d-doc 0.2.2-9.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>Definitions</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><meta name="keywords" content="s3d, API, handbook, guide" /><link rel="home" href="index.html" title="S3D - a 3D Desktop Environment" /><link rel="up" href="ch02.html" title="Chapter&#160;2.&#160;libs3d - The S3D API" /><link rel="prev" href="ch02s03.html" title="Data types" /><link rel="next" href="ch02s05.html" title="Additional Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Definitions</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;2.&#160;libs3d - The S3D API</th><td width="20%" align="right">&#160;<a accesskey="n" href="ch02s05.html">Next</a></td></tr></table><hr /></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="definitions"></a>Definitions</h2></div></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="s3d_events"></a>S3D events</h3></div></div></div><p>
This defines the callback format. Each callback should return void and take an argument of <a class="link" href="ch02s03.html#structs3d_evt" title="struct s3d_evt">struct s3d_evt *</a>.
Callbacks can be defined with <a class="link" href="ch02s02.html#s3d_set_callback" title="s3d_set_callback">s3d_set_callback()</a>.
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><a id="S3D_EVENT_OBJ_CLICK"></a>S3D_EVENT_OBJ_CLICK</span></dt><dd><p>
An object got clicked (when you set the flag <a class="link" href="ch02s04.html#S3D_OF_SELECTABLE">S3D_OF_SELECTABLE</a>), buf will contain the object id
of the object which got clicked (uint32_t)
</p></dd><dt><span class="term"><a id="S3D_EVENT_KEY"></a>S3D_EVENT_KEY</span></dt><dd><p>
A key was pressed, buf will contain a keycode. use  #include &lt;s3d_keysym.h&gt; to have the keycodes available. buf is a 2 byte unsigned short keycode.
</p></dd><dt><span class="term"><a id="S3D_EVENT_MBUTTON"></a>S3D_EVENT_MBUTTON</span></dt><dd><p>
A mouse button was clicked. Use <a class="link" href="ch02s03.html#structs3d_but_info" title="struct s3d_but_info">struct s3d_but_info</a> on buf to get more info.
</p></dd><dt><span class="term"><a id="S3D_EVENT_NEW_OBJECT"></a>S3D_EVENT_NEW_OBJECT</span></dt><dd><p>
deprecated, will use <a class="link" href="ch02s04.html#S3D_EVENT_OBJ_INFO">S3D_EVENT_OBJ_INFO</a>
</p></dd><dt><span class="term"><a id="S3D_EVENT_OBJ_INFO"></a>S3D_EVENT_OBJ_INFO</span></dt><dd><p>
Something happened to an object. This can happen if the camera was moved, the mouse (pointer) was moved or an application appeared/changed in the mcp

</p></dd><dt><span class="term"><a id="S3D_MCP_OBJECT"></a>S3D_MCP_OBJECT</span></dt><dd><p>
As the name suggests, those will only happen to the MCP. 
This tells it about new/changed application object. <a class="link" href="ch02s03.html#structmcp_object" title="struct mcp_object">struct mcp_object</a>
can be used on buf. To be removed in the future.
</p></dd><dt><span class="term"><a id="S3D_MCP_DEL_OBJECT"></a>S3D_MCP_DEL_OBJECT</span></dt><dd><p>
As the name suggests, those will only happen to the MCP. 
This tells it about deleted application object. <a class="link" href="ch02s03.html#structmcp_object" title="struct mcp_object">struct mcp_object</a>
can be used on buf. To be removed in the future.
</p></dd><dt><span class="term"><a id="S3D_EVENT_QUIT"></a>S3D_EVENT_QUIT</span></dt><dd><p>
Server sent the quit signal, or the connection was terminated. Usually, this is only processed internally.
</p></dd></dl></div><p>
</p><pre class="programlisting">
/* a callback handler could look like this: */
void my_key_handler(struct s3d_evt *event_data)
{
	...
}
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a id="s3d_object_flags"></a>S3D Object Flags</h3></div></div></div><p>
Objects can have several flags to change their behavior in the server and can be set with
<a class="link" href="ch02s02.html#s3d_flags_on" title="s3d_flags_on">s3d_flags_on()</a> and
<a class="link" href="ch02s02.html#s3d_flags_off" title="s3d_flags_off">s3d_flags_off()</a>
</p><div class="variablelist"><dl class="variablelist"><dt><span class="term"><a id="S3D_OF_VISIBLE"></a>S3D_OF_VISIBLE</span></dt><dd><p>default:off</p><p>
Obviously, if this flag is toggled the user can see it, if not it will be hidden. ;)
</p><p>
When an object is created it's turned off, so you will be able push your geometry data and
turn it on after you're done. That avoids flickering and stuff.
</p></dd><dt><span class="term"><a id="S3D_OF_SELECTABLE"></a>S3D_OF_SELECTABLE</span></dt><dd><p>default:off</p><p>
When this is toggled on, you will receive <a class="link" href="ch02s04.html#S3D_EVENT_OBJ_CLICK">click events</a>.
Don't use it if you don't need it, it will eat performance.
</p></dd><dt><span class="term"><a id="S3D_OF_POINTABLE"></a>S3D_OF_POINTABLE</span></dt><dd><p>default:off</p><p>
Placeholder for pointer (onmouseover-event enabler) events. Not implemented yet.
</p></dd></dl></div><p>
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s03.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="ch02s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Data types&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;Additional Notes</td></tr></table></div></body></html>