Class TCastleControlContainer

Unit

Declaration

type TCastleControlContainer = class(TCastleContainer)

Description

TCastleContainer that cooperates with TCastleControl.

Source: lcl/castlecontrol.pas (line 95).

Hierarchy

Overview

Methods

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 procedure SystemSetMousePosition(const Value: TVector2); override;
Public function SaveScreen(const SaveRect: TRectangle): TRGBImage; override; overload;
Public function DesignedComponent(const ComponentName: String; const Required: Boolean = true): TComponent;

Properties

Published property DesignUrl: String read FDesignUrl write SetDesignUrl;

Description

Methods

Public constructor Create(AParent: TCastleControl); reintroduce;

This item has no description.

Source: lcl/castlecontrol.pas (line 106).

Public procedure Invalidate; override;

This item has no description. Showing description inherited from TCastleContainer.Invalidate.

Redraw the contents of of this window, at the nearest suitable time. This method does not redraw immediately (it does not call EventBeforeRender and EventRender inside), it only makes sure that they will be called very soon. Calling this on a closed container (with GLInitialized = False) is allowed and ignored.

Source: lcl/castlecontrol.pas (line 107).

Public function GLInitialized: boolean; override;

This item has no description. Showing description inherited from TCastleContainer.GLInitialized.

Is the OpenGL context initialized.

Source: lcl/castlecontrol.pas (line 108).

Public function PixelsWidth: Integer; override;

This item has no description. Showing description inherited from TCastleContainer.PixelsWidth.

Container size, in pixels. This is expressed in real device pixels. Prefer using UnscaledWidth instead of this. UnscaledWidth is more natural when you use UI scaling (UIScaling), and it's simply equal to PixelsWidth when UI scaling is not used.

Source: lcl/castlecontrol.pas (line 109).

Public function PixelsHeight: Integer; override;

This item has no description. Showing description inherited from TCastleContainer.PixelsHeight.

Container size, in pixels. This is expressed in real device pixels. Prefer using UnscaledHeight instead of this. UnscaledHeight is more natural when you use UI scaling (UIScaling), and it's simply equal to PixelsHeight when UI scaling is not used.

Source: lcl/castlecontrol.pas (line 110).

Public procedure SetInternalCursor(const Value: TMouseCursor); override;

This item has no description.

Source: lcl/castlecontrol.pas (line 111).

Public procedure SystemSetMousePosition(const Value: TVector2); override;

This item has no description. Showing description inherited from TCastleContainer.SystemSetMousePosition.

Descendants should override this to change the mouse position on explicit request (from engine or application code, e.g. mouse look repositions the mouse to the center of the screen). This is not called when mouse position changes because of user input, which is handled inside EventMotion. This is not called when the window / contained is closed.

Source: lcl/castlecontrol.pas (line 112).

Public function SaveScreen(const SaveRect: TRectangle): TRGBImage; override; overload;

This item has no description.

Source: lcl/castlecontrol.pas (line 113).

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.Container.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).

Source: lcl/castlecontrol.pas (line 126).

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 views (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.

Source: lcl/castlecontrol.pas (line 145).


Generated by PasDoc 0.17.0.snapshot.