Class TCastleTheme

Unit

Declaration

type TCastleTheme = class(TObject)

Description

Theme for 2D GUI controls. Should only be used through the single global instance Theme.

Hierarchy

  • TObject
  • TCastleTheme

Overview

Fields

Public TooltipTextColor: TCastleColor;
Public TextColor: TCastleColor;
Public DisabledTextColor: TCastleColor;
Public MessageTextColor: TCastleColor;
Public MessageInputTextColor: TCastleColor;
Public BarEmptyColor: TVector3Byte;
Public BarFilledColor: TVector3Byte;
Public BackgroundColor: TCastleColor;
Public BackgroundOpaqueColor: TCastleColorRGB;
Public LoadingBackgroundColor: TCastleColor;
Public LoadingTextColor: TCastleColor;
Public ScrollBarWidth: Single;
Public MinimumScrollbarSliderHeight: Single;
Public InternalForceOpaqueBackground: boolean;
Public DefaultLabelWhite: Boolean deprecated 'if you want the labels to be white, adjust TCastleLabel.Color to White after creating every TCastleLabel';

Methods

Public constructor Create;
Public destructor Destroy; override;
Public procedure Draw(const Rect: TFloatRectangle; const ImageType: TThemeImage; const UIScale: Single = 1.0);
Public procedure Draw(const Rect: TFloatRectangle; const ImageType: TThemeImage; const UIScale: Single; const Color: TCastleColor);
Public procedure Draw(const Rect: TRectangle; const ImageType: TThemeImage; const UIScale: Single = 1.0);
Public procedure Draw(const Rect: TRectangle; const ImageType: TThemeImage; const UIScale: Single; const Color: TCastleColor);
Public procedure DialogsLight;

Properties

Public property Images[constImageType:TThemeImage]: TCastleImage read GetImages write SetImages;
Public property OwnsImages[constImageType:TThemeImage]: boolean read GetOwnsImages write SetOwnsImages;
Public property Corners[constImageType:TThemeImage]: TVector4Integer read GetCorners write SetCorners;
Public property MessageFont: TCastleFont read FMessageFont write SetMessageFont;
Public property OwnsMessageFont: boolean read FOwnsMessageFont write FOwnsMessageFont default true;

Description

Fields

Public TooltipTextColor: TCastleColor;
 
Public TextColor: TCastleColor;
 
Public DisabledTextColor: TCastleColor;
 
Public MessageTextColor: TCastleColor;
 
Public MessageInputTextColor: TCastleColor;
 
Public BarEmptyColor: TVector3Byte;
 
Public BarFilledColor: TVector3Byte;
 
Public BackgroundColor: TCastleColor;

Color layer displayed between modal dialogs (CastleMessages, CastleDialogStates, TGLModeFrozenScreen) and their background (state underneath or a screenshot). Default is (0, 0, 0, 0.25), making things underneath darker, which helps dialog to stand out.

Public BackgroundOpaqueColor: TCastleColorRGB;

Color used instead of BackgroundColor when InternalForceOpaqueBackground is used. You can only customize the RGB values, alpha is always 1, so the resulting color is always opaque. It's a dark gray color (0.33, 0.33, 0.33) by default.

Public LoadingBackgroundColor: TCastleColor;

Colors used when displaying the "Loading..." text when Android application is resuming. Note that you can also customize the tiLoading image. By default, LoadingBackgroundColor is black, and LoadingTextColor is white.

Public LoadingTextColor: TCastleColor;

Colors used when displaying the "Loading..." text when Android application is resuming. Note that you can also customize the tiLoading image. By default, LoadingBackgroundColor is black, and LoadingTextColor is white.

Public ScrollBarWidth: Single;

Width of scrollbar for TCastleScrollView.

Public MinimumScrollbarSliderHeight: Single;

Minumum scrollbar height, to be comfortably visible and draggable.

Public InternalForceOpaqueBackground: boolean;

Request modal boxes to use opaque color from BackgroundOpaqueColor.

This is internally set and unset by the CastleWindow exception handler (you should not modify this yourself). It allows to request showing opaque color under TCastleWindowBase.MessageOK and friends, or modal states by TGLModeFrozenScreen.

This allows to avoid making a screenshot (TStateDialog.BackgroundScreenshot may be false), which is safer when we want to show an exception (since the application may be in some dirty state, so it's better to avoid rendering user stuff).

Public DefaultLabelWhite: Boolean deprecated 'if you want the labels to be white, adjust TCastleLabel.Color to White after creating every TCastleLabel';

Warning: this symbol is deprecated: if you want the labels to be white, adjust TCastleLabel.Color to White after creating every TCastleLabel

 

Methods

Public constructor Create;
 
Public destructor Destroy; override;
 
Public procedure Draw(const Rect: TFloatRectangle; const ImageType: TThemeImage; const UIScale: Single = 1.0);

Draw the selected theme image on screen.

Parameters
Color
Color tint of the image. If you do not specify a color, white will be used, so image will be displayed as-is. Specifying a color means that image will be multiplied by it, just like for TDrawableImage.Color.
UIScale
Used to properly scale corners, passed to TDrawableImage.ScaleCorners. This parameter does not scale the place where image is displayed, to do this just scale the given Rect parameter yourself.
Public procedure Draw(const Rect: TFloatRectangle; const ImageType: TThemeImage; const UIScale: Single; const Color: TCastleColor);
 
Public procedure Draw(const Rect: TRectangle; const ImageType: TThemeImage; const UIScale: Single = 1.0);
 
Public procedure Draw(const Rect: TRectangle; const ImageType: TThemeImage; const UIScale: Single; const Color: TCastleColor);
 
Public procedure DialogsLight;

Set dialogs theme to light.

Properties

Public property Images[constImageType:TThemeImage]: TCastleImage read GetImages write SetImages;

2D GUI images, represented as TCastleImage. Although they all have sensible defaults, you can also change them at any time. Simply create TCastleImage instance (e.g. by LoadImage function) and assign it here. Be sure to adjust also OwnsImages if you want the theme to automatically free the image when it's no longer used.

The alpha channel of the image, if any, is automatically correctly used (for alpha test or alpha blending, see TDrawableImage).

Public property OwnsImages[constImageType:TThemeImage]: boolean read GetOwnsImages write SetOwnsImages;
 
Public property Corners[constImageType:TThemeImage]: TVector4Integer read GetCorners write SetCorners;

Corners that determine how image on Images is stretched when drawing by TCastleTheme.Draw method. Together with assigning Images, adjust also this property. It is used for images rendered using TDrawableImage.Draw3x3, it determines how the image is stretched. The corners are specified as 4D vector, order like in CSS: top, right, down, left.

Public property MessageFont: TCastleFont read FMessageFont write SetMessageFont;

Font used by dialogs. Leave Nil to use TUIContainer.DefaultFont.

Public property OwnsMessageFont: boolean read FOwnsMessageFont write FOwnsMessageFont default true;
 

Generated by PasDoc 0.15.0.