Class TCustomDevice

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type TCustomDevice = class abstract(TObject)

Description

Hardware device wrapper that handles communication between application and the video card. The device must be created from the factory and is one of the first objects that needs to be initialized before working with any other components.

Hierarchy

  • TObject
  • TCustomDevice

Overview

Fields

Protected FTechFeatures: TTechnologyFeatures;
Protected FTechFeatureVersion: Integer;
Protected FTechnology: TDeviceTechnology;
Protected FTechVersion: Integer;

Methods

Public function Clear(const ClearTypes: TClearTypes; const ColorValue: TIntColor; const DepthValue: Single = 1.0; const StencilValue: Cardinal = 0): Boolean; virtual; abstract;
Protected function GetDeviceContext: TCustomDeviceContext; virtual;

Properties

Public property Context: TCustomDeviceContext read GetDeviceContext;
Public property ImageFormatManager: TCustomImageFormatManager read GetImageFormatManager;
Public property OnRelease: TEventNotifier read FOnRelease;
Public property OnRestore: TEventNotifier read FOnRestore;
Public property Provider: TCustomDeviceProvider read FProvider;
Public property TechFeatures: TTechnologyFeatures read FTechFeatures;
Public property TechFeatureVersion: Integer read FTechFeatureVersion;
Public property Technology: TDeviceTechnology read FTechnology;
Public property TechVersion: Integer read FTechVersion;

Description

Fields

Protected FTechFeatures: TTechnologyFeatures;

Technology features are currently being provided by the device.

Protected FTechFeatureVersion: Integer;

The feature level version of current technology that is currently being used.

Protected FTechnology: TDeviceTechnology;

Type of technology that is currently being used.

Protected FTechVersion: Integer;

The version of current technology that is currently being used.

Methods

Public function Clear(const ClearTypes: TClearTypes; const ColorValue: TIntColor; const DepthValue: Single = 1.0; const StencilValue: Cardinal = 0): Boolean; virtual; abstract;

Clears the currently active rendering surface.

Protected function GetDeviceContext: TCustomDeviceContext; virtual;

This method should be implemented by derived classes to provide important device specific references.

Properties

Public property Context: TCustomDeviceContext read GetDeviceContext;

Device context that contains important device specific references.

Public property ImageFormatManager: TCustomImageFormatManager read GetImageFormatManager;

A shortcut to image format manager associated with this device's provider.

Public property OnRelease: TEventNotifier read FOnRelease;

Event notifier that signals when the device has been put into "released" state and all volatile resources are no longer valid and should be freed at earliest convenience.

Public property OnRestore: TEventNotifier read FOnRestore;

Event notifier that signals when the device has been put into "restored" state, where all volatile resources that had to be freed previously during "release" state can now be recreated and restored.

Public property Provider: TCustomDeviceProvider read FProvider;

Parent provider object that created this device instance.

Public property TechFeatures: TTechnologyFeatures read FTechFeatures;

Indicates what technology features are currently being provided by the device.

Public property TechFeatureVersion: Integer read FTechFeatureVersion;

Indicates the feature level version of current technology that is currently being used. The difference between this parameter and TechVersion is that the second parameter indicates type of technology being used (for example, DirectX 3D), while this one indicates the level of features available (for example, Direct3D 9.0c). The values here are specified in hexadecimal format. That is, a value of $213 would indicate version 2.1.3.

Public property Technology: TDeviceTechnology read FTechnology;

Indicates the type of technology that is currently being used.

Public property TechVersion: Integer read FTechVersion;

Indicates the version of current technology that is currently being used. The values are specified in hexadecimal format. That is, a value of $100 indicates version 1.0, while a value of $247 would indicate version 2.4.7. This value is used in combination with Technology, so if Technology is set to TDeviceTechnology.Direct3D and this value is set to $A10, it means that Direct3D 10.1 is being used.


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