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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<title>Castle Game Engine: CastleKeysMouse: Class TKeysPressed</title>
<meta name="generator" content="PasDoc 0.13.0">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body>
<table class="container"><tr><td class="navigation">
<h2>Castle Game Engine</h2><p><a href="introduction.html" class="navigation">Introduction</a></p><p><a href="AllUnits.html" class="navigation">Units</a></p><p><a href="ClassHierarchy.html" class="navigation">Class Hierarchy</a></p><p><a href="AllClasses.html" class="navigation">Classes, Interfaces, Objects and Records</a></p><p><a href="AllTypes.html" class="navigation">Types</a></p><p><a href="AllVariables.html" class="navigation">Variables</a></p><p><a href="AllConstants.html" class="navigation">Constants</a></p><p><a href="AllFunctions.html" class="navigation">Functions and Procedures</a></p><p><a href="AllIdentifiers.html" class="navigation">Identifiers</a></p></td><td class="content">
<a name="TKeysPressed"></a><h1 class="cio">Class TKeysPressed</h1>
<table class="sections wide_list">
<tr>
<td><a class="section" href="#PasDoc-Description">Description</a></td><td><a class="section" href="#PasDoc-Hierarchy">Hierarchy</a></td><td><a class="section" href="#PasDoc-Fields">Fields</a></td><td><a class="section" href="#PasDoc-Methods">Methods</a></td><td><a class="section" href="#PasDoc-Properties">Properties</a></td></tr></table>
<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a href="CastleKeysMouse.html">CastleKeysMouse</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TKeysPressed = class(TObject)</code></p>
<h2 class="description">Description</h2>
<p>
Tracking the "pressed" state of keys. Allows you to query is key (<a class="normal" href="CastleKeysMouse.html#TKey">TKey</a>) pressed, and is some character (Char type) pressed.</p>
<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TObject</li>
<li class="thisitem">TKeysPressed</li></ul><h2 class="overview">Overview</h2>
<a name="PasDoc-Fields"></a><h3 class="summary">Fields</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a href="CastleKeysMouse.TKeysPressed.html#Keys">Keys</a></b>: <a href="CastleKeysMouse.html#TKeysBooleans">TKeysBooleans</a>;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a href="CastleKeysMouse.TKeysPressed.html#Characters">Characters</a></b>: <a href="CastleKeysMouse.html#TCharactersBooleans">TCharactersBooleans</a>;</code></td>
</tr>
</table>
<a name="PasDoc-Methods"></a><h3 class="summary">Methods</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>function <b><a href="CastleKeysMouse.TKeysPressed.html#Modifiers">Modifiers</a></b>: <a href="CastleKeysMouse.html#TModifierKeys">TModifierKeys</a>;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a href="CastleKeysMouse.TKeysPressed.html#KeyDown">KeyDown</a></b>(const Key: <a href="CastleKeysMouse.html#TKey">TKey</a>; const CharKey: char);</code></td>
</tr>
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a href="CastleKeysMouse.TKeysPressed.html#KeyUp">KeyUp</a></b>(const Key: <a href="CastleKeysMouse.html#TKey">TKey</a>; out CharKey: char);</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>procedure <b><a href="CastleKeysMouse.TKeysPressed.html#Clear">Clear</a></b>;</code></td>
</tr>
</table>
<a name="PasDoc-Properties"></a><h3 class="summary">Properties</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>property <b><a href="CastleKeysMouse.TKeysPressed.html#Items">Items</a></b> [Key:<a href="CastleKeysMouse.html#TKey">TKey</a>]: boolean read GetItems;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Fields</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Keys"></a><code><b>Keys</b>: <a href="CastleKeysMouse.html#TKeysBooleans">TKeysBooleans</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Check is a key (<a class="normal" href="CastleKeysMouse.html#TKey">TKey</a>) pressed.
<p>This array is read-only from outside of this class! Always Keys[K_None] = false.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Characters"></a><code><b>Characters</b>: <a href="CastleKeysMouse.html#TCharactersBooleans">TCharactersBooleans</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Check is a character pressed.
<p>This array is read-only from outside of this class! Always Characters[#0] = false.
<p>Note that since a given character may be generated by various key combinations, this doesn't work as reliably as <a class="normal" href="CastleKeysMouse.TKeysPressed.html#Keys">Keys</a> array. For example, consider pressing a, then shift, then releasing a — for a short time character 'A', and not 'a', should be pressed.
<p>Although we do our best (have some mapping tables to track characters), and in practice this works Ok. But still checking for keys on <a class="normal" href="CastleKeysMouse.TKeysPressed.html#Keys">Keys</a> array, when possible, is advised.</p>
</td></tr>
</table>
<h3 class="detail">Methods</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Modifiers"></a><code>function <b>Modifiers</b>: <a href="CastleKeysMouse.html#TModifierKeys">TModifierKeys</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Check which modifier keys are pressed. The result it based on current Keys[K_Ctrl], Keys[K_Shift] etc. values.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="KeyDown"></a><code>procedure <b>KeyDown</b>(const Key: <a href="CastleKeysMouse.html#TKey">TKey</a>; const CharKey: char);</code></td>
</tr>
<tr><td colspan="2">
<p>
Call when key is pressed. Pass <a class="normal" href="CastleKeysMouse.html#TKey">TKey</a>, and corresponding character (Char).
<p>Pass Key = K_None if this is not representable as <a class="normal" href="CastleKeysMouse.html#TKey">TKey</a>, pass CharKey = #0 if this is not representable as char. But never pass both Key = K_None and CharKey = #0 (this would have no meaning).</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="KeyUp"></a><code>procedure <b>KeyUp</b>(const Key: <a href="CastleKeysMouse.html#TKey">TKey</a>; out CharKey: char);</code></td>
</tr>
<tr><td colspan="2">
<p>
Call when key is released. Never pass Key = K_None here.
<p>It returns which character was released as a consequence of this key release.</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Clear"></a><code>procedure <b>Clear</b>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Mark all keys as released. That is, this sets all <a class="normal" href="CastleKeysMouse.TKeysPressed.html#Keys">Keys</a> and <a class="normal" href="CastleKeysMouse.TKeysPressed.html#Characters">Characters</a> items to <code>False</code>. Also resets internal arrays used to track <a class="normal" href="CastleKeysMouse.TKeysPressed.html#Characters">Characters</a> from <a class="normal" href="CastleKeysMouse.TKeysPressed.html#KeyDown">KeyDown</a> and <a class="normal" href="CastleKeysMouse.TKeysPressed.html#KeyUp">KeyUp</a>.</p>
</td></tr>
</table>
<h3 class="detail">Properties</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a href="legend.html"><img src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Items"></a><code>property <b>Items</b> [Key:<a href="CastleKeysMouse.html#TKey">TKey</a>]: boolean read GetItems;</code></td>
</tr>
<tr><td colspan="2">
<p>
Check is a key (<a class="normal" href="CastleKeysMouse.html#TKey">TKey</a>) pressed.
<p>Returns the same values as are in the <a class="normal" href="CastleKeysMouse.TKeysPressed.html#Keys">Keys</a> table. Although this is more comfortable: it's a default property of this class, so you can write simply <code>KeysPressed[K_X]</code> instead of <code>KeysPressed.Keys[K_X]</code>.</p>
</td></tr>
</table>
<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(["trackPageView"]);
_paq.push(["enableLinkTracking"]);
(function() {
var u=(("https:" == document.location.protocol) ? "https" : "http") + "://michalis.ii.uni.wroc.pl/piwik-castle-engine/";
_paq.push(["setTrackerUrl", u+"piwik.php"]);
_paq.push(["setSiteId", "1"]);
var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Piwik Code -->
<noscript>
<!-- Piwik Image Tracker -->
<img src="http://michalis.ii.uni.wroc.pl/piwik-castle-engine/piwik.php?idsite=1&rec=1" style="border:0" alt="" />
<!-- End Piwik -->
</noscript>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a href="http://pasdoc.sourceforge.net/">PasDoc 0.13.0</a> on 2015-06-15 04:43:10</em>
</span>
</td></tr></table></body></html>
|