git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.DevExpressVCL@55 05c56307-c608-d34a-929d-697000501d7a
110 lines
4.1 KiB
ObjectPascal
110 lines
4.1 KiB
ObjectPascal
{********************************************************************}
|
|
{ }
|
|
{ Developer Express Visual Component Library }
|
|
{ ExpressSkins Library }
|
|
{ }
|
|
{ Copyright (c) 2006-2009 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 dxSkinSharp;
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, dxGDIPlusApi, cxLookAndFeelPainters, dxSkinsCore, dxSkinsLookAndFeelPainter;
|
|
|
|
type
|
|
{ TdxSharpPainter }
|
|
TdxSharpPainter = 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 =
|
|
('Sharp');
|
|
SkinPainters: array[0..SkinsCount - 1] of TcxCustomLookAndFeelPainterClass =
|
|
(TdxSharpPainter);
|
|
|
|
implementation
|
|
|
|
{$R dxSkinSharp.res}
|
|
|
|
var
|
|
CachedPainterData: array[0..SkinsCount - 1] of TdxSkinLookAndFeelPainterInfo;
|
|
|
|
{ TdxSharpPainter }
|
|
|
|
class function TdxSharpPainter.CacheData: TdxSkinLookAndFeelPainterInfo;
|
|
begin
|
|
Result := CachedPainterData[0];
|
|
end;
|
|
|
|
class function TdxSharpPainter.InternalUnitName: string;
|
|
begin
|
|
Result := 'dxSkinSharp';
|
|
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.
|