76 lines
1.8 KiB
ObjectPascal
76 lines
1.8 KiB
ObjectPascal
unit dxSkinSpringTime;
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, dxGDIPlusApi, cxLookAndFeelPainters, dxSkinsCore, dxSkinsLookAndFeelPainter;
|
|
|
|
type
|
|
{ TdxSpringtimePainter }
|
|
TdxSpringtimePainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
public
|
|
class function InternalUnitName: string; override;
|
|
end;
|
|
|
|
const
|
|
SkinsCount = 1;
|
|
SkinNames: array[0..SkinsCount - 1] of string =
|
|
('Springtime');
|
|
SkinPainters: array[0..SkinsCount - 1] of TcxCustomLookAndFeelPainterClass =
|
|
(TdxSpringtimePainter);
|
|
|
|
implementation
|
|
|
|
{$R dxSkinSpringTime.res}
|
|
|
|
var
|
|
CachedPainterData: array[0..SkinsCount - 1] of TdxSkinLookAndFeelPainterInfo;
|
|
|
|
{ TdxSpringtimePainter }
|
|
|
|
class function TdxSpringtimePainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[0];
|
|
end;
|
|
|
|
class function TdxSpringtimePainter.InternalUnitName: string;
|
|
begin
|
|
Result := 'dxSkinSpringTime';
|
|
end;
|
|
|
|
|
|
procedure RegisterPainters;
|
|
var
|
|
SkinIndex: Integer;
|
|
begin
|
|
if not CheckGdiPlus then Exit;
|
|
for SkinIndex := 0 to SkinsCount - 1 do
|
|
begin
|
|
CachedPainterData[SkinIndex] :=
|
|
TdxSkinLookAndFeelPainterInfo.Create(TdxSkin.Create(SkinNames[SkinIndex], True, HInstance));
|
|
GetExtendedStylePainters.Register(
|
|
SkinNames[SkinIndex], SkinPainters[SkinIndex], CachedPainterData[SkinIndex]);
|
|
end;
|
|
end;
|
|
|
|
procedure UnregisterPainters;
|
|
var
|
|
SkinIndex: Integer;
|
|
begin
|
|
if GetExtendedStylePainters = nil then Exit;
|
|
for SkinIndex := 0 to SkinsCount - 1 do
|
|
GetExtendedStylePainters.UnRegister(SkinNames[SkinIndex]);
|
|
end;
|
|
|
|
{$IFNDEF DXSKINDYNAMICLOADING}
|
|
initialization
|
|
dxUnitsLoader.AddUnit(@RegisterPainters, @UnregisterPainters);
|
|
|
|
finalization
|
|
dxUnitsLoader.RemoveUnit(@UnregisterPainters);
|
|
{$ENDIF}
|
|
|
|
end.
|