/usr/share/doc/s3d/ch02s04.html is in s3d-doc 0.2.2-10.
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 2. 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> </td><th width="60%" align="center">Chapter 2. libs3d - The S3D API</th><td width="20%" align="right"> <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 <s3d_keysym.h> 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> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch02s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Data types </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Additional Notes</td></tr></table></div></body></html>
|