File: CastleUIControls.TTouch.html

package info (click to toggle)
castle-game-engine 5.2.0-3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 185,428 kB
  • sloc: pascal: 260,781; cpp: 1,363; objc: 713; makefile: 537; xml: 496; sh: 480; php: 4
file content (92 lines) | stat: -rw-r--r-- 6,894 bytes parent folder | download
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
<!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: CastleUIControls: Object TTouch</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="TTouch"></a><h1 class="cio">Object TTouch</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>Methods</td><td>Properties</td></tr></table>
<a name="PasDoc-Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a  href="CastleUIControls.html">CastleUIControls</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TTouch = object(TObject)</code></p>
<h2 class="description">Description</h2>
<a name="PasDoc-Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TObject</li>
<li class="thisitem">TTouch</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="CastleUIControls.TTouch.html#FingerIndex">FingerIndex</a></b>: <a  href="CastleKeysMouse.html#TFingerIndex">TFingerIndex</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="CastleUIControls.TTouch.html#Position">Position</a></b>: <a  href="CastleVectors.html#TVector2Single">TVector2Single</a>;</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="FingerIndex"></a><code><b>FingerIndex</b>: <a  href="CastleKeysMouse.html#TFingerIndex">TFingerIndex</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Index of the finger/mouse. Always simply zero on traditional desktops with just a single mouse device. For devices with multi-touch (and/or possible multiple mouse pointers) this is actually useful to connect touches from different frames into a single move action. In other words: the FinderIndex stays constant while user moves a finger over a touch device.

<p>All the touches on a <a class="normal" href="CastleUIControls.TUIContainer.html#Touches">TUIContainer.Touches</a> array always have different <code>FingerIndex</code> value.

<p>Note that the index of <a class="normal" href="CastleUIControls.TTouch.html">TTouch</a> structure in <a class="normal" href="CastleUIControls.TUIContainer.html#Touches">TUIContainer.Touches</a> array is <i>not</i> necessarily equal to the <code>FingerIndex</code>. It cannot be &mdash; imagine you press 1st finger, then press 2nd finger, then let go of the 1st finger. The <code>FingerIndex</code> of the 2nd finger cannot change (to keep events sensibly reporting the same touch), so there has to be a temporary &quot;hole&quot; in FinderIndex numeration.</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="Position"></a><code><b>Position</b>: <a  href="CastleVectors.html#TVector2Single">TVector2Single</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Position of the touch over a device.

<p>Position (0, 0) is the window's bottom-left corner. This is consistent with how our 2D controls (<a class="normal" href="CastleUIControls.TUIControl.html">TUIControl</a>) treat all positions.

<p>The position is expressed as a float value, to support backends that can report positions with sub-pixel accuracy. For example GTK and Android can do it, although it depends on underlying hardware capabilities as well. The top-right corner or the top-right pixel has the coordinates (Width, Height). Note that if you want to actually draw something at the window's edge (for example, paint the top-right pixel of the window with some color), then the pixel coordinates are (Width - 1, Height - 1). The idea is that the whole top-right pixel is an area starting in (Width - 1, Height - 1) and ending in (Width, Height).

<p>Note that we have mouse capturing (when user presses and holds the mouse button, all the following mouse events are reported to this window, even when user moves the mouse outside of the window). This is typical of all window libraries (GTK, LCL etc.). This implicates that mouse positions are sometimes tracked also when mouse is outside the window, which means that mouse position may be outside the rectangle (0, 0) - (Width, Height), so it may even be negative.</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&amp;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:12</em>
</span>
</td></tr></table></body></html>