Reference TTheme
Declared in Codebot.Graphics.pas on line 382
TTheme draws themed elements of controls. Select a control, surface, state, and font before drawing, then call Deselect.
TTheme = class
public
{ The control being drawn }
Control: TControl;
{ The surface being drawn on }
Surface: ISurface;
{ The font of the control being drawn }
Font: IFont;
{ The draw state of the element being drawn }
State: TDrawState;
{ Select a control, surface, state, and font for drawing }
class procedure Select(Control: TControl; Surface: ISurface; State: TDrawState; Font: TFont); overload;
{ Change the draw state }
class procedure Select(State: TDrawState); overload;
{ Temporarily use a theme by name until Deselect is called }
class procedure Select(ThemeName: string); overload;
{ Clear the selection and restore the original theme }
class procedure Deselect;
{ The display name of the theme }
class function Name: string;
{ Draw a button }
class procedure DrawButton(const Rect: TRectI); virtual; abstract;
{ Draw a thin flat button }
class procedure DrawButtonThin(const Rect: TRectI); virtual; abstract;
{ Draw a splitter }
class procedure DrawSplit(const Rect: TRectI; Orientation: TThemeOrientation); virtual; abstract;
{ Measure a thin slider thumb }
class function MeasureThumbThin(Orientation: TThemeOrientation): TPointI; virtual; abstract;
{ Draw a thin slider thumb }
class procedure DrawThumbThin(const Rect: TRectI; Orientation: TThemeOrientation); virtual; abstract;
{ Measure a control border }
class function MeasureBorder: TPointI; virtual; abstract;
{ Draw a control border }
class procedure DrawBorder(const Rect: TRectI); virtual; abstract;
{ Measure an edit border }
class function MeasureEditBorder: TPointI; virtual; abstract;
{ Draw an edit border }
class procedure DrawEditBorder(const Rect: TRectI); virtual; abstract;
{ Draw a header column with a sort indicator }
class procedure DrawHeaderColumn(const Rect: TRectI; Sort: TSortingOrder = soNone); virtual; abstract;
{ Draw a form header }
class procedure DrawHeader(Height: Integer = DefaulHeaderHeight); virtual; abstract;
{ Draw a shadow below a form header }
class procedure DrawHeaderShadow(Top: Integer = 0); virtual; abstract;
{ Draw a form footer }
class procedure DrawFooter(Height: Integer = DefaultFooterHeight); virtual; abstract;
{ Draw a size grip in a form footer }
class procedure DrawFooterGrip; virtual; abstract;
{ Selected is true when a control, surface, and font are selected }
class property Selected: Boolean read GetSelected;
end;See also
IFont in Codebot.Graphics.Types.pas
ISurface in Codebot.Graphics.Types.pas
TDrawState in Codebot.Graphics.Types.pas
TPointI in Codebot.Graphics.Types.pas
TRectI in Codebot.Graphics.Types.pas
TSortingOrder in Codebot.System.pas