Unit PXL.TypeDef

DescriptionUsesClasses, Interfaces, Objects and RecordsFunctions and ProceduresTypesConstantsVariables

Description

General integer, floating-point and string types optimized for each platform that are used throughout the entire framework.

Overview

Functions and Procedures

procedure Decrement_PXL_ClassInstances; inline;
procedure FreeMemAndNil(var Value);
procedure Increment_PXL_ClassInstances; inline;
procedure PopFPUState;
procedure PushClearFPUState;
procedure PushFPUState;

Types

PSizeFloat = ˆSizeFloat;
PSizeInt = ˆSizeInt;
PSizeUInt = ˆSizeUInt;
PStdChar = PChar ;
PStdString = ˆStdString;
PtrInt = NativeInt;
PtrUInt = NativeUInt;
PUniChar = PChar ;
PUniString = ˆUniString;
PUntypedHandle = ˆTUntypedHandle;
PVectorFloat = ˆVectorFloat;
PVectorInt = ˆVectorInt;
PVectorUInt = ˆVectorUInt;
SizeFloat = Double ;
SizeInt = PtrInt;
SizeUInt = PtrUInt;
StdChar = Char ;
StdString = string ;
TPXL_ClassInstances = Integer ;
TUntypedHandle = PtrInt;
UniChar = Char ;
UniString = UnicodeString ;
VectorFloat = Double ;
VectorInt = Integer ;
VectorUInt = Cardinal ;

Constants

VectorEpsilon: VectorFloat ;

Variables

PXL_ClassInstances: TPXL_ClassInstances ;

Description

Functions and Procedures

procedure Decrement_PXL_ClassInstances; inline;

Decrements the current number of PXL class instances in a thread-safe fashion. On small single-board devices such as Intel Galileo or Raspberry PI, this method is not thread-safe.

procedure FreeMemAndNil(var Value);

Checks whether the Value is Nil and if not, calls FreeMem on that value and then assigns Nil to it.

procedure Increment_PXL_ClassInstances; inline;

Increments the current number of PXL class instances in a thread-safe fashion. On small single-board devices such as Intel Galileo or Raspberry PI, this method is not thread-safe.

procedure PopFPUState;

Recovers FPU state from the stack previously saved by PushFPUState or PushClearFPUState and decrements internal stack pointer. If there are no items on the stack, this function does nothing.

procedure PushClearFPUState;

Similarly to PushFPUState, this saves the current FPU state to stack and increments internal stack pointer. Afterwards, this function disables all FPU exceptions. This is typically used with Direct3D rendering methods that require FPU exceptions to be disabled.

procedure PushFPUState;

Saves the current FPU state to stack and increments internal stack pointer. The stack has length of 16. If the stack becomes full, this function does nothing.

Types

PSizeFloat = ˆSizeFloat;

Pointer to SizeFloat.

PSizeInt = ˆSizeInt;

Pointer to SizeInt.

PSizeUInt = ˆSizeUInt;

Pointer to SizeUInt.

PStdChar = PChar ;

Pointer to StdChar.

PStdString = ˆStdString;

Pointer to StdString. It is not recommended to use pointer to strings, so this is mostly for internal use only.

PtrInt = NativeInt;

Pointer type represented as a signed integer.

PtrUInt = NativeUInt;

Pointer type represented as an unsigned integer.

PUniChar = PChar ;

Pointer to UniChar.

PUniString = ˆUniString;

Pointer to UniString. It is not recommended to use pointer to strings, so this is mostly for internal use only.

PUntypedHandle = ˆTUntypedHandle;

Pointer to TUntypedHandle.

PVectorFloat = ˆVectorFloat;

Pointer to VectorFloat.

PVectorInt = ˆVectorInt;

Pointer to VectorInt.

PVectorUInt = ˆVectorUInt;

Pointer to VectorUInt.

SizeFloat = Double ;

Floating-point data type that has the same size as Pointer depending on each platform. That is, on 32-bit platforms this is equivalent of Single, whereas on 64-bit platforms this is equivalent of Double.

SizeInt = PtrInt;

Signed integer data type having the same size as pointer on the given platform.

SizeUInt = PtrUInt;

Unsigned integer data type having the same size as pointer on the given platform.

StdChar = Char ;

General-purpose character type optimized for standard usage and base element of StdString.

StdString = string ;

General-purpose string type that is best optimized for standard usage such as file names, paths, XML tags and attributes and so on. It may also contain Unicode-encoded text, either UTF-8 or UTF-16 depending on platform and compiler.

TPXL_ClassInstances = Integer ;

Special data type that is meant for storing class instances in PXL_ClassInstances. Typically, this is a 32-bit signed integer.

TUntypedHandle = PtrInt;

Data type meant for storing cross-platform handles. This is a signed integer with the same size as pointer on the given platform.

UniChar = Char ;

General-purpose character type optimized for Unicode usage and is base element of UniString.

UniString = UnicodeString ;

General-purpose string type that is best optimized for Unicode usage. Typically, each character uses UTF-16 encoding, but it may vary depending on platform.

VectorFloat = Double ;

Floating-point data type that is commonly used in the framework. Typically, it is an equivalent of Single, unless PXL_SCIENTIFIC_MODE is enabled, in which case it becomes equivalent of Double.

VectorInt = Integer ;

Signed integer data type that is commonly used in the framework. Typically, it is 32-bit and an equivalent of Integer, unless PXL_SCIENTIFIC_MODE_MAX is enabled, in which case it becomes 64-bit and equivalent of Int64.

VectorUInt = Cardinal ;

Unsigned integer data type that is commonly used in the framework. Typically, it is 32-bit and an equivalent of Cardinal, unless PXL_SCIENTIFIC_MODE_MAX is enabled, in which case it becomes 64-bit and equivalent of UInt64.

Constants

VectorEpsilon: VectorFloat ;

A special value that determines precision limit when comparing vectors and coordinates.

Variables

PXL_ClassInstances: TPXL_ClassInstances ;

A special global variable that holds number of un-released PXL class instances and is meant for debugging purposes, especially when running under ARC in Delphi.


Copyright © 2000 - 2017 Yuriy Kotsarenko. Help files generated by PasDoc.