Class TAbstractKeyDeviceSensorNode

Unit

Declaration

type TAbstractKeyDeviceSensorNode = class(TAbstractSensorNode)

Description

Base type for all sensor node types that operate using key devices.

Hierarchy

Overview

Methods

Public procedure KeyDown(const Key: TKey; const KeyString: String; const Time: TX3DTime); virtual;
Public procedure KeyUp(const Key: TKey; const KeyString: String; const Time: TX3DTime); virtual;
Public procedure CreateNode; override;
Public class function ClassX3DType: String; override;

Description

Methods

Public procedure KeyDown(const Key: TKey; const KeyString: String; const Time: TX3DTime); virtual;

Send key down/up events.

This is used internally by TCastleSceneCore to notify this key sensor that it should generate proper X3D events.

Semantics follow TInputPressRelease behavior for EventType = itKey. This means that

- Key may be keyNone (if not representable as TKey)

- KeyString may be '' (if not representable as String)

- But you cannot have both (Key=keyNone) and (KeyString='') at the same time. At least one of them must contain something useful.

- key presses are affected by the "key repeat" feature of the OS (windowing system actually), so when user holds down a key — we get many key down messages.

- KeyString is a UTF-8 encoded String representation of the key user pressed.

Public procedure KeyUp(const Key: TKey; const KeyString: String; const Time: TX3DTime); virtual;

This item has no description.

Public procedure CreateNode; override;

Create node fields and events.

Public class function ClassX3DType: String; override;

This item has no description. Showing description inherited from TX3DNode.ClassX3DType.

Node type name in VRML/X3D, for this class. Normal VRML/X3D node classes should override this to return something non-empty, and then X3DType automatically will return the same value.

Empty for classes that don't have a hardcoded VRML/X3D node name, like a special TX3DUnknownNode. Such special classes should override then X3DType to return actual non-empty name there.

You usually should call X3DType. The only use of this method is that it works on classes (it's "class function"), without needing at actual instance.


Generated by PasDoc 0.16.0-snapshot.