Class TCastleControlContainer

Unit

Declaration

type TCastleControlContainer = class(TCastleContainer)

Description

TCastleContainer that cooperates with TCastleControl.

Hierarchy

Overview

Methods

Protected function GetMousePosition: TVector2; override;
Protected procedure SetMousePosition(const Value: TVector2); override;
Public constructor Create(AParent: TCastleControl); reintroduce;
Public procedure Invalidate; override;
Public function GLInitialized: boolean; override;
Public function PixelsWidth: Integer; override;
Public function PixelsHeight: Integer; override;
Public procedure SetInternalCursor(const Value: TMouseCursor); override;
Public function SaveScreen(const SaveRect: TRectangle): TRGBImage; override; overload;
Public procedure EventOpen(const OpenWindowsCount: Cardinal); override;
Public procedure EventClose(const OpenWindowsCount: Cardinal); override;
Public function EventPress(const Event: TInputPressRelease): boolean; override;
Public function EventRelease(const Event: TInputPressRelease): boolean; override;
Public procedure EventUpdate; override;
Public procedure EventMotion(const Event: TInputMotion); override;
Public procedure EventBeforeRender; override;
Public procedure EventRender; override;
Public procedure EventResize; override;
Public function DesignedComponent(const ComponentName: String; const Required: Boolean = true): TComponent;

Properties

Published property DesignUrl: String read FDesignUrl write SetDesignUrl;

Description

Methods

Protected function GetMousePosition: TVector2; override;
 
Protected procedure SetMousePosition(const Value: TVector2); override;
 
Public constructor Create(AParent: TCastleControl); reintroduce;
 
Public procedure Invalidate; override;
 
Public function GLInitialized: boolean; override;
 
Public function PixelsWidth: Integer; override;
 
Public function PixelsHeight: Integer; override;
 
Public procedure SetInternalCursor(const Value: TMouseCursor); override;
 
Public function SaveScreen(const SaveRect: TRectangle): TRGBImage; override; overload;
 
Public procedure EventOpen(const OpenWindowsCount: Cardinal); override;
 
Public procedure EventClose(const OpenWindowsCount: Cardinal); override;
 
Public function EventPress(const Event: TInputPressRelease): boolean; override;
 
Public function EventRelease(const Event: TInputPressRelease): boolean; override;
 
Public procedure EventUpdate; override;
 
Public procedure EventMotion(const Event: TInputMotion); override;
 
Public procedure EventBeforeRender; override;
 
Public procedure EventRender; override;
 
Public procedure EventResize; override;
 
Public function DesignedComponent(const ComponentName: String; const Required: Boolean = true): TComponent;

When the DesignUrl is set you can use this method to find loaded components. Like this:

MyButton := MyCastleControl.DesignedComponent('MyButton') as TCastleButton;

When the name is not found, raises exception (unless Required is False, then it returns Nil).

See also
DesignUrl
Load and show the design (.castle-user-interface file).

Properties

Published property DesignUrl: String read FDesignUrl write SetDesignUrl;

Load and show the design (.castle-user-interface file). You can reference the loaded components by name using DesignedComponent.

If you have more complicated control flow, we recommend to leave this property empty, and split your management into a number of states (TCastleView) instead. In this case, load design using TCastleView.DesignUrl. This property makes it however easy to use .castle-user-interface in simple cases, when TCastleControl just shows one UI.

The design loaded here is visible also at design-time, when editing the form in Lazarus/Delphi. Though we have no way to edit it now in Lazarus/Delphi (you have to use CGE editor to edit the design), so it is just a preview in this case.

See https://castle-engine.io/control_on_form for documentation how to use TCastleControl.


Generated by PasDoc 0.16.0.