git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@21 05c56307-c608-d34a-929d-697000501d7a
227 lines
7.3 KiB
ObjectPascal
227 lines
7.3 KiB
ObjectPascal
{********************************************************************}
|
|
{ }
|
|
{ Developer Express Visual Component Library }
|
|
{ ExpressSkins Library }
|
|
{ }
|
|
{ Copyright (c) 2006-2007 Developer Express Inc. }
|
|
{ ALL RIGHTS RESERVED }
|
|
{ }
|
|
{ The entire contents of this file is protected by U.S. and }
|
|
{ International Copyright Laws. Unauthorized reproduction, }
|
|
{ reverse-engineering, and distribution of all or any portion of }
|
|
{ the code contained in this file is strictly prohibited and may }
|
|
{ result in severe civil and criminal penalties and will be }
|
|
{ prosecuted to the maximum extent possible under the law. }
|
|
{ }
|
|
{ RESTRICTIONS }
|
|
{ }
|
|
{ THIS SOURCE CODE AND ALL RESULTING INTERMEDIATE FILES }
|
|
{ (DCU, OBJ, DLL, ETC.) ARE CONFIDENTIAL AND PROPRIETARY TRADE }
|
|
{ SECRETS OF DEVELOPER EXPRESS INC. THE REGISTERED DEVELOPER IS }
|
|
{ LICENSED TO DISTRIBUTE THE EXPRESSSKINS AND ALL ACCOMPANYING }
|
|
{ VCL CONTROLS AS PART OF AN EXECUTABLE PROGRAM ONLY. }
|
|
{ }
|
|
{ THE SOURCE CODE CONTAINED WITHIN THIS FILE AND ALL RELATED }
|
|
{ FILES OR ANY PORTION OF ITS CONTENTS SHALL AT NO TIME BE }
|
|
{ COPIED, TRANSFERRED, SOLD, DISTRIBUTED, OR OTHERWISE MADE }
|
|
{ AVAILABLE TO OTHER INDIVIDUALS WITHOUT EXPRESS WRITTEN CONSENT }
|
|
{ AND PERMISSION FROM DEVELOPER EXPRESS INC. }
|
|
{ }
|
|
{ CONSULT THE END USER LICENSE AGREEMENT FOR INFORMATION ON }
|
|
{ ADDITIONAL RESTRICTIONS. }
|
|
{ }
|
|
{********************************************************************}
|
|
|
|
unit dxSkinsDefaultPainters;
|
|
|
|
{$I cxVer.inc}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, dxGDIPlusApi, cxLookAndFeelPainters, dxSkinsCore, dxSkinsLookAndFeelPainter;
|
|
|
|
type
|
|
{ TdxCaramelPainter }
|
|
TdxCaramelPainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
{ TdxiMaginaryPainter }
|
|
TdxiMaginaryPainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
{ TdxLilianPainter }
|
|
TdxLilianPainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
{ TdxMoneyTwinsPainter }
|
|
TdxMoneyTwinsPainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
{ TdxBlackPainter }
|
|
TdxBlackPainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
{ TdxBluePainter }
|
|
TdxBluePainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
{ TdxSilverPainter }
|
|
TdxSilverPainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
{ TdxOffice2007BlackPainter }
|
|
TdxOffice2007BlackPainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
{ TdxOffice2007BluePainter }
|
|
TdxOffice2007BluePainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
{ TdxOffice2007SilverPainter }
|
|
TdxOffice2007SilverPainter = class(TdxSkinLookAndFeelPainter)
|
|
protected
|
|
class function CacheData: TdxSkinLookAndFeelPainterInfo; override;
|
|
end;
|
|
|
|
const
|
|
SkinsCount = 10;
|
|
SkinNames: array[0..SkinsCount - 1] of ShortString =
|
|
('Caramel',
|
|
'iMaginary',
|
|
'Lilian',
|
|
'MoneyTwins',
|
|
'Black',
|
|
'Blue',
|
|
'Silver',
|
|
'Office2007Black',
|
|
'Office2007Blue',
|
|
'Office2007Silver');
|
|
SkinPainters: array[0..SkinsCount - 1] of TcxCustomLookAndFeelPainterClass =
|
|
(TdxCaramelPainter,
|
|
TdxiMaginaryPainter,
|
|
TdxLilianPainter,
|
|
TdxMoneyTwinsPainter,
|
|
TdxBlackPainter,
|
|
TdxBluePainter,
|
|
TdxSilverPainter,
|
|
TdxOffice2007BlackPainter,
|
|
TdxOffice2007BluePainter,
|
|
TdxOffice2007SilverPainter);
|
|
|
|
implementation
|
|
|
|
{$R dxSkinsDefaultPainters.res}
|
|
|
|
var
|
|
CachedPainterData: array[0..SkinsCount - 1] of TdxSkinLookAndFeelPainterInfo;
|
|
|
|
{ TdxCaramelPainter }
|
|
class function TdxCaramelPainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[0];
|
|
end;
|
|
|
|
{ TdxiMaginaryPainter }
|
|
class function TdxiMaginaryPainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[1];
|
|
end;
|
|
|
|
{ TdxLilianPainter }
|
|
class function TdxLilianPainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[2];
|
|
end;
|
|
|
|
{ TdxMoneyTwinsPainter }
|
|
class function TdxMoneyTwinsPainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[3];
|
|
end;
|
|
|
|
{ TdxBlackPainter }
|
|
class function TdxBlackPainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[4];
|
|
end;
|
|
|
|
{ TdxBluePainter }
|
|
class function TdxBluePainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[5];
|
|
end;
|
|
|
|
{ TdxSilverPainter }
|
|
class function TdxSilverPainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[6];
|
|
end;
|
|
|
|
{ TdxOffice2007BlackPainter }
|
|
class function TdxOffice2007BlackPainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[7];
|
|
end;
|
|
|
|
{ TdxOffice2007BluePainter }
|
|
class function TdxOffice2007BluePainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[8];
|
|
end;
|
|
|
|
{ TdxOffice2007SilverPainter }
|
|
class function TdxOffice2007SilverPainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[9];
|
|
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;
|
|
|
|
initialization
|
|
dxUnitsLoader.AddUnit(@RegisterPainters, @UnregisterPainters);
|
|
|
|
finalization
|
|
dxUnitsLoader.RemoveUnit(@UnregisterPainters);
|
|
|
|
end.
|