| 1 |
<html><head> |
|---|
| 2 |
<meta http-equiv="content-type" content="text/html; charset=utf-8"> |
|---|
| 3 |
<meta content="text/javascript" http-equiv="content-script-type"> |
|---|
| 4 |
<title>luigi.adapter</title> |
|---|
| 5 |
<link rel="stylesheet" type="text/css" href="candydoc/style.css"> |
|---|
| 6 |
<!--[if lt IE 7]><link rel="stylesheet" type="text/css" href="candydoc/ie56hack.css"><![endif]--> |
|---|
| 7 |
<script language="JavaScript" src="candydoc/util.js" type="text/javascript"></script> |
|---|
| 8 |
<script language="JavaScript" src="candydoc/tree.js" type="text/javascript"></script> |
|---|
| 9 |
<script language="JavaScript" src="candydoc/explorer.js" type="text/javascript"></script> |
|---|
| 10 |
</head><body> |
|---|
| 11 |
<div id="tabarea"></div><div id="explorerclient"></div> |
|---|
| 12 |
<div id="content"><script>explorer.initialize("luigi.adapter");</script> |
|---|
| 13 |
<table class="content"> |
|---|
| 14 |
<tr><td id="docbody"><h1>luigi.adapter</h1><!-- Generated by Ddoc from adapter.d --> |
|---|
| 15 |
<br><br> |
|---|
| 16 |
|
|---|
| 17 |
<script>explorer.outline.incSymbolLevel();</script> |
|---|
| 18 |
<dl> |
|---|
| 19 |
<script>explorer.outline.writeEnabled = true;</script> |
|---|
| 20 |
<dt><span class="decl">interface |
|---|
| 21 |
<span class="currsymbol">InputAdapter</span> |
|---|
| 22 |
<script>explorer.outline.addDecl('InputAdapter');</script> |
|---|
| 23 |
|
|---|
| 24 |
; |
|---|
| 25 |
</span></dt> |
|---|
| 26 |
<script>explorer.outline.writeEnabled = false;</script> |
|---|
| 27 |
|
|---|
| 28 |
|
|---|
| 29 |
<dd>The |
|---|
| 30 |
<span class="currsymbol">InputAdapter</span> |
|---|
| 31 |
<script>explorer.outline.addDecl('InputAdapter');</script> |
|---|
| 32 |
|
|---|
| 33 |
interface allows the GUI to connect to various windowing toolkits. |
|---|
| 34 |
Luigi wants to be able to get input from whatever source possible, be it GLFW, GLUT, SDL, |
|---|
| 35 |
native Win32, GTK, wxWidgets, or whatever. Implementations of the input adapter |
|---|
| 36 |
allow Luigi and applications to pretend that all toolkits work the same way, regardless |
|---|
| 37 |
of the back-end chosen. In particular Luigi puts a facade of a Signals-and-Slots type |
|---|
| 38 |
of delivery mechanism on top of whatever the underlying mechanism is. |
|---|
| 39 |
<br><br> |
|---|
| 40 |
One common way simple toolkits like GLUT deliver input to applications is via callbacks. |
|---|
| 41 |
They usually allow one, and only one, function to be called. |
|---|
| 42 |
A concrete |
|---|
| 43 |
<span class="currsymbol">InputAdapter</span> |
|---|
| 44 |
<script>explorer.outline.addDecl('InputAdapter');</script> |
|---|
| 45 |
|
|---|
| 46 |
for one of these will override all callback methods and emit |
|---|
| 47 |
signals identifying all the events. |
|---|
| 48 |
<br><br> |
|---|
| 49 |
|
|---|
| 50 |
To implement a new adapter, derive from the |
|---|
| 51 |
<span class="currsymbol">InputAdapter</span> |
|---|
| 52 |
<script>explorer.outline.addDecl('InputAdapter');</script> |
|---|
| 53 |
|
|---|
| 54 |
interface, and mixin the |
|---|
| 55 |
InputAdapterMix. This sets up the external interface and the signals. |
|---|
| 56 |
|
|---|
| 57 |
<br><br> |
|---|
| 58 |
|
|---|
| 59 |
|
|---|
| 60 |
<script>explorer.outline.incSymbolLevel();</script> |
|---|
| 61 |
<dl></dl> |
|---|
| 62 |
<script>explorer.outline.decSymbolLevel();</script> |
|---|
| 63 |
|
|---|
| 64 |
|
|---|
| 65 |
</dd> |
|---|
| 66 |
</dl> |
|---|
| 67 |
<script>explorer.outline.decSymbolLevel();</script> |
|---|
| 68 |
|
|---|
| 69 |
|
|---|
| 70 |
</td></tr> |
|---|
| 71 |
<tr><td id="docfooter"> |
|---|
| 72 |
Page was generated with |
|---|
| 73 |
<img src="candydoc/img/candydoc.gif" style="vertical-align:middle; position:relative; top:-1px"> |
|---|
| 74 |
on Wed Dec 6 09:51:44 2006 |
|---|
| 75 |
|
|---|
| 76 |
</td></tr> |
|---|
| 77 |
</table> |
|---|
| 78 |
</div> |
|---|
| 79 |
<script> |
|---|
| 80 |
explorer.packageExplorer.addModule("luigi.base"); |
|---|
| 81 |
explorer.packageExplorer.addModule("luigi.arranger"); |
|---|
| 82 |
explorer.packageExplorer.addModule("luigi.adapter"); |
|---|
| 83 |
explorer.packageExplorer.addModule("luigi.adapters.gld"); |
|---|
| 84 |
explorer.packageExplorer.addModule("luigi.adapters.glfw"); |
|---|
| 85 |
explorer.packageExplorer.addModule("luigi.event"); |
|---|
| 86 |
explorer.packageExplorer.addModule("luigi.font"); |
|---|
| 87 |
explorer.packageExplorer.addModule("luigi.gldraw"); |
|---|
| 88 |
explorer.packageExplorer.addModule("luigi.gui"); |
|---|
| 89 |
explorer.packageExplorer.addModule("luigi.theme"); |
|---|
| 90 |
explorer.packageExplorer.addModule("luigi.themes.std"); |
|---|
| 91 |
explorer.packageExplorer.addModule("luigi.themes.dxut"); |
|---|
| 92 |
explorer.packageExplorer.addModule("luigi.opengl"); |
|---|
| 93 |
explorer.packageExplorer.addModule("luigi.signalobj"); |
|---|
| 94 |
explorer.packageExplorer.addModule("wrapres");</script> |
|---|
| 95 |
</body></html> |
|---|