git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.SpTBXLib@4 aa3591e4-a9f2-482a-ba07-9d38a056ee4e
2172 lines
103 KiB
ObjectPascal
2172 lines
103 KiB
ObjectPascal
unit SpTBXDefaultSkins;
|
|
|
|
{==============================================================================
|
|
Version 2.4.4
|
|
|
|
The contents of this file are subject to the SpTBXLib License; you may
|
|
not use or distribute this file except in compliance with the
|
|
SpTBXLib License.
|
|
A copy of the SpTBXLib License may be found in SpTBXLib-LICENSE.txt or at:
|
|
http://www.silverpointdevelopment.com/sptbxlib/SpTBXLib-LICENSE.htm
|
|
|
|
Alternatively, the contents of this file may be used under the terms of the
|
|
Mozilla Public License Version 1.1 (the "MPL v1.1"), in which case the provisions
|
|
of the MPL v1.1 are applicable instead of those in the SpTBXLib License.
|
|
A copy of the MPL v1.1 may be found in MPL-LICENSE.txt or at:
|
|
http://www.mozilla.org/MPL/
|
|
|
|
If you wish to allow use of your version of this file only under the terms of
|
|
the MPL v1.1 and not to allow others to use your version of this file under the
|
|
SpTBXLib License, indicate your decision by deleting the provisions
|
|
above and replace them with the notice and other provisions required by the
|
|
MPL v1.1. If you do not delete the provisions above, a recipient may use your
|
|
version of this file under either the SpTBXLib License or the MPL v1.1.
|
|
|
|
Software distributed under the License is distributed on an "AS IS" basis,
|
|
WITHOUT WARRANTY OF ANY KIND, either expressed or implied. See the License for
|
|
the specific language governing rights and limitations under the License.
|
|
|
|
The initial developer of this code is Robert Lee.
|
|
|
|
Requirements:
|
|
For Delphi/C++Builder 2009 or newer:
|
|
- Jordan Russell's Toolbar 2000
|
|
http://www.jrsoftware.org
|
|
For Delphi/C++Builder 7-2007:
|
|
- Jordan Russell's Toolbar 2000
|
|
http://www.jrsoftware.org
|
|
- Troy Wolbrink's TNT Unicode Controls
|
|
http://www.tntware.com/delphicontrols/unicode/
|
|
|
|
History:
|
|
2 December 2009 - version 2.4.4
|
|
- No changes.
|
|
|
|
13 September 2009 - version 2.4.3
|
|
- No changes.
|
|
|
|
8 May 2009 - version 2.4.2
|
|
- No changes.
|
|
|
|
15 March 2009 - version 2.4.1
|
|
- No changes.
|
|
|
|
17 January 2009 - version 2.4
|
|
- No changes.
|
|
|
|
26 September 2008 - version 2.3
|
|
- No changes.
|
|
|
|
29 July 2008 - version 2.2
|
|
- Fixed incorrect TRGBQuadArray declaration, thanks to Arvid
|
|
for reporting this.
|
|
- Fixed incorrect gradients in Office 2003 skins, thanks to
|
|
David for reporting this.
|
|
- Fixed Vista painting bug, the menu checkboxes are stretched
|
|
by the themes API, this doesn't happen on XP, thanks to
|
|
Arvid for reporting this.
|
|
|
|
26 June 2008 - version 2.1
|
|
- New skin added: Aluminum, thanks to Pete for his contribution.
|
|
|
|
3 May 2008 - version 2.0
|
|
- No changes.
|
|
|
|
2 April 2008 - version 1.9.5
|
|
- No changes.
|
|
|
|
3 February 2008 - version 1.9.4
|
|
- No changes.
|
|
|
|
19 January 2008 - version 1.9.3
|
|
- New skin added: Human.
|
|
|
|
26 December 2007 - version 1.9.2
|
|
- No changes.
|
|
|
|
1 December 2007 - version 1.9.1
|
|
- No changes.
|
|
|
|
20 November 2007 - version 1.9
|
|
- Initial release.
|
|
|
|
==============================================================================}
|
|
|
|
interface
|
|
|
|
{$BOOLEVAL OFF} // Unit depends on short-circuit boolean evaluation
|
|
|
|
uses
|
|
Windows, Messages, Classes, SysUtils, Graphics, Controls, SpTBXSkins;
|
|
|
|
type
|
|
{ Skins }
|
|
|
|
TSpTBXAluminumColors = array[0..3] of TColor;
|
|
|
|
TSpTBXAluminumSkin = class(TSpTBXSkinOptions)
|
|
private
|
|
procedure SetDefaultColorScheme(const Value: TSpTBXLunaScheme);
|
|
protected
|
|
FColors: TSpTBXAluminumColors;
|
|
FDefaultColorScheme: TSpTBXLunaScheme;
|
|
FLightMetalColor: TColor;
|
|
FDarkMetalColor: TColor;
|
|
FRoughness: Integer;
|
|
procedure FillColors; virtual;
|
|
function GetBrushMetalColor(Component: TSpTBXSkinComponentsType; State: TSpTBXSkinStatesType): TColor; virtual;
|
|
public
|
|
constructor Create; override;
|
|
destructor Destroy; override;
|
|
procedure FillOptions; override;
|
|
procedure PaintBackground(ACanvas: TCanvas; ARect: TRect; Component: TSpTBXSkinComponentsType; State: TSpTBXSkinStatesType; Background, Borders: Boolean; Vertical: Boolean = False; ForceRectBorders: TAnchors = []); override;
|
|
property LightMetalColor: TColor read FLightMetalColor write FLightMetalColor;
|
|
property DarkMetalColor: TColor read FDarkMetalColor write FDarkMetalColor;
|
|
property DefaultColorScheme: TSpTBXLunaScheme read FDefaultColorScheme write SetDefaultColorScheme default lusUnknown;
|
|
end;
|
|
|
|
TSpTBXAthenSkin = class(TSpTBXSkinOptions)
|
|
public
|
|
procedure FillOptions; override;
|
|
end;
|
|
|
|
TSpTBXDreamSkin = class(TSpTBXSkinOptions)
|
|
public
|
|
procedure FillOptions; override;
|
|
end;
|
|
|
|
TSpTBXEosSkin = class(TSpTBXSkinOptions)
|
|
public
|
|
procedure FillOptions; override;
|
|
end;
|
|
|
|
TSpTBXHumanSkin = class(TSpTBXSkinOptions)
|
|
public
|
|
procedure FillOptions; override;
|
|
procedure PaintBackground(ACanvas: TCanvas; ARect: TRect; Component: TSpTBXSkinComponentsType; State: TSpTBXSkinStatesType; Background, Borders: Boolean; Vertical: Boolean = False; ForceRectBorders: TAnchors = []); override;
|
|
end;
|
|
|
|
TSpTBXLeopardSkin = class(TSpTBXSkinOptions)
|
|
public
|
|
procedure FillOptions; override;
|
|
procedure PaintBackground(ACanvas: TCanvas; ARect: TRect; Component: TSpTBXSkinComponentsType; State: TSpTBXSkinStatesType; Background, Borders: Boolean; Vertical: Boolean = False; ForceRectBorders: TAnchors = []); override;
|
|
end;
|
|
|
|
TSpTBXXitoSkin = class(TSpTBXSkinOptions)
|
|
public
|
|
procedure FillOptions; override;
|
|
end;
|
|
|
|
{ Office Skins }
|
|
|
|
TSpTBXOfficeXPSkin = class(TSpTBXSkinOptions)
|
|
public
|
|
procedure FillOptions; override;
|
|
end;
|
|
|
|
TSpTBXOffice2003Colors = array[0..22] of TColor;
|
|
|
|
TSpTBXOffice2003Skin = class(TSpTBXSkinOptions)
|
|
private
|
|
procedure SetDefaultColorScheme(const Value: TSpTBXLunaScheme);
|
|
protected
|
|
FColors: TSpTBXOffice2003Colors;
|
|
FDefaultColorScheme: TSpTBXLunaScheme;
|
|
procedure FillColors; virtual;
|
|
public
|
|
constructor Create; override;
|
|
procedure FillOptions; override;
|
|
property DefaultColorScheme: TSpTBXLunaScheme read FDefaultColorScheme write SetDefaultColorScheme default lusUnknown;
|
|
end;
|
|
|
|
TSpTBXOffice2007Colors = array[0..17] of TColor;
|
|
|
|
TSpTBXOffice2007Skin = class(TSpTBXSkinOptions)
|
|
protected
|
|
FColors: TSpTBXOffice2007Colors;
|
|
procedure FillColors; virtual; abstract;
|
|
public
|
|
procedure FillOptions; override;
|
|
end;
|
|
|
|
TSpTBXOffice2007BlueSkin = class(TSpTBXOffice2007Skin)
|
|
protected
|
|
procedure FillColors; override;
|
|
end;
|
|
|
|
TSpTBXOffice2007BlackSkin = class(TSpTBXOffice2007Skin)
|
|
protected
|
|
procedure FillColors; override;
|
|
end;
|
|
|
|
TSpTBXOffice2007SilverSkin = class(TSpTBXOffice2007Skin)
|
|
protected
|
|
procedure FillColors; override;
|
|
end;
|
|
|
|
implementation
|
|
|
|
uses
|
|
Math;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ Brushed Fill }
|
|
|
|
const
|
|
THREAD_CACHE_SIZE = 16;
|
|
NUM_TEMPLATES = 8;
|
|
MIN_TEMPLATE_SIZE = 100;
|
|
MAX_TEMPLATE_SIZE = 200;
|
|
NUM_RANDTHREADS = 1024;
|
|
|
|
type
|
|
PRGBQuad = ^TRGBQuad;
|
|
TRGBQuad = Integer;
|
|
PRGBQuadArray = ^TRGBQuadArray;
|
|
TRGBQuadArray = array [Byte] of TRGBQuad;
|
|
TThreadCacheItem = record
|
|
BaseColor: TColorRef;
|
|
Roughness: Integer;
|
|
Bitmaps: array [0..NUM_TEMPLATES - 1] of HBITMAP;
|
|
end;
|
|
|
|
var
|
|
ThreadTemplates: array of array of Integer;
|
|
RandThreadIndex: array of Integer;
|
|
RandThreadPositions: array of Integer;
|
|
ThreadCache: array of TThreadCacheItem;
|
|
NextCacheEntry: Integer = 0;
|
|
|
|
function GetBGR(C: TColorRef): Cardinal;
|
|
asm
|
|
MOV ECX,EAX // this function swaps R and B bytes in ABGR
|
|
SHR EAX,16
|
|
XCHG AL,CL
|
|
MOV AH,$FF // and writes $FF into A component }
|
|
SHL EAX,16
|
|
MOV AX,CX
|
|
end;
|
|
|
|
procedure InitializeBrushedFill;
|
|
const
|
|
Pi = 3.14159265358987;
|
|
var
|
|
TemplateIndex, Size, I, V, V1, V2: Integer;
|
|
T, R12, R13, R14, R21, R22, R23, R24: Single;
|
|
begin
|
|
|
|
SetLength(ThreadTemplates, NUM_TEMPLATES);
|
|
SetLength(RandThreadIndex, NUM_RANDTHREADS);
|
|
SetLength(RandThreadPositions, NUM_RANDTHREADS);
|
|
|
|
{ Make thread templates }
|
|
for TemplateIndex := 0 to NUM_TEMPLATES - 1 do begin
|
|
Size := (MIN_TEMPLATE_SIZE + Random(MAX_TEMPLATE_SIZE - MIN_TEMPLATE_SIZE + 1)) div 2;
|
|
SetLength(ThreadTemplates[TemplateIndex], Size * 2);
|
|
R12 := Random * 2 * Pi;
|
|
R13 := Random * 2 * Pi;
|
|
R14 := Random * 2 * Pi;
|
|
R21 := Random * 2 * Pi;
|
|
R22 := Random * 2 * Pi;
|
|
R23 := Random * 2 * Pi;
|
|
R24 := Random * 2 * Pi;
|
|
for I := 0 to Size - 1 do begin
|
|
T := 2 * Pi * I / Size;
|
|
V1 := Round(150 * Sin(T) + 100 * Sin(2 * T + R12) + 50 * Sin(3 * T + R13) + 20 * Sin(4 * T + R14));
|
|
if V1 > 255 then V1 := 255;
|
|
if V1 < -255 then V1 := -255;
|
|
|
|
V2 := Round(150 * Sin(T + R21) + 100 * Sin(2 * T + R22) + 50 * Sin(3 * T + R23) + 20 * Sin(4 * T + R24));
|
|
if V2 > 255 then V2 := 255;
|
|
if V2 < -255 then V2 := -255;
|
|
|
|
if Abs(V2 - V1) > 300 then begin
|
|
V := (V1 + V2) div 2;
|
|
V1 := V - 150;
|
|
V2 := V + 150;
|
|
end;
|
|
|
|
ThreadTemplates[TemplateIndex][I * 2] := Min(V1, V2);
|
|
ThreadTemplates[TemplateIndex][I * 2 + 1] := Max(V1, V2);
|
|
end;
|
|
end;
|
|
|
|
{ Initialize Rand arrays }
|
|
for I := 0 to NUM_RANDTHREADS- 1 do begin
|
|
RandThreadIndex[I] := Random(NUM_TEMPLATES);
|
|
V1 := Random(Length(ThreadTemplates[RandThreadIndex[I]])) and not $1;
|
|
if Odd(I) then Inc(V1);
|
|
RandThreadPositions[I] := V1;
|
|
end;
|
|
end;
|
|
|
|
procedure ClearCacheItem(var CacheItem: TThreadCacheItem);
|
|
var
|
|
I: Integer;
|
|
begin
|
|
with CacheItem do begin
|
|
BaseColor := $FFFFFFFF;
|
|
Roughness := -1;
|
|
for I := NUM_TEMPLATES- 1 downto 0 do
|
|
if Bitmaps[I] <> 0 then begin
|
|
DeleteObject(Bitmaps[I]);
|
|
Bitmaps[I] := 0;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure ResetBrushedFillCache;
|
|
var
|
|
I: Integer;
|
|
begin
|
|
{ Should be called each time the screen parameters change }
|
|
for I := High(ThreadCache) downto 0 do ClearCacheItem(ThreadCache[I]);
|
|
end;
|
|
|
|
procedure FinalizeBrushedFill;
|
|
begin
|
|
ResetBrushedFillCache;
|
|
SetLength(ThreadCache, 0);
|
|
ThreadCache := nil;
|
|
SetLength(RandThreadPositions, 0);
|
|
RandThreadPositions := nil;
|
|
SetLength(RandThreadIndex, 0);
|
|
RandThreadIndex := nil;
|
|
SetLength(ThreadTemplates, 0, 0);
|
|
ThreadTemplates := nil;
|
|
end;
|
|
|
|
procedure MakeCacheItem(var CacheItem: TThreadCacheItem; Color: TColorRef; Roughness: Integer);
|
|
var
|
|
TemplateIndex, Size, I, V: Integer;
|
|
CR, CG, CB: Integer;
|
|
R, G, B: Integer;
|
|
ScreenDC: HDC;
|
|
BMI: TBitmapInfo;
|
|
Bits: PRGBQuadArray;
|
|
DIBSection: HBITMAP;
|
|
DIBDC, CacheDC: HDC;
|
|
begin
|
|
ScreenDC := GetDC(0);
|
|
FillChar(BMI, SizeOf(TBitmapInfo), 0);
|
|
with BMI.bmiHeader do begin
|
|
biSize := SizeOf(TBitmapInfoHeader);
|
|
biPlanes := 1;
|
|
biCompression := BI_RGB;
|
|
biWidth := MAX_TEMPLATE_SIZE;
|
|
biHeight := -1;
|
|
biBitCount := 32;
|
|
end;
|
|
DIBSection := CreateDIBSection(0, BMI, DIB_RGB_COLORS, Pointer(Bits), 0, 0);
|
|
DIBDC := CreateCompatibleDC(0);
|
|
SelectObject(DIBDC, DIBSection);
|
|
CacheDC := CreateCompatibleDC(0);
|
|
|
|
CR := Color shl 8 and $FF00;
|
|
CG := Color and $FF00;
|
|
CB := Color shr 8 and $FF00;
|
|
try
|
|
for TemplateIndex := 0 to NUM_TEMPLATES - 1 do begin
|
|
CacheItem.BaseColor := Color;
|
|
CacheItem.Roughness := Roughness;
|
|
Size := Length(ThreadTemplates[TemplateIndex]);
|
|
|
|
if CacheItem.Bitmaps[TemplateIndex] = 0 then
|
|
CacheItem.Bitmaps[TemplateIndex] := CreateCompatibleBitmap(ScreenDC, Size, 1);
|
|
SelectObject(CacheDC, CacheItem.Bitmaps[TemplateIndex]);
|
|
|
|
for I := 0 to Size - 1 do begin
|
|
V := ThreadTemplates[TemplateIndex][I];
|
|
R := CR + V * Roughness;
|
|
G := CG + V * Roughness;
|
|
B := CB + V * Roughness;
|
|
if R < 0 then R := 0;
|
|
if G < 0 then G := 0;
|
|
if B < 0 then B := 0;
|
|
if R > $EF00 then R := $EF00;
|
|
if G > $EF00 then G := $EF00;
|
|
if B > $EF00 then B := $EF00;
|
|
Bits^[I] := (R and $FF00 + (G and $FF00) shl 8 + (B and $FF00) shl 16) shr 8;
|
|
end;
|
|
|
|
BitBlt(CacheDC, 0, 0, Size, 1, DIBDC, 0, 0, SRCCOPY);
|
|
end;
|
|
finally
|
|
DeleteDC(CacheDC);
|
|
DeleteDC(DIBDC);
|
|
DeleteObject(DIBSection);
|
|
ReleaseDC(0, ScreenDC);
|
|
end;
|
|
end;
|
|
|
|
function FindCacheItem(Color: TColorRef; Roughness: Integer): Integer;
|
|
begin
|
|
Result := High(ThreadCache);
|
|
while Result >= 0 do
|
|
if (ThreadCache[Result].BaseColor = Color) and (ThreadCache[Result].Roughness = Roughness) then
|
|
Exit
|
|
else
|
|
Dec(Result);
|
|
end;
|
|
|
|
function GetCacheItem(Color: TColorRef; Roughness: Integer): Integer;
|
|
begin
|
|
Result := FindCacheItem(Color, Roughness);
|
|
if Result >= 0 then
|
|
Exit
|
|
else begin
|
|
Result := NextCacheEntry;
|
|
if Result > High(ThreadCache) then begin
|
|
SetLength(ThreadCache, Result+ 1);
|
|
ClearCacheItem(ThreadCache[Result]);
|
|
end;
|
|
MakeCacheItem(ThreadCache[Result], Color, Roughness);
|
|
NextCacheEntry := (NextCacheEntry + 1) mod THREAD_CACHE_SIZE;
|
|
end;
|
|
end;
|
|
|
|
procedure BrushedFill(DC: HDC; Origin: PPoint; ARect: TRect; Color: TColor; Roughness: Integer);
|
|
const
|
|
ZeroOrigin: TPoint = (X: 0; Y: 0);
|
|
var
|
|
CR: TColorRef;
|
|
X, Y: Integer;
|
|
CacheIndex: Integer;
|
|
TemplateIndex: Integer;
|
|
CacheDC: HDC;
|
|
Size: Integer;
|
|
BoxR: TRect;
|
|
begin
|
|
if (Color = clNone) or not RectVisible(DC, ARect) then Exit;
|
|
CR := GetBGR(ColorToRGB(Color));
|
|
if Origin = nil then Origin := @ZeroOrigin;
|
|
if ThreadTemplates = nil then InitializeBrushedFill;
|
|
CacheIndex := GetCacheItem(CR, Roughness);
|
|
GetClipBox(DC, BoxR);
|
|
IntersectRect(ARect, ARect, BoxR);
|
|
SaveDC(DC);
|
|
IntersectClipRect(DC, ARect.Left, ARect.Top, ARect.Right, ARect.Bottom);
|
|
|
|
CacheDC := CreateCompatibleDC(0);
|
|
for Y := ARect.Top to ARect.Bottom - 1 do begin
|
|
TemplateIndex := RandThreadIndex[(65536 + Y - Origin.Y) mod NUM_RANDTHREADS];
|
|
Size := Length(ThreadTemplates[TemplateIndex]);
|
|
X := -RandThreadPositions[(65536 + Y - Origin.Y) mod NUM_RANDTHREADS] + Origin.X;
|
|
SelectObject(CacheDC, ThreadCache[CacheIndex].Bitmaps[TemplateIndex]);
|
|
while X < ARect.Right do begin
|
|
if X + Size >= ARect.Left then BitBlt(DC, X, Y, Size, 1, CacheDC, 0, 0, SRCCOPY);
|
|
Inc(X, Size);
|
|
end;
|
|
end;
|
|
DeleteDC(CacheDC);
|
|
RestoreDC(DC, -1);
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXAluminumSkin }
|
|
|
|
constructor TSpTBXAluminumSkin.Create;
|
|
begin
|
|
FRoughness := 12;
|
|
FDefaultColorScheme := lusUnknown;
|
|
inherited;
|
|
end;
|
|
|
|
destructor TSpTBXAluminumSkin.Destroy;
|
|
begin
|
|
FinalizeBrushedFill;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TSpTBXAluminumSkin.FillColors;
|
|
const
|
|
AluminumColors: array[lusBlue..lusGreen] of TSpTBXAluminumColors = (
|
|
($C56A31, // 0: Item borders
|
|
$E0D7D1, // 1: Item Checked
|
|
$E2B598, // 2: Item Pushed
|
|
$EED2C1), // 3: Item HotTrack
|
|
|
|
($BFB4B2, // 0: Item borders
|
|
$DDDCDC, // 1: Item Checked
|
|
$DFDAD9, // 2: Item Pushed
|
|
$ECE9E8), // 3: Item HotTrack
|
|
|
|
($70A093, // 0: Item borders
|
|
$D8DCDB, // 1: Item Checked
|
|
$B8D0C9, // 2: Item Pushed
|
|
$D4E3DF) // 3: Item HotTrack
|
|
);
|
|
var
|
|
Luna: TSpTBXLunaScheme;
|
|
begin
|
|
if FDefaultColorScheme <> lusUnknown then
|
|
Luna := FDefaultColorScheme
|
|
else begin
|
|
Luna := SpGetLunaScheme;
|
|
if Luna = lusUnknown then Luna := lusMetallic;
|
|
end;
|
|
|
|
FColors := AluminumColors[Luna];
|
|
FRoughness := 12;
|
|
FLightMetalColor := $C7C7C7;
|
|
FDarkMetalColor := $DFDFDF;
|
|
end;
|
|
|
|
procedure TSpTBXAluminumSkin.FillOptions;
|
|
begin
|
|
SkinName := 'Aluminum';
|
|
|
|
//---- Colors ----//
|
|
|
|
FillColors;
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone); // Dummy, uses BrushedFill
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(0, $F9F9F9, clNone, clNone, clNone);
|
|
Options(skncDockablePanel, sknsNormal).Borders.Fill(0, $C7C7C7, $C7C7C7, clWhite, clWhite);
|
|
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Body.Fill(1, clWhite, $D8D8D8, clNone, clNone);
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Borders.Fill(0, clWhite, $9F9F9F, clNone, clNone);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone); // Dummy, uses BrushedFill
|
|
Options(skncPanel, sknsNormal).Borders.Fill(2, FColors[0], FColors[0], clWhite, clWhite);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, $F9F9F9, clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, $7F7F7F, $7F7F7F, clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone); // Dummy, uses BrushedFill
|
|
|
|
Options(skncSplitter, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone); // Dummy, uses BrushedFill
|
|
|
|
Options(skncToolbar, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone); // Dummy, uses BrushedFill
|
|
Options(skncToolbar, sknsNormal).Borders.Fill(2, clWhite, $7F7F7F, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbar, skncMenuBar); // Dummy, uses BrushedFill
|
|
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, $808080, $808080, $C0C0C0, $DDD9D2);
|
|
|
|
Options(skncWindowTitleBar, sknsNormal).Body.Fill(1, clWhite, $D8D8D8, clNone, clNone);
|
|
|
|
//---- Elements ----//
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, $9F9F9F, clWhite, clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(0, FColors[3], clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(1, FColors[0], FColors[0], clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(0, FColors[2], clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(1, FColors[0], FColors[0], clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(0, FColors[1], clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(1, FColors[0], FColors[0], clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(0, FColors[2], clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(1, FColors[0], FColors[0], clNone, clNone);
|
|
|
|
Options(skncOpenToolbarItem, sknsNormal).Body.Fill(0, $ECECEC, clNone, clNone, clNone);
|
|
Options(skncOpenToolbarItem, sknsNormal).Borders.Fill(0, $7F7F7F, $7F7F7F, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuBarItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuItem);
|
|
|
|
Options(skncButton, sknsNormal).Body.Fill(1, $EFEFEF, $D1D1D1, clNone, clNone);
|
|
Options(skncButton, sknsNormal).Borders.Fill(1, $9F9F9F, $9F9F9F, $F7F7F7, $C7C7C7);
|
|
Options(skncButton, sknsDisabled).Body.Fill(1, $EFEFEF, $D1D1D1, clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(1, $9F9F9F, $9F9F9F, $F7F7F7, $C7C7C7);
|
|
Options(skncButton, sknsHotTrack).Body.Fill(1, $F2F2F2, $DDDDDD, clNone, clNone);
|
|
Options(skncButton, sknsHotTrack).Borders.Fill(1, $BABABA, $BABABA, $F8F8F8, $D6D6D6);
|
|
Options(skncButton, sknsPushed).Body.Fill(1, $D1D1D1, $EFEFEF, clNone, clNone);
|
|
Options(skncButton, sknsPushed).Borders.Fill(1, $9F9F9F, $9F9F9F, $C7C7C7, $F7F7F7);
|
|
Options(skncButton, sknsChecked).Body.Fill(1, $D1D1D1, $EFEFEF, clNone, clNone);
|
|
Options(skncButton, sknsChecked).Borders.Fill(1, $9F9F9F, $9F9F9F, $C7C7C7, $F7F7F7);
|
|
Options(skncButton, sknsCheckedAndHotTrack).Body.Fill(1, $D1D1D1, $EFEFEF, clNone, clNone);
|
|
Options(skncButton, sknsCheckedAndHotTrack).Borders.Fill(1, $9F9F9F, $9F9F9F, $C7C7C7, $F7F7F7);
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(20);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-20);
|
|
|
|
CopyOptions(skncToolbarItem, skncCheckBox);
|
|
Options(skncCheckBox, sknsNormal).Borders.Fill(1, $9F9F9F, $9F9F9F, clNone, clNone);
|
|
Options(skncCheckBox, sknsDisabled).Borders.Fill(1, $99A8AC, $99A8AC, clNone, clNone);
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, clNone, clNone, $9F9F9F, $9F9F9F);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, $99A8AC, $99A8AC);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, clNone, clNone, $9F9F9F, $9F9F9F);
|
|
|
|
CopyOptions(skncButton, skncEditButton);
|
|
Options(skncEditButton, sknsNormal).Reset;
|
|
|
|
//---- Tabs ----//
|
|
CopyOptions(skncToolbarItem, skncTab);
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Body.Fill(0, FColors[1], clNone, clNone, clNone);
|
|
Options(skncTabBackground, sknsNormal).Borders.Fill(0, FColors[0], FColors[0], clNone, clNone);
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(0, FColors[2], clNone, clNone, clNone);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(1, FColors[0], FColors[0], clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(0, FColors[3], clNone, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(1, FColors[0], FColors[0], clNone, clNone);
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Body.Fill(0, FColors[3], clNone, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsNormal).Borders.Fill(1, FColors[0], FColors[0], clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Body.Fill(0, FColors[1], clNone, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Borders.Fill(1, FColors[0], FColors[0], clNone, clNone);
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).Body.Fill(1, $EFEFEF, $D1D1D1, clNone, clNone);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, $F7F7F7, $C7C7C7, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(1, $F2F2F2, $DDDDDD, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, $F8F8F8, $D6D6D6, clNone, clNone);
|
|
Options(skncHeader, sknsPushed).Body.Fill(1, $D1D1D1, $EFEFEF, clNone, clNone);
|
|
Options(skncHeader, sknsPushed).Borders.Fill(0, $C7C7C7, $F7F7F7, clNone, clNone);
|
|
end;
|
|
|
|
function TSpTBXAluminumSkin.GetBrushMetalColor(Component: TSpTBXSkinComponentsType;
|
|
State: TSpTBXSkinStatesType): TColor;
|
|
begin
|
|
Result := clNone;
|
|
if Component in [skncDock, skncPanel, skncTabToolbar, skncStatusBar, skncSplitter] then
|
|
Result := FLightMetalColor
|
|
else
|
|
if Component in [skncToolbar, skncMenuBar] then
|
|
Result := FDarkMetalColor;
|
|
end;
|
|
|
|
procedure TSpTBXAluminumSkin.PaintBackground(ACanvas: TCanvas; ARect: TRect;
|
|
Component: TSpTBXSkinComponentsType; State: TSpTBXSkinStatesType;
|
|
Background, Borders, Vertical: Boolean; ForceRectBorders: TAnchors);
|
|
var
|
|
BackgroundRect: TRect;
|
|
Op: TSpTBXSkinOptionCategory;
|
|
BrushColor: TColor;
|
|
begin
|
|
BrushColor := GetBrushMetalColor(Component, State);
|
|
|
|
if BrushColor = clNone then
|
|
inherited
|
|
else begin
|
|
Op := Options(Component, State);
|
|
|
|
if Op.Borders.IsEmpty then
|
|
Borders := False;
|
|
if Op.Body.IsEmpty then
|
|
Background := False;
|
|
|
|
if Background then begin
|
|
BackgroundRect := ARect;
|
|
if Borders then
|
|
InflateRect(BackgroundRect, -1, -1);
|
|
BrushedFill(ACanvas.Handle, nil, BackgroundRect, BrushColor, FRoughness);
|
|
end;
|
|
|
|
if Borders then
|
|
SpPaintSkinBorders(ACanvas, ARect, Op, ForceRectBorders);
|
|
end;
|
|
end;
|
|
|
|
procedure TSpTBXAluminumSkin.SetDefaultColorScheme(const Value: TSpTBXLunaScheme);
|
|
begin
|
|
if FDefaultColorScheme <> Value then begin
|
|
FDefaultColorScheme := Value;
|
|
Reset;
|
|
FillOptions;
|
|
end;
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXAthenSkin }
|
|
|
|
procedure TSpTBXAthenSkin.FillOptions;
|
|
begin
|
|
SkinName := 'Athen';
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(0, $E0E0E0, clNone, clNone, clNone);
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone);
|
|
Options(skncDockablePanel, sknsNormal).Borders.Fill(0, $E0E0E0, $E0E0E0, clWhite, clWhite);
|
|
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(1, $FBF9A0, clWhite, clNone, clNone);
|
|
Options(skncPanel, sknsNormal).Borders.Fill(2, $D0D0D0, $D0D0D0, $F8F8F8, $F8F8F8);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
|
|
Options(skncSplitter, sknsNormal).Body.Fill(1, $D8D8D8, $F0F0F0, clNone, clNone);
|
|
|
|
Options(skncToolbar, sknsNormal).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
Options(skncToolbar, sknsNormal).Borders.Fill(1, clWhite, $B0B0B0, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbar, skncMenuBar);
|
|
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, $808080, $808080, $C0C0C0, $DDD9D2);
|
|
|
|
Options(skncWindowTitleBar, sknsNormal).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
|
|
//---- Elements ----//
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(1, $DAB370, $DAB370, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(1, $C0C0C0, clWhite, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(1, $D0D0D0, $B0B0B0, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(1, $DAB370, $DAB370, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(3, $FAECDE, $E0B080, $EDDE73, $FFFFBA);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(1, $DAB370, $DAB370, clNone, clNone);
|
|
|
|
Options(skncOpenToolbarItem, sknsNormal).Body.Fill(1, $C0C0C0, clWhite, clNone, clNone);
|
|
Options(skncOpenToolbarItem, sknsNormal).Borders.Fill(1, $D0D0D0, $B0B0B0, clNone, clNone);
|
|
|
|
Options(skncMenuBarItem, sknsHotTrack).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncMenuBarItem, sknsPushed).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncMenuBarItem, sknsChecked).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncMenuBarItem, sknsCheckedAndHotTrack).Body.Fill(3, $FAECDE, $E0B080, $EDDE73, $FFFFBA);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuItem);
|
|
Options(skncMenuItem, sknsHotTrack).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
Options(skncMenuItem, sknsHotTrack).Borders.Fill(1, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbarItem, skncButton);
|
|
Options(skncButton, sknsNormal).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
Options(skncButton, sknsNormal).Borders.Fill(1, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(1, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(30);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(30);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-30);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-30);
|
|
|
|
CopyOptions(skncToolbarItem, skncCheckBox);
|
|
Options(skncCheckBox, sknsNormal).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
Options(skncCheckBox, sknsNormal).Borders.Fill(0, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncCheckBox, sknsDisabled).Borders.Fill(0, $99A8AC, $99A8AC, clNone, clNone);
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, clNone, clNone, $D0D0D0, $D0D0D0);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, $99A8AC, $99A8AC);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, clNone, clNone, $DAB370, $DAB370);
|
|
|
|
CopyOptions(skncToolbarItem, skncEditButton);
|
|
|
|
//---- Tabs ----//
|
|
Options(skncTab, sknsHotTrack).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncTab, sknsHotTrack).Borders.Fill(2, $DAB370, $DAB370, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncTab, sknsChecked).Borders.Fill(2, $DAB370, $DAB370, clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Body.Fill(3, $FAECDE, $E0B080, $EDDE73, $FFFFBA);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Borders.Fill(2, $DAB370, $DAB370, clNone, clNone);
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Body.Fill(1, $FBF9A0, clWhite, clNone, clNone);
|
|
Options(skncTabBackground, sknsNormal).Borders.Fill(0, $DAB370, $DAB370, clNone, clNone);
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(1, $C0C0C0, clWhite, clNone, clNone);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(1, $D0D0D0, $B0B0B0, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(2, $DAB370, $DAB370, clNone, clNone);
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
Options(skncTrackBarButton, sknsNormal).Borders.Fill(1, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncTrackBarButton, sknsPushed).Borders.Fill(1, $DAB370, $DAB370, clNone, clNone);
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).Body.Fill(3, $F8F8F8, $D8D8D8, $F0F0F0, $F8F8F8);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, $E7E7E7, $C0C0C0, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(3, $FFF8F0, $E0B080, $F0E870, $FFFFB0);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, $F7E4D0, $DAB370, clNone, clNone);
|
|
Options(skncHeader, sknsPushed).Body.Fill(1, $C0C0C0, clWhite, clNone, clNone);
|
|
Options(skncHeader, sknsPushed).Borders.Fill(0, $D0D0D0, $B0B0B0, clNone, clNone);
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXDreamSkin }
|
|
|
|
procedure TSpTBXDreamSkin.FillOptions;
|
|
begin
|
|
SkinName := 'Dream';
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(0, $E0E0E0, clNone, clNone, clNone);
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(1, clWhite, $DDD9D2, clNone, clNone);
|
|
Options(skncDockablePanel, sknsNormal).Borders.Fill(0, $E0E0E0, $E0E0E0, clWhite, clWhite);
|
|
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Body.Fill(1, clWhite, $DDD9D2, clNone, clNone);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(1, $D1F9FF, clWhite, clNone, clNone);
|
|
Options(skncPanel, sknsNormal).Borders.Fill(2, $808080, $808080, $B0D4DF, clWhite);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, $F9F9F9, clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(1, $DDD9D2, clWhite, clNone, clNone);
|
|
|
|
Options(skncSplitter, sknsNormal).Body.Fill(1, clWhite, $DDD9D2, clNone, clNone);
|
|
|
|
Options(skncToolbar, sknsNormal).Body.Fill(1, clWhite, $DDD9D2, clNone, clNone);
|
|
Options(skncToolbar, sknsNormal).Borders.Fill(2, clWhite, $B0B0B0, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbar, skncMenuBar);
|
|
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, $808080, $808080, $C0C0C0, $DDD9D2);
|
|
|
|
Options(skncWindowTitleBar, sknsNormal).Body.Fill(1, clWhite, $DDD9D2, clNone, clNone);
|
|
|
|
//---- Elements ----//
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(1, clWhite, $E5E2DB, clNone, clNone);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(1, $909090, $909090, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(1, $C0C0C0, clWhite, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(1, $909090, $909090, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(1, $D2F9FF, $F0FDFF, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(1, $808080, $808080, $B0D4DF, $F0FDFF);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(1, $2695EA, $80E0FF, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(1, $808080, $808080, $60B0E8, $80E0FF);
|
|
|
|
Options(skncOpenToolbarItem, sknsNormal).Body.Fill(1, $C0C0C0, clWhite, clNone, clNone);
|
|
Options(skncOpenToolbarItem, sknsNormal).Borders.Fill(1, $909090, $909090, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuBarItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncButton);
|
|
Options(skncButton, sknsNormal).Body.Fill(1, clWhite, $DCD8D0, clNone, clNone);
|
|
Options(skncButton, sknsNormal).Borders.Fill(1, $909090, $909090, clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Body.Fill(1, clWhite, $DCD8D0, clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(1, $909090, $909090, clNone, clNone);
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(20);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-20);
|
|
|
|
CopyOptions(skncToolbarItem, skncCheckBox);
|
|
Options(skncCheckBox, sknsNormal).Borders.Fill(0, $808080, $808080, clNone, clNone);
|
|
Options(skncCheckBox, sknsDisabled).Borders.Fill(0, $99A8AC, $99A8AC, clNone, clNone);
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, clNone, clNone, $D0D0D0, $D0D0D0);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, $99A8AC, $99A8AC);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, clNone, clNone, $909090, $909090);
|
|
|
|
CopyOptions(skncToolbarItem, skncEditButton);
|
|
|
|
//---- Tabs ----//
|
|
Options(skncTab, sknsHotTrack).Body.Fill(0, $F4F0F0, clNone, clNone, clNone);
|
|
Options(skncTab, sknsHotTrack).Borders.Fill(1, $A0A0A0, $A0A0A0, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Body.Fill(1, $F0FDFF, $D2F9FF, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Borders.Fill(1, $808080, $808080, $B0D4DF, $F0FDFF);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Body.Fill(1, $2695EA, $80E0FF, clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Borders.Fill(1, $808080, $808080, $60B0E8, $80E0FF);
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Body.Fill(1, $D2F9FF, $F0FDFF, clNone, clNone);
|
|
Options(skncTabBackground, sknsNormal).Borders.Fill(0, $808080, $808080, $B0D4DF, $F0FDFF);
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(1, $C0C0C0, clWhite, clNone, clNone);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(2, $909090, $909090, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(1, clWhite, $DDD9D2, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(2, $909090, $909090, clNone, clNone);
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Body.Fill(0, $F4F0F0, clNone, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsNormal).Borders.Fill(1, $909090, $909090, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Body.Fill(1, $D1F9FF, clWhite, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Borders.Fill(1, $808080, $808080, $B0D4DF, clWhite);
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).Body.Fill(1, clWhite, $DCD8D0, clNone, clNone);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, $E7E7E7, $C0C0C0, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(1, clWhite, $E5E2DB, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, $E7E7E7, $C0C0C0, clNone, clNone);
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXEosSkin }
|
|
|
|
procedure TSpTBXEosSkin.FillOptions;
|
|
begin
|
|
SkinName := 'Eos';
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(0, $809090, clNone, clNone, clNone);
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(0, $809090, clNone, clNone, clNone);
|
|
Options(skncDockablePanel, sknsNormal).Borders.Fill(0, $838C8C, $838C8C, clNone, clNone);
|
|
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Body.Fill(0, $5A6666, clNone, clNone, clNone);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(0, $809090, clNone, clNone, clNone);
|
|
Options(skncPanel, sknsNormal).Borders.Fill(0, $5A6666, $5A6666, clNone, clNone);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, $5A6666, $5A6666, clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
|
|
Options(skncSplitter, sknsNormal).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
|
|
Options(skncToolbar, sknsNormal).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncToolbar, sknsNormal).Borders.Fill(0, $838C8C, $5A6666, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbar, skncMenuBar);
|
|
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, $808080, $808080, $C0C0C0, $DDD9D2);
|
|
|
|
Options(skncWindowTitleBar, sknsNormal).Body.Fill(0, $5A6666, clNone, clNone, clNone);
|
|
Options(skncWindowTitleBar, sknsNormal).TextColor := $EEEEEE; // This overrides the Items text color
|
|
|
|
//---- Elements ----//
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, $576363, clWhite, clNone, clNone);
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, $576363, clWhite, clNone, clNone);
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, $869999, clNone, clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsNormal).TextColor := $EEEEEE;
|
|
Options(skncToolbarItem, sknsHotTrack).TextColor := $68CAE6;
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(0, $5F6D6D, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(0, $94A0A0, $94A0A0, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).TextColor := clBlack;
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(0, $7AD2EA, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(0, $94A0A0, $94A0A0, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).TextColor := $EEEEEE;
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(0, $94A0A0, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(0, $94A0A0, $94A0A0, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).TextColor := clBlack;
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(0, $8ED7EC, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(0, $94A0A0, $94A0A0, clNone, clNone);
|
|
Options(skncToolbarItem, sknsDisabled).TextColor := $99A8AC;
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuBarItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuItem);
|
|
Options(skncMenuItem, sknsPushed).TextColor := $68CAE6;
|
|
Options(skncMenuItem, sknsCheckedAndHotTrack).Body.Fill(0, $94A0A0, clNone, clNone, clNone);
|
|
Options(skncMenuItem, sknsCheckedAndHotTrack).TextColor := $68CAE6;
|
|
|
|
Options(skncButton, sknsNormal).TextColor := $EEEEEE;
|
|
Options(skncButton, sknsNormal).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncButton, sknsNormal).Borders.Fill(0, clWhite, $3C4444, $838C8C, $5A6666);
|
|
Options(skncButton, sknsHotTrack).TextColor := $68CAE6;
|
|
Options(skncButton, sknsHotTrack).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncButton, sknsHotTrack).Borders.Fill(0, clWhite, $3C4444, $838C8C, $5A6666);
|
|
Options(skncButton, sknsPushed).TextColor := $EEEEEE;
|
|
Options(skncButton, sknsPushed).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncButton, sknsPushed).Borders.Fill(0, $3C4444, clWhite, $5A6666, $838C8C);
|
|
Options(skncButton, sknsChecked).TextColor := $EEEEEE;
|
|
Options(skncButton, sknsChecked).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncButton, sknsChecked).Borders.Fill(0, $3C4444, clWhite, $5A6666, $838C8C);
|
|
Options(skncButton, sknsCheckedAndHotTrack).TextColor := $68CAE6;
|
|
Options(skncButton, sknsCheckedAndHotTrack).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncButton, sknsCheckedAndHotTrack).Borders.Fill(0, $3C4444, clWhite, $5A6666, $838C8C);
|
|
Options(skncButton, sknsDisabled).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(0, clWhite, $3C4444, $838C8C, $5A6666);
|
|
Options(skncButton, sknsDisabled).TextColor := $99A8AC;
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(30);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(30);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-30);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-30);
|
|
|
|
Options(skncCheckBox, sknsNormal).Borders.Fill(0, $5A6666, $5A6666, clNone, clNone);
|
|
Options(skncCheckBox, sknsHotTrack).Body.Fill(0, $5F6D6D, clNone, clNone, clNone);
|
|
Options(skncCheckBox, sknsHotTrack).Borders.Fill(0, $94A0A0, $94A0A0, clNone, clNone);
|
|
Options(skncCheckBox, sknsPushed).Body.Fill(0, $7AD2EA, clNone, clNone, clNone);
|
|
Options(skncCheckBox, sknsPushed).Borders.Fill(0, $94A0A0, $94A0A0, clNone, clNone);
|
|
Options(skncCheckBox, sknsChecked).Body.Fill(0, $94A0A0, clNone, clNone, clNone);
|
|
Options(skncCheckBox, sknsChecked).Borders.Fill(0, $94A0A0, $94A0A0, clNone, clNone);
|
|
Options(skncCheckBox, sknsCheckedAndHotTrack).Body.Fill(0, $8ED7EC, clNone, clNone, clNone);
|
|
Options(skncCheckBox, sknsCheckedAndHotTrack).Borders.Fill(0, $94A0A0, $94A0A0, clNone, clNone);
|
|
Options(skncCheckBox, sknsDisabled).Borders.Fill(0, $99A8AC, $99A8AC, clNone, clNone);
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, clNone, clNone, $D0D0D0, $D0D0D0);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, $99A8AC, $99A8AC);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, clNone, clNone, $94A0A0, $94A0A0);
|
|
|
|
CopyOptions(skncToolbarItem, skncEditButton);
|
|
Options(skncEditButton, sknsNormal).TextColor := clBlack;
|
|
|
|
//---- Tabs ----//
|
|
Options(skncTab, sknsNormal).TextColor := $EEEEEE;
|
|
Options(skncTab, sknsHotTrack).TextColor := $68CAE6;
|
|
Options(skncTab, sknsHotTrack).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncTab, sknsHotTrack).Borders.Fill(0, $5A6666, $5A6666, clNone, clNone);
|
|
Options(skncTab, sknsChecked).TextColor := $EEEEEE;
|
|
Options(skncTab, sknsChecked).Body.Fill(0, $809090, clNone, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Borders.Fill(0, $5A6666, $5A6666, clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).TextColor := $68CAE6;
|
|
Options(skncTab, sknsCheckedAndHotTrack).Body.Fill(0, $809090, clNone, clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Borders.Fill(0, $5A6666, $5A6666, clNone, clNone);
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Body.Fill(0, $809090, clNone, clNone, clNone);
|
|
Options(skncTabBackground, sknsNormal).Borders.Fill(0, $5A6666, $5A6666, clNone, clNone);
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(0, $809090, clNone, clNone, clNone);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(0, $5A6666, $5A6666, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(0, $94A0A0, clNone, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(1, $5A6666, $5A6666, clNone, clNone);
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
Options(skncTrackBar, sknsNormal).TextColor := $5A6666;
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Body.Fill(0, $5A6666, clNone, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsNormal).Borders.Fill(1, $94A0A0, $94A0A0, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Body.Fill(0, $809090, clNone, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Borders.Fill(1, $94A0A0, $94A0A0, clNone, clNone);
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).TextColor := $EEEEEE;
|
|
Options(skncHeader, sknsNormal).Body.Fill(0, $708080, clNone, clNone, clNone);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, $838C8C, $5A6666, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).TextColor := $68CAE6;
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(0, $5F6D6D, clNone, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, $838C8C, $5A6666, clNone, clNone);
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXHumanSkin }
|
|
|
|
procedure TSpTBXHumanSkin.FillOptions;
|
|
begin
|
|
SkinName := 'Human';
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(0, $E7EBEF, clNone, clNone, clNone);
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(0, $F1F6F9, clNone, clNone, clNone);
|
|
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Body.Fill(0, $E7EBEF, clNone, clNone, clNone);
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Borders.Fill(0, $B9BCBF, $B9BCBF, clWhite, clNone);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(0, $F1F6F9, clNone, clNone, clNone);
|
|
Options(skncPanel, sknsNormal).Borders.Fill(2, $B7C1CB, $B7C1CB, clNone, clNone);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, $F2F5F8, clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, $91A3B6, $91A3B6, clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(0, $E7EBEF, clNone, clNone, clNone);
|
|
|
|
Options(skncSplitter, sknsNormal).Body.Fill(0, $E7EBEF, clNone, clNone, clNone);
|
|
|
|
Options(skncToolbar, sknsNormal).Body.Fill(0, $E7EBEF, clNone, clNone, clNone);
|
|
Options(skncToolbar, sknsNormal).Borders.Fill(0, clWhite, $B7C1CB, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbar, skncMenuBar);
|
|
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, $383A3D, $C7CFD8, $E7EBEF, $E7EBEF);
|
|
|
|
Options(skncWindowTitleBar, sknsNormal).Body.Fill(5, $6AAAE8, $468CD1, $3A82C8, $488ED3);
|
|
Options(skncWindowTitleBar, sknsNormal).TextColor := clWhite; // This overrides the Items text color
|
|
|
|
//---- Elements ----//
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, $B7C1CB, clWhite, clNone, clNone);
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, $B7C1CB, clWhite, clNone, clNone);
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, $B7C1CB, clWhite, clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(5, clWhite, $EDF0F3, $E2E7EC, $E7EBEF);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(2, $1E4B8F, $1E4B8F, $1975FF, $1975FF);
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(0, $D4DBE0, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(2, $606A73, $606A73, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(0, $D4DBE0, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(2, $606A73, $606A73, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(5, clWhite, $EDF0F3, $E2E7EC, $E7EBEF);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(2, $1E4B8F, $1E4B8F, $1975FF, $1975FF);
|
|
|
|
Options(skncMenuBarItem, sknsHotTrack).Body.Fill(1, $ACDEFE, $7BC5F5, clNone, clNone);
|
|
Options(skncMenuBarItem, sknsPushed).Body.Fill(1, $ACDEFE, $7BC5F5, clNone, clNone);
|
|
Options(skncMenuBarItem, sknsChecked).Body.Fill(1, $ACDEFE, $7BC5F5, clNone, clNone);
|
|
Options(skncMenuBarItem, sknsCheckedAndHotTrack).Body.Fill(1, $ACDEFE, $7BC5F5, clNone, clNone);
|
|
|
|
Options(skncMenuItem, sknsHotTrack).Body.Fill(1, $ACDEFE, $7BC5F5, clNone, clNone);
|
|
Options(skncMenuItem, sknsHotTrack).Borders.Fill(1, $69BAEF, $69BAEF, clNone, clNone);
|
|
Options(skncMenuItem, sknsChecked).Body.Fill(1, $ACDEFE, $7BC5F5, clNone, clNone);
|
|
Options(skncMenuItem, sknsChecked).Borders.Fill(1, $69BAEF, $69BAEF, clNone, clNone);
|
|
Options(skncMenuItem, sknsCheckedAndHotTrack).Body.Fill(1, $ACDEFE, $7BC5F5, clNone, clNone);
|
|
Options(skncMenuItem, sknsCheckedAndHotTrack).Borders.Fill(1, $69BAEF, $69BAEF, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbarItem, skncButton);
|
|
Options(skncButton, sknsNormal).Body.Fill(5, clWhite, $EDF0F3, $E2E7EC, $E7EBEF);
|
|
Options(skncButton, sknsNormal).Borders.Fill(2, $D0D4D8, $D0D4D8, $606A73, $606A73);
|
|
Options(skncButton, sknsDisabled).Body.Fill(5, clWhite, $EDF0F3, $E2E7EC, $E7EBEF);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(2, $D0D4D8, $D0D4D8, $606A73, $606A73);
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncMenuBarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncMenuBarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncMenuBarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(20);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-20);
|
|
|
|
Options(skncCheckBox, sknsNormal).Body.Fill(5, clWhite, $EDF0F3, $E2E7EC, $E7EBEF);
|
|
Options(skncCheckBox, sknsNormal).Borders.Fill(2, $666666, $666666, $F1F1F1, $F1F1F1);
|
|
Options(skncCheckBox, sknsDisabled).Body.Fill(5, clWhite, $EDF0F3, $E2E7EC, $E7EBEF);
|
|
Options(skncCheckBox, sknsDisabled).Borders.Fill(2, $D0D4D8, $D0D4D8, $606A73, $606A73);
|
|
Options(skncCheckBox, sknsPushed).Body.Fill(5, clWhite, $EDF0F3, $E2E7EC, $E7EBEF);
|
|
Options(skncCheckBox, sknsPushed).Borders.Fill(2, $666666, $666666, $F1F1F1, $F1F1F1);
|
|
Options(skncCheckBox, sknsHotTrack).Body.Fill(1, $76ADFF, $2C7DF7, clNone, clNone);
|
|
Options(skncCheckBox, sknsHotTrack).Borders.Fill(2, $214A87, $214A87, $8FBCFD, $8FBCFD);
|
|
Options(skncCheckBox, sknsChecked).Body.Fill(1, $76ADFF, $2C7DF7, clNone, clNone);
|
|
Options(skncCheckBox, sknsChecked).Borders.Fill(2, $214A87, $214A87, $8FBCFD, $8FBCFD);
|
|
Options(skncCheckBox, sknsCheckedAndHotTrack).Body.Fill(1, $76ADFF, $2C7DF7, clNone, clNone);
|
|
Options(skncCheckBox, sknsCheckedAndHotTrack).Borders.Fill(2, $214A87, $214A87, $8FBCFD, $8FBCFD);
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, $778B97, $778B97, $E6E6E6, $E6E6E6);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, $E6E6E6, $E6E6E6);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, $1E4B8F, $1E4B8F, $1975FF, $1975FF);
|
|
|
|
Options(skncEditButton, sknsHotTrack).Body.Fill(1, $76ADFF, $2C7DF7, clNone, clNone);
|
|
Options(skncEditButton, sknsHotTrack).Borders.Fill(0, $1975FF, $1975FF, $8FBCFD, $8FBCFD);
|
|
Options(skncEditButton, sknsPushed).Body.Fill(1, $3787FF, $0A66F0, clNone, clNone);
|
|
Options(skncEditButton, sknsPushed).Borders.Fill(0, $1975FF, $1975FF, $589AFC, $589AFC);
|
|
|
|
//---- Tabs ----//
|
|
Options(skncTab, sknsNormal).Body.Fill(0, $DBDFE4, clNone, clNone, clNone);
|
|
Options(skncTab, sknsNormal).Borders.Fill(2, $B8C2CA, $B8C2CA, $E1E4E8, $E1E4E8);
|
|
Options(skncTab, sknsDisabled).Body.Fill(0, $DBDFE4, clNone, clNone, clNone);
|
|
Options(skncTab, sknsDisabled).Borders.Fill(2, $B8C2CA, $B8C2CA, $E1E4E8, $E1E4E8);
|
|
|
|
Options(skncTab, sknsHotTrack).Body.Fill(1, clWhite, $E7EBEF, clNone, clNone);
|
|
Options(skncTab, sknsHotTrack).Borders.Fill(2, $677883, $677883, clWhite, $DCE0E4);
|
|
Options(skncTab, sknsChecked).Body.Fill(1, clWhite, $E7EBEF, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Borders.Fill(2, $677883, $677883, clWhite, $DCE0E4);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Body.Fill(1, clWhite, $E7EBEF, clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Borders.Fill(2, $677883, $677883, clWhite, $DCE0E4);
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Body.Fill(0, $E7EBEF, clNone, clNone, clNone);
|
|
Options(skncTabBackground, sknsNormal).Borders.Fill(0, $677883, $677883, clWhite, $DCE0E4);
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(5, clWhite, $EDF0F3, $E2E7EC, $E7EBEF);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(2, $D0D4D8, $D0D4D8, $606A73, $606A73);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(5, $9CC3FF, $60A0FF, $1672FD, $63A1FF);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(2, $D0D4D8, $D0D4D8, $606A73, $606A73);
|
|
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Body.Fill(5, clWhite, $EDF0F3, $E2E7EC, $E7EBEF);
|
|
Options(skncTrackBarButton, sknsNormal).Borders.Fill(2, $D0D4D8, $D0D4D8, $606A73, $606A73);
|
|
Options(skncTrackBarButton, sknsPushed).Body.Fill(5, $9CC3FF, $60A0FF, $1672FD, $63A1FF);
|
|
Options(skncTrackBarButton, sknsPushed).Borders.Fill(2, $D0D4D8, $D0D4D8, $606A73, $606A73);
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).Body.Fill(0, $E7EBEF, clNone, clNone, clNone);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, $F3F5F7, $8F9CAA, clNone, $D4D8DB);
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(0, $EEF2F6, clNone, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, $F3F5F7, $8F9CAA, clNone, $D4D8DB);
|
|
end;
|
|
|
|
procedure TSpTBXHumanSkin.PaintBackground(ACanvas: TCanvas; ARect: TRect;
|
|
Component: TSpTBXSkinComponentsType; State: TSpTBXSkinStatesType; Background,
|
|
Borders, Vertical: Boolean; ForceRectBorders: TAnchors);
|
|
begin
|
|
inherited;
|
|
// Override the Tab painting
|
|
if (Component = skncTab) and (State in [sknsHotTrack, sknsPushed, sknsChecked, sknsCheckedAndHotTrack]) then begin
|
|
SpDrawLine(ACanvas, ARect.Left + 2, ARect.Top, ARect.Right - 2, ARect.Top, $1E4B8F);
|
|
SpDrawLine(ACanvas, ARect.Left + 1, ARect.Top + 1, ARect.Right - 1, ARect.Top + 1, $1975FF);
|
|
SpDrawLine(ACanvas, ARect.Left, ARect.Top + 2, ARect.Right, ARect.Top + 2, $1975FF);
|
|
end;
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXLeopardSkin }
|
|
|
|
procedure TSpTBXLeopardSkin.FillOptions;
|
|
begin
|
|
SkinName := 'Leopard';
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(1, $CFCFCF, $999797, clNone, clNone);
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(0, $EAE4DD, clNone, clNone, clNone);
|
|
Options(skncDockablePanel, sknsNormal).Borders.Fill(0, $999797, $999797, clNone, clNone);
|
|
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Body.Fill(1, $C0C0C0, $999797, clNone, clNone);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(0, $EAE4DD, clNone, clNone, clNone);
|
|
Options(skncPanel, sknsNormal).Borders.Fill(2, $999797, $999797, clNone, clNone);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(1, $C2C5C3, $999797, clNone, clNone);
|
|
|
|
Options(skncSplitter, sknsNormal).Body.Fill(1, $C2C5C3, $999797, clNone, clNone);
|
|
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, $808080, $808080, $C0C0C0, $DDD9D2);
|
|
|
|
Options(skncWindowTitleBar, sknsNormal).Body.Fill(1, $C2C5C3, $999797, clNone, clNone);
|
|
|
|
//---- Elements ----//
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, $646262, $CECECE, clNone, clNone);
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, $646262, $CECECE, clNone, clNone);
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, $646262, $CECECE, clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(1, clWhite, $A8A8A8, clNone, clNone);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(2, $848484, $848484, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(1, $343434, $696969, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(2, $272727, $272727, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).TextColor := clWhite;
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(1, $343434, $696969, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(2, $272727, $272727, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).TextColor := clWhite;
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(1, $343434, $696969, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(2, $272727, $272727, $343434, $343434);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).TextColor := clWhite;
|
|
Options(skncToolbarItem, sknsDisabled).TextColor := $89736D;
|
|
|
|
Options(skncMenuBarItem, sknsHotTrack).Body.Fill(0, $D87439, clNone, clNone, clNone);
|
|
Options(skncMenuBarItem, sknsHotTrack).TextColor := clWhite;
|
|
Options(skncMenuBarItem, sknsPushed).Body.Fill(0, $D87439, clNone, clNone, clNone);
|
|
Options(skncMenuBarItem, sknsPushed).TextColor := clWhite;
|
|
Options(skncMenuBarItem, sknsChecked).Body.Fill(0, $D87439, clNone, clNone, clNone);
|
|
Options(skncMenuBarItem, sknsChecked).TextColor := clWhite;
|
|
Options(skncMenuBarItem, sknsCheckedAndHotTrack).Body.Fill(0, $D87439, clNone, clNone, clNone);
|
|
Options(skncMenuBarItem, sknsCheckedAndHotTrack).TextColor := clWhite;
|
|
|
|
Options(skncMenuItem, sknsHotTrack).Body.Fill(0, $D87439, clNone, clNone, clNone);
|
|
Options(skncMenuItem, sknsHotTrack).TextColor := clWhite;
|
|
Options(skncMenuItem, sknsChecked).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncMenuItem, sknsChecked).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncMenuItem, sknsCheckedAndHotTrack).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncMenuItem, sknsCheckedAndHotTrack).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncMenuItem, sknsCheckedAndHotTrack).TextColor := clWhite;
|
|
|
|
Options(skncButton, sknsNormal).Body.Fill(5, clWhite, $EFEFEF, $E3E3E3, clWhite);
|
|
Options(skncButton, sknsNormal).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Body.Fill(5, clWhite, $EFEFEF, $E3E3E3, clWhite);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncButton, sknsHotTrack).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncButton, sknsHotTrack).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncButton, sknsPushed).Body.Fill(5, $FFD6B7, $FFC689, $F3AF67, $FCFBBE);
|
|
Options(skncButton, sknsPushed).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncButton, sknsChecked).Body.Fill(5, $FFD6B7, $FFC689, $F3AF67, $FCFBBE);
|
|
Options(skncButton, sknsChecked).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncButton, sknsCheckedAndHotTrack).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncButton, sknsCheckedAndHotTrack).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncButton, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncButton, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncButton, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(30);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(30);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-20);
|
|
|
|
CopyOptions(skncButton, skncCheckBox);
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, clNone, clNone, $D0D0D0, $D0D0D0);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, $99A8AC, $99A8AC);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, $D99D51, $D99D51, $FFD3A7, $FFD3A7);
|
|
|
|
Options(skncEditButton, sknsHotTrack).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncEditButton, sknsHotTrack).Borders.Fill(0, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncEditButton, sknsPushed).Body.Fill(5, $FFD6B7, $FFC689, $F3AF67, $FCFBBE);
|
|
Options(skncEditButton, sknsPushed).Borders.Fill(0, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncEditButton, sknsChecked).Body.Fill(5, $FFD6B7, $FFC689, $F3AF67, $FCFBBE);
|
|
Options(skncEditButton, sknsChecked).Borders.Fill(0, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncEditButton, sknsCheckedAndHotTrack).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncEditButton, sknsCheckedAndHotTrack).Borders.Fill(0, $DB9D79, $DB9D79, clNone, clNone);
|
|
|
|
//---- Tabs ----//
|
|
Options(skncTab, sknsNormal).Body.Fill(5, clWhite, $EFEFEF, $E3E3E3, clWhite);
|
|
Options(skncTab, sknsNormal).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncTab, sknsDisabled).Body.Fill(5, clWhite, $EFEFEF, $E3E3E3, clWhite);
|
|
Options(skncTab, sknsDisabled).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncTab, sknsHotTrack).Body.Fill(5, $FFD6B7, $FFC689, $F3AF67, $FCFBBE);
|
|
Options(skncTab, sknsHotTrack).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Body.Fill(5, $FFD6B7, $FFC689, $F3AF67, $FCFBBE);
|
|
Options(skncTab, sknsChecked).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Body.Fill(0, $EAE4DD, clNone, clNone, clNone);
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(5, clWhite, $EFEFEF, $E3E3E3, clWhite);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(5, $FFD6B7, $FFC689, $F3AF67, $FCFBBE);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Body.Fill(5, $FFD6B7, $FFC689, $F3AF67, $FCFBBE);
|
|
Options(skncTrackBarButton, sknsNormal).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncTrackBarButton, sknsPushed).Borders.Fill(2, $DB9D79, $DB9D79, clNone, clNone);
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).Body.Fill(5, clWhite, $EFEFEF, $E3E3E3, clWhite);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, $E7E7E7, $C0C0C0, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, $F5BA82, $DB9D79, clNone, clNone);
|
|
Options(skncHeader, sknsPushed).Body.Fill(5, $FFE7D5, $FFD0A2, $F5BA82, $FDFCDA);
|
|
Options(skncHeader, sknsPushed).Borders.Fill(0, $F5BA82, $DB9D79, clNone, clNone);
|
|
end;
|
|
|
|
procedure TSpTBXLeopardSkin.PaintBackground(ACanvas: TCanvas; ARect: TRect;
|
|
Component: TSpTBXSkinComponentsType; State: TSpTBXSkinStatesType; Background,
|
|
Borders, Vertical: Boolean; ForceRectBorders: TAnchors);
|
|
begin
|
|
inherited;
|
|
// Override the TabBackground painting
|
|
if Component = skncTabBackground then begin
|
|
SpDrawLine(ACanvas, ARect.Left, ARect.Top, ARect.Right, ARect.Top, $DB9D79);
|
|
SpDrawLine(ACanvas, ARect.Left, ARect.Top + 1, ARect.Right, ARect.Top + 1, $FAEEAF);
|
|
end;
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXXitoSkin }
|
|
|
|
procedure TSpTBXXitoSkin.FillOptions;
|
|
begin
|
|
SkinName := 'Xito';
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(0, $E0E0E0, clNone, clNone, clNone);
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone);
|
|
Options(skncDockablePanel, sknsNormal).Borders.Fill(0, $E0E0E0, $E0E0E0, clWhite, clWhite);
|
|
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Body.Fill(5, clWhite, $F2F2F2, $EAEAEA, $EFEFEF);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(0, $D8D8D8, clNone, clNone, clNone);
|
|
Options(skncPanel, sknsNormal).Borders.Fill(2, $909090, $909090, $D0D0D0, $D0D0D0);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(5, clWhite, $F2F2F2, $EAEAEA, $EFEFEF);
|
|
|
|
Options(skncSplitter, sknsNormal).Body.Fill(5, clWhite, $F2F2F2, $EAEAEA, $EFEFEF);
|
|
|
|
Options(skncToolbar, sknsNormal).Body.Fill(5, clWhite, $F2F2F2, $EAEAEA, $EFEFEF);
|
|
Options(skncToolbar, sknsNormal).Borders.Fill(2, clWhite, $B0B0B0, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbar, skncMenuBar);
|
|
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, $808080, $808080, $C0C0C0, $DDD9D2);
|
|
|
|
Options(skncWindowTitleBar, sknsNormal).Body.Fill(1, $C0C0C0, clWhite, clNone, clNone);
|
|
|
|
//---- Elements ----//
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, $B0B0B0, clWhite, clNone, clNone);
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, $D0D0D0, clWhite, clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(0, $E0E0E0, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(2, $A0A0A0, $A0A0A0, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(0, $C0C0C0, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(2, $909090, $909090, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(0, $D8D8D8, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(2, $B8B8B8, $F8F8F8, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(0, $D0D0D0, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(2, $808080, $808080, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuBarItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuItem);
|
|
|
|
Options(skncButton, sknsNormal).Body.Fill(5, clWhite, $DADADA, $D0D0D0, $E0E0E0);
|
|
Options(skncButton, sknsNormal).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Body.Fill(5, clWhite, $DADADA, $D0D0D0, $E0E0E0);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncButton, sknsHotTrack).Body.Fill(5, clWhite, $DADADA, $DFDFDF, $E0E0E0);
|
|
Options(skncButton, sknsHotTrack).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncButton, sknsPushed).Body.Fill(1, $D0D0D0, clWhite, clNone, clNone);
|
|
Options(skncButton, sknsPushed).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncButton, sknsChecked).Body.Fill(1, $D0D0D0, clWhite, clNone, clNone);
|
|
Options(skncButton, sknsChecked).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
Options(skncButton, sknsCheckedAndHotTrack).Body.Fill(1, $EFEFEF, clWhite, clNone, clNone);
|
|
Options(skncButton, sknsCheckedAndHotTrack).Borders.Fill(2, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncButton, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncButton, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncButton, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(20);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-20);
|
|
|
|
CopyOptions(skncButton, skncCheckBox);
|
|
Options(skncCheckBox, sknsNormal).Body.Reset;
|
|
Options(skncCheckBox, sknsChecked).Body.Fill(5, clWhite, $DADADA, $D0D0D0, $E0E0E0);
|
|
Options(skncCheckBox, sknsDisabled).Body.Reset;
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, clNone, clNone, $E0E0E0, $E0E0E0);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, $99A8AC, $99A8AC);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, clNone, clNone, $C0C0C0, $C0C0C0);
|
|
|
|
CopyOptions(skncButton, skncEditButton);
|
|
Options(skncEditButton, sknsNormal).Reset;
|
|
Options(skncEditButton, sknsDisabled).Borders.SkinType := 0;
|
|
Options(skncEditButton, sknsHotTrack).Borders.SkinType := 0;
|
|
Options(skncEditButton, sknsPushed).Borders.SkinType := 0;
|
|
Options(skncEditButton, sknsChecked).Borders.SkinType := 0;
|
|
Options(skncEditButton, sknsCheckedAndHotTrack).Borders.SkinType := 0;
|
|
|
|
//---- Tabs ----//
|
|
CopyOptions(skncToolbarItem, skncTab);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Borders.Fill(2, $B8B8B8, $F8F8F8, clNone, clNone);
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Body.Fill(0, $D8D8D8, clNone, clNone, clNone);
|
|
Options(skncTabBackground, sknsNormal).Borders.Fill(2, $B8B8B8, $F8F8F8, clNone, clNone);
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(0, $C0C0C0, clNone, clNone, clNone);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(2, $909090, $909090, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(0, $E0E0E0, clNone, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(2, $909090, $909090, clNone, clNone);
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Body.Fill(0, $E0E0E0, clNone, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsNormal).Borders.Fill(2, $909090, $909090, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Body.Fill(0, $F0F0F0, clNone, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Borders.Fill(2, $909090, $909090, clNone, clNone);
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).Body.Fill(5, clWhite, $DADADA, $D0D0D0, $E0E0E0);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, $E7E7E7, $C0C0C0, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(5, clWhite, $DADADA, $DFDFDF, $E0E0E0);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, $E7E7E7, $C0C0C0, clNone, clNone);
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXOfficeXPSkin }
|
|
|
|
procedure TSpTBXOfficeXPSkin.FillOptions;
|
|
var
|
|
ToolbarC, PopupC, HotTrackC, CheckedC, EditHotTrackC: TColor;
|
|
begin
|
|
//---- Skin Properties ----//
|
|
|
|
SkinName := 'Office XP';
|
|
OfficeIcons := True;
|
|
OfficeMenu := True;
|
|
OfficeStatusBar := True;
|
|
|
|
//---- Colors ----//
|
|
|
|
ToolbarC := SpBlendColors(clWindow, clBtnFace, 165);
|
|
PopupC := SpBlendColors(clBtnFace, clWindow, 143);
|
|
|
|
HotTrackC := SpBlendColors(clHighlight, clWindow, 30);
|
|
HotTrackC := SpLighten(HotTrackC, -15); //-7 original, -30 silver
|
|
|
|
CheckedC := SpBlendColors(clBtnFace, clWindow, 50);
|
|
CheckedC := SpBlendColors(clHighlight, CheckedC, 10);
|
|
|
|
EditHotTrackC := clHighlight;
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(0, PopupC, clNone, clNone, clNone);
|
|
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Borders.Fill(0, PopupC, PopupC, clNone, clNone);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(1, clBtnFace, clWhite, clNone, clNone);
|
|
Options(skncPanel, sknsNormal).Borders.Fill(2, $808080, $808080, $B0D4DF, clWhite);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, PopupC, clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
|
|
Options(skncSplitter, sknsNormal).Body.Fill(0, ToolbarC, clNone, clNone, clNone);
|
|
|
|
Options(skncToolbar, sknsNormal).Body.Fill(0, ToolbarC, clNone, clNone, clNone);
|
|
Options(skncToolbar, sknsNormal).Borders.Fill(2, clBtnFace, clBtnFace, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbar, skncMenuBar);
|
|
|
|
Options(skncWindow, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, $808080, $808080, clBtnShadow, clBtnShadow);
|
|
|
|
Options(skncWindowTitleBar, sknsNormal).Body.Fill(0, clBtnShadow, clNone, clNone, clNone);
|
|
Options(skncWindowTitleBar, sknsNormal).Borders.Fill(0, clBtnFace, clBtnFace, clNone, clNone);
|
|
|
|
//---- Elements ----//
|
|
Options(skncGutter, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, clBtnShadow, clWhite, clNone, clNone);//////
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, clBtnShadow, clWhite, clNone, clNone);//////
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, clBtnShadow, clNone, clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(0, HotTrackC, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(0, clHighlight, clHighlight, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(0, CheckedC, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(0, clHighlight, clHighlight, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(0, HotTrackC, clNone, clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(0, clHighlight, clHighlight, clNone, clNone);
|
|
|
|
Options(skncOpenToolbarItem, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncOpenToolbarItem, sknsNormal).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuBarItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncButton);
|
|
Options(skncButton, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncButton, sknsNormal).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(20);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-20);
|
|
|
|
CopyOptions(skncToolbarItem, skncCheckBox);
|
|
Options(skncCheckBox, sknsNormal).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
Options(skncCheckBox, sknsDisabled).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, clNone, clNone, clBtnFace, clBtnFace);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, clBtnShadow, clBtnShadow);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, clNone, clNone, EditHotTrackC, EditHotTrackC);
|
|
|
|
CopyOptions(skncToolbarItem, skncEditButton);
|
|
Options(skncEditButton, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncEditButton, sknsNormal).Borders.Fill(0, clWindow, clWindow, clNone, clNone);
|
|
Options(skncEditButton, sknsPushed).Body.Fill(0, HotTrackC, clNone, clNone, clNone);
|
|
Options(skncEditButton, sknsPushed).Borders.Fill(0, EditHotTrackC, EditHotTrackC, clNone, clNone);
|
|
Options(skncEditButton, sknsPushed).TextColor := clHighlightText;
|
|
|
|
//---- Tabs ----//
|
|
Options(skncTab, sknsHotTrack).Body.Fill(0, HotTrackC, clNone, clNone, clNone);
|
|
Options(skncTab, sknsHotTrack).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Body.Fill(0, HotTrackC, clNone, clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncTabBackground, sknsNormal).Borders.Fill(0, clBtnShadow, clBtnShadow, clNone, clNone);
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(0, CheckedC, clWhite, clNone, clNone);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(0, clHighlight, clHighlight, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(0, HotTrackC, clNone, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(0, clHighlight, clHighlight, clNone, clNone);
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Body.Fill(0, CheckedC, clNone, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsNormal).Borders.Fill(0, clHighlight, clHighlight, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Body.Fill(0, HotTrackC, clWhite, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Borders.Fill(0, clHighlight, clHighlight, clNone, clNone);
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).Body.Fill(0, clBtnFace, clNone, clNone, clNone);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, clWindow, clBtnShadow, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(0, HotTrackC, clNone, clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, clBtnFace, clBtnShadow, clNone, clNone);
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXOffice2003Skin }
|
|
|
|
constructor TSpTBXOffice2003Skin.Create;
|
|
begin
|
|
FDefaultColorScheme := lusUnknown;
|
|
inherited;
|
|
end;
|
|
|
|
procedure TSpTBXOffice2003Skin.FillColors;
|
|
const
|
|
Office2003Colors: array[lusBlue..lusGreen] of TSpTBXOffice2003Colors = (
|
|
($F5BE9E, $F9D9C3, // 0, 1: Dock
|
|
$FEECDD, $E2A981, // 2, 3: Toolbar
|
|
$CB8C6A, $F5BE9E, // 4, 5: Toolbar borders
|
|
$F6F6F6, // 6: Popup
|
|
$962D00, // 7: Popup borders
|
|
$800000, // 8: Item borders
|
|
$C9662A, // 9: Window borders
|
|
$8CD5FF, $55ADFF, // 10, 11: Item Checked
|
|
$4E91FE, $8ED3FF, // 12, 13: Item Pushed
|
|
$CCF4FF, $91D0FF, // 14, 15: Item HotTrack
|
|
$FFEFE3, $E7B593, // 16, 17: OpenToolbarItem
|
|
$91420D, // 18: Button external border
|
|
$FBD0B3, $CB8C6A, // 19, 20: Button internal borders
|
|
$FEECDD, // 21: Grip/Separator soft color
|
|
$E2A981), // 22: Panel/CheckBox/Tabs/ProgressBar/TrackBar borders
|
|
|
|
($E5D7D7, $F7F3F3, // 0, 1: Dock
|
|
$FAF4F3, $B59799, // 2, 3: Toolbar
|
|
$8F6D6E, $E5D7D7, // 4, 5: Toolbar borders
|
|
$FFFAFD, // 6: Popup
|
|
$947C7C, // 7: Popup borders
|
|
$6F4B4B, // 8: Item borders
|
|
$99797A, // 9: Window borders
|
|
$8CD5FF, $55ADFF, // 10, 11: Item Checked
|
|
$4E91FE, $8ED3FF, // 12, 13: Item Pushed
|
|
$CCF4FF, $91D0FF, // 14, 15: Item HotTrack
|
|
$F1E9E8, $CDB9BA, // 16, 17: OpenToolbarItem
|
|
$988B8A, // 18: Button external border
|
|
clWhite, $B0A7A6, // 19, 20: Button internal borders
|
|
$FFFFFF, // 21: Grip/Separator soft color
|
|
$B59799), // 22: Panel/CheckBox/Tabs/ProgressBar/TrackBar borders
|
|
|
|
($A7D9D9, $E4F2F0, // 0, 1: Dock
|
|
$DEF7F4, $91C6B7, // 2, 3: Toolbar
|
|
$588060, $A7D9D9, // 4, 5: Toolbar borders
|
|
$EEF4F4, // 6: Popup
|
|
$5E8D75, // 7: Popup borders
|
|
$385D3F, // 8: Item borders
|
|
$5E8674, // 9: Window borders
|
|
$8CD5FF, $55ADFF, // 10, 11: Item Checked
|
|
$4E91FE, $8ED3FF, // 12, 13: Item Pushed
|
|
$CCF4FF, $91D0FF, // 14, 15: Item HotTrack
|
|
$D5F0EC, $9FCEC2, // 16, 17: OpenToolbarItem
|
|
$5B8479, // 18: Button external border
|
|
$E3FFFA, $86ADAA, // 19, 20: Button internal borders
|
|
$DEF7F4, // 21: Grip/Separator soft color
|
|
$91C6B7) // 22: Panel/CheckBox/Tabs/ProgressBar/TrackBar borders
|
|
);
|
|
var
|
|
Luna: TSpTBXLunaScheme;
|
|
begin
|
|
if FDefaultColorScheme <> lusUnknown then
|
|
Luna := FDefaultColorScheme
|
|
else
|
|
Luna := SpGetLunaScheme;
|
|
|
|
if Luna <> lusUnknown then
|
|
FColors := Office2003Colors[Luna]
|
|
else begin
|
|
// Use adapted colors
|
|
// 0, 1: Dock
|
|
FColors[0] := clBtnFace;
|
|
FColors[1] := SpBlendColors(clBtnFace, clWindow, 35);
|
|
// 2, 3: Toolbar
|
|
FColors[2] := SpBlendColors(clBtnFace, clWindow, 20);
|
|
FColors[3] := SpBlendColors(clBtnFace, clWindow, 95);
|
|
// 4, 5: Toolbar borders
|
|
FColors[4] := SpBlendColors(clBtnShadow, clWindow, 70);
|
|
FColors[5] := SpBlendColors(clBtnFace, clWindow, 62);
|
|
// 6: Popup
|
|
FColors[6] := SpBlendColors(clBtnFace, clWindow, 15);
|
|
// 7: Popup borders
|
|
FColors[7] := SpBlendColors(clBtnFace, clBtnShadow, 20);
|
|
// 8: Item borders
|
|
FColors[8] := clHighlight;
|
|
// 9: Window borders
|
|
FColors[9] := SpBlendColors(clBtnText, clBtnShadow, 15);
|
|
// 10, 11: Item Checked
|
|
FColors[10] := SpBlendColors(clHighlight, SpBlendColors(clBtnFace, clWindow, 50), 10);
|
|
FColors[11] := FColors[10];
|
|
// 12, 13: Item Pushed
|
|
FColors[12] := SpBlendColors(clHighlight, clWindow, 50);
|
|
FColors[13] := FColors[12];
|
|
// 14, 15: Item HotTrack
|
|
FColors[14] := SpBlendColors(clHighlight, clWindow, 30);
|
|
FColors[15] := FColors[14];
|
|
// 16, 17: OpenToolbarItem
|
|
FColors[16] := SpBlendColors(clBtnFace, clWindow, 16);
|
|
FColors[17] := SpBlendColors(clBtnFace, clWindow, 42);
|
|
// 18: Button external border
|
|
FColors[18] := FColors[4];
|
|
// 19, 20: Button internal borders
|
|
FColors[19] := FColors[5];
|
|
FColors[20] := SpBlendColors(clBtnShadow, clWindow, 40);
|
|
// 21: Grip/Separator soft color
|
|
FColors[21] := clWhite;
|
|
// 22: Panel/CheckBox/Tabs/ProgressBar/TrackBar borders
|
|
FColors[22] := SpBlendColors(clBtnShadow, clWindow, 70);
|
|
end;
|
|
end;
|
|
|
|
procedure TSpTBXOffice2003Skin.FillOptions;
|
|
var
|
|
IsUnknownLuna: Boolean;
|
|
begin
|
|
//---- Skin Properties ----//
|
|
|
|
SkinName := 'Office 2003';
|
|
OfficeMenu := True;
|
|
|
|
//---- Colors ----//
|
|
|
|
FillColors;
|
|
IsUnknownLuna := FColors[0] = clBtnFace;
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(2, FColors[0], FColors[1], clNone, clNone);
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(0, FColors[6], clNone, clNone, clNone);
|
|
Options(skncDockablePanel, sknsNormal).Borders.Fill(0, FColors[3], FColors[3], clNone, clNone);
|
|
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Body.Fill(1, FColors[2], FColors[3], clNone, clNone);
|
|
Options(skncDockablePanelTitleBar, sknsNormal).Borders.Fill(0, FColors[6], FColors[6], clNone, clNone);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(0, FColors[6], clNone, clNone, clNone);
|
|
Options(skncPanel, sknsNormal).Borders.Fill(2, FColors[22], FColors[22], clNone, clNone);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, FColors[6], clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, FColors[7], FColors[7], clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(1, FColors[2], FColors[3], clNone, clNone);
|
|
|
|
Options(skncSplitter, sknsNormal).Body.Fill(1, FColors[2], FColors[3], clNone, clNone);
|
|
|
|
Options(skncToolbar, sknsNormal).Body.Fill(1, FColors[2], FColors[3], clNone, clNone);
|
|
Options(skncToolbar, sknsNormal).Borders.Fill(2, FColors[5], FColors[4], clNone, clNone);
|
|
|
|
Options(skncWindow, sknsNormal).Body.Fill(0, FColors[6], clNone, clNone, clNone);
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, FColors[9], FColors[9], FColors[9], FColors[9]);
|
|
|
|
Options(skncWindowTitleBar, sknsNormal).Body.Fill(0, FColors[9], clNone, clNone, clNone);
|
|
if IsUnknownLuna then
|
|
Options(skncWindowTitleBar, sknsNormal).TextColor := clBtnHighlight;
|
|
|
|
//---- Elements ----//
|
|
Options(skncGutter, sknsNormal).Body.Fill(2, FColors[2], FColors[3], clNone, clNone);
|
|
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, FColors[4], FColors[21], clNone, clNone);
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, FColors[4], FColors[21], clNone, clNone);
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, FColors[4], FColors[21], clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(1, FColors[14], FColors[15], clNone, clNone);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(0, FColors[8], FColors[8], clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(1, FColors[12], FColors[13], clNone, clNone);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(0, FColors[8], FColors[8], clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(1, FColors[10], FColors[11], clNone, clNone);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(0, FColors[8], FColors[8], clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(1, FColors[12], FColors[13], clNone, clNone);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(0, FColors[8], FColors[8], clNone, clNone);
|
|
|
|
Options(skncOpenToolbarItem, sknsNormal).Body.Fill(1, FColors[16], FColors[17], clNone, clNone);
|
|
Options(skncOpenToolbarItem, sknsNormal).Borders.Fill(0, FColors[7], FColors[7], clNone, clNone);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuBarItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuItem);
|
|
|
|
Options(skncButton, sknsNormal).Body.Fill(1, FColors[2], FColors[3], clNone, clNone);
|
|
Options(skncButton, sknsNormal).Borders.Fill(1, FColors[18], FColors[18], FColors[19], FColors[20]);
|
|
Options(skncButton, sknsDisabled).Body.Fill(1, FColors[2], FColors[3], clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(1, FColors[18], FColors[18], FColors[19], FColors[20]);
|
|
Options(skncButton, sknsHotTrack).Body.Fill(1, FColors[14], FColors[15], clNone, clNone);
|
|
Options(skncButton, sknsHotTrack).Borders.Fill(1, FColors[18], FColors[18], FColors[19], FColors[20]);
|
|
Options(skncButton, sknsPushed).Body.Fill(1, FColors[12], FColors[13], clNone, clNone);
|
|
Options(skncButton, sknsPushed).Borders.Fill(1, FColors[18], FColors[18], FColors[19], FColors[20]);
|
|
Options(skncButton, sknsChecked).Body.Fill(1, FColors[10], FColors[11], clNone, clNone);
|
|
Options(skncButton, sknsChecked).Borders.Fill(1, FColors[18], FColors[18], FColors[19], FColors[20]);
|
|
Options(skncButton, sknsCheckedAndHotTrack).Body.Fill(1, SpLighten(FColors[12], 15), FColors[13], clNone, clNone);
|
|
Options(skncButton, sknsCheckedAndHotTrack).Borders.Fill(1, FColors[18], FColors[18], FColors[19], FColors[20]);
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(20);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-20);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-20);
|
|
|
|
CopyOptions(skncToolbarItem, skncCheckBox);
|
|
Options(skncCheckBox, sknsNormal).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
Options(skncCheckBox, sknsDisabled).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, clNone, clNone, FColors[3], FColors[3]);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, clBtnShadow, clBtnShadow);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, clNone, clNone, FColors[8], FColors[8]);
|
|
|
|
CopyOptions(skncToolbarItem, skncEditButton);
|
|
Options(skncEditButton, sknsNormal).Body.Fill(1, FColors[2], FColors[3], clNone, clNone);
|
|
Options(skncEditButton, sknsNormal).Borders.Fill(0, clWindow, clWindow, clNone, clNone);
|
|
|
|
//---- Tabs ----//
|
|
Options(skncTab, sknsHotTrack).Body.Fill(1, FColors[14], FColors[15], clNone, clNone);
|
|
Options(skncTab, sknsHotTrack).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
Options(skncTab, sknsChecked).Body.Fill(0, FColors[6], clNone, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Body.Fill(1, FColors[14], FColors[15], clNone, clNone);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Body.Fill(0, FColors[6], clNone, clNone, clNone);
|
|
Options(skncTabBackground, sknsNormal).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(0, FColors[6], clWhite, clNone, clNone);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(0, FColors[0], clNone, clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Body.Fill(0, FColors[0], clNone, clNone, clNone);
|
|
Options(skncTrackBarButton, sknsNormal).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Body.Fill(1, FColors[12], FColors[13], clNone, clNone);
|
|
Options(skncTrackBarButton, sknsPushed).Borders.Fill(0, FColors[22], FColors[22], clNone, clNone);
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).Body.Fill(1, FColors[2], FColors[3], clNone, clNone);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, FColors[19], FColors[20], clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(1, FColors[14], FColors[15], clNone, clNone);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, FColors[19], FColors[20], clNone, clNone);
|
|
end;
|
|
|
|
procedure TSpTBXOffice2003Skin.SetDefaultColorScheme(const Value: TSpTBXLunaScheme);
|
|
begin
|
|
if FDefaultColorScheme <> Value then begin
|
|
FDefaultColorScheme := Value;
|
|
Reset;
|
|
FillOptions;
|
|
end;
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXOffice2007Skin }
|
|
|
|
procedure TSpTBXOffice2007Skin.FillOptions;
|
|
begin
|
|
//---- Skin Properties ----//
|
|
|
|
SkinName := 'Office 2007';
|
|
OfficeMenu := True;
|
|
|
|
//---- Colors ----//
|
|
|
|
FillColors;
|
|
|
|
//---- Single State ----//
|
|
Options(skncDock, sknsNormal).Body.Fill(7, FColors[0], FColors[1], FColors[2], FColors[3]);
|
|
|
|
Options(skncDockablePanel, sknsNormal).Body.Fill(1, FColors[13], FColors[14], clNone, clNone);
|
|
Options(skncDockablePanel, sknsNormal).Borders.Fill(0, FColors[11], FColors[11], FColors[12], FColors[12]);
|
|
|
|
Options(skncPanel, sknsNormal).Body.Fill(1, FColors[13], FColors[14], clNone, clNone);
|
|
Options(skncPanel, sknsNormal).Borders.Fill(1, FColors[11], FColors[11], FColors[12], FColors[12]);
|
|
|
|
Options(skncPopup, sknsNormal).Body.Fill(0, clWhite, clNone, clNone, clNone);
|
|
Options(skncPopup, sknsNormal).Borders.Fill(0, $C0C0C0, $C0C0C0, clNone, clNone);
|
|
|
|
Options(skncStatusBar, sknsNormal).Body.Fill(7, FColors[7], FColors[8], FColors[9], FColors[10]);
|
|
Options(skncStatusBar, sknsNormal).TextColor := FColors[6]; // This overrides the Items text color
|
|
|
|
CopyOptions(skncStatusBar, skncDockablePanelTitleBar);
|
|
|
|
CopyOptions(skncDock, skncSplitter);
|
|
|
|
Options(skncWindow, sknsNormal).Body.Fill(1, FColors[13], FColors[14], clNone, clNone);
|
|
Options(skncWindow, sknsNormal).Borders.Fill(0, FColors[15], FColors[16], FColors[17], FColors[16]);
|
|
|
|
CopyOptions(skncStatusBar, skncWindowTitleBar);
|
|
|
|
//---- Elements ----//
|
|
Options(skncGutter, sknsNormal).Body.Fill(0, $EEEEE9, clNone, clNone, clNone);
|
|
Options(skncGutter, sknsNormal).Borders.Fill(0, $C5C5C5, clNone, clNone, clNone);
|
|
|
|
Options(skncToolbarGrip, sknsNormal).Body.Fill(0, FColors[4], FColors[5], clNone, clNone);
|
|
|
|
Options(skncStatusBarGrip, sknsNormal).Body.Fill(0, FColors[4], FColors[5], clNone, clNone);
|
|
|
|
Options(skncSeparator, sknsNormal).Body.Fill(0, FColors[4], FColors[5], clNone, clNone);
|
|
|
|
//---- Buttons ----//
|
|
Options(skncToolbarItem, sknsHotTrack).Body.Fill(7, $DBFDFF, $95E7FF, $4CD7FF, $96E7FF);
|
|
Options(skncToolbarItem, sknsHotTrack).Borders.Fill(1, $9BCFDD, $9BCFDD, $D2FBFF, $B3FAFF);
|
|
Options(skncToolbarItem, sknsPushed).Body.Fill(7, $70BAFC, $59A5F3, $388FEF, $64CDFD);
|
|
Options(skncToolbarItem, sknsPushed).Borders.Fill(1, $65818E, $AEBDC3, $66C1FA, $66C1FA);
|
|
Options(skncToolbarItem, sknsChecked).Body.Fill(7, $A8D6FE, $61AFFC, $329BFB, $ACF0FF);
|
|
Options(skncToolbarItem, sknsChecked).Borders.Fill(1, $65818E, $AEBDC3, $66C1FA, $66C1FA);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Body.Fill(7, $70BAFC, $59A5F3, $388FEF, $64CDFD);
|
|
Options(skncToolbarItem, sknsCheckedAndHotTrack).Borders.Fill(1, $65818E, $AEBDC3, $66C1FA, $66C1FA);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuBarItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncMenuItem);
|
|
|
|
CopyOptions(skncToolbarItem, skncButton);
|
|
Options(skncButton, sknsNormal).Body.Fill(1, FColors[13], FColors[14], clNone, clNone);
|
|
Options(skncButton, sknsNormal).Borders.Fill(1, FColors[11], FColors[11], FColors[12], FColors[12]);
|
|
Options(skncButton, sknsDisabled).Body.Fill(1, FColors[13], FColors[14], clNone, clNone);
|
|
Options(skncButton, sknsDisabled).Borders.Fill(1, FColors[11], FColors[11], FColors[12], FColors[12]);
|
|
|
|
Options(skncListItem, sknsChecked).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Assign(Options(skncToolbarItem, sknsHotTrack));
|
|
Options(skncListItem, sknsHotTrack).Body.Lighten(10);
|
|
Options(skncListItem, sknsHotTrack).Borders.Lighten(10);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Body.Lighten(-10);
|
|
Options(skncListItem, sknsCheckedAndHotTrack).Borders.Lighten(-10);
|
|
|
|
CopyOptions(skncToolbarItem, skncCheckBox);
|
|
Options(skncCheckBox, sknsNormal).Borders.Fill(1, FColors[11], FColors[11], clNone, clNone);
|
|
Options(skncCheckBox, sknsDisabled).Borders.Fill(1, FColors[11], FColors[11], clNone, clNone);
|
|
|
|
CopyOptions(skncCheckBox, skncRadioButton);
|
|
|
|
//---- Editors ----//
|
|
Options(skncEditFrame, sknsNormal).Borders.Fill(1, clNone, clNone, FColors[4], FColors[4]);
|
|
Options(skncEditFrame, sknsDisabled).Borders.Fill(1, clNone, clNone, FColors[4], FColors[4]);
|
|
Options(skncEditFrame, sknsHotTrack).Borders.Fill(1, clNone, clNone, FColors[4], FColors[4]);
|
|
|
|
CopyOptions(skncToolbarItem, skncEditButton);
|
|
|
|
//---- Tabs ----//
|
|
Options(skncTab, sknsHotTrack).Assign(Options(skncButton, sknsHotTrack));
|
|
Options(skncTab, sknsChecked).Body.Fill(0, FColors[13], clNone, clNone, clNone);
|
|
Options(skncTab, sknsChecked).Borders.Fill(1, FColors[11], FColors[11], FColors[12], FColors[12]);
|
|
Options(skncTab, sknsCheckedAndHotTrack).Assign(Options(skncButton, sknsHotTrack));
|
|
|
|
// TabBackground: Only Normal state is used
|
|
Options(skncTabBackground, sknsNormal).Assign(Options(skncButton, sknsNormal));
|
|
|
|
//---- ProgressBar ----//
|
|
// ProgressBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
Options(skncProgressBar, sknsNormal).Body.Fill(0, FColors[5], clWhite, clNone, clNone);
|
|
Options(skncProgressBar, sknsNormal).Borders.Fill(1, FColors[2], FColors[2], clNone, clNone);
|
|
Options(skncProgressBar, sknsHotTrack).Body.Fill(7, $DBFDFF, $95E7FF, $4CD7FF, $96E7FF);
|
|
Options(skncProgressBar, sknsHotTrack).Borders.Fill(1, FColors[2], FColors[2], clNone, clNone);
|
|
|
|
//---- TrackBar ----//
|
|
// TrackBar: Only Normal and HotTrack states are used
|
|
// HotTrack represents the selection
|
|
CopyOptions(skncProgressBar, skncTrackBar);
|
|
|
|
// TrackBarButton: Only Normal and Pushed states are used
|
|
Options(skncTrackBarButton, sknsNormal).Assign(Options(skncToolbarItem, sknsChecked));
|
|
Options(skncTrackBarButton, sknsPushed).Assign(Options(skncToolbarItem, sknsPushed));
|
|
|
|
//---- Header ----//
|
|
Options(skncHeader, sknsNormal).Body.Fill(1, FColors[13], FColors[14], clNone, clNone);
|
|
Options(skncHeader, sknsNormal).Borders.Fill(0, FColors[11], FColors[11], FColors[12], FColors[12]);
|
|
Options(skncHeader, sknsHotTrack).Body.Fill(7, $DBFDFF, $95E7FF, $4CD7FF, $96E7FF);
|
|
Options(skncHeader, sknsHotTrack).Borders.Fill(0, $7E99A9, $7E99A9, $D2FBFF, $D2FBFF);
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXOffice2007BlueSkin }
|
|
|
|
procedure TSpTBXOffice2007BlueSkin.FillColors;
|
|
const
|
|
ColorConst: TSpTBXOffice2007Colors = (
|
|
$F4E6DB, $F0DECF, $EDD9C9, $FFF2E7, // 0, 1, 2, 3: Dock
|
|
$D6AE90, $FFFFFF, // 4, 5: Separator
|
|
clNone, // 6: StatusBar Text Color
|
|
$F9E6D7, $F7D7BF, $F5D0B4, $F7E5D6, // 7, 8, 9, 10: StatusBar
|
|
$EDC4A5, $FEF6ED, // 11, 12: Button Borders
|
|
$FEF9F6, $FBE7D9, // 13, 14: Button Normal
|
|
$825A3B, $E1C6B1, $F7D9C2 // 15, 16, 17: Window Borders
|
|
);
|
|
begin
|
|
FColors := ColorConst;
|
|
SkinName := 'Office 2007 Blue';
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXOffice2007BlackSkin }
|
|
|
|
procedure TSpTBXOffice2007BlackSkin.FillColors;
|
|
const
|
|
ColorConst: TSpTBXOffice2007Colors = (
|
|
$DDD8D5, $CFC6C1, $C5BBB4, $EAEAEA, // 0, 1, 2, 3: Dock
|
|
$989898, $CCCCCC, // 4, 5: Separator
|
|
clWhite, // 6: StatusBar Text Color
|
|
$524743, $463E3B, $30302F, $454545, // 7, 8, 9, 10: StatusBar
|
|
$B4B0AE, $DBD4D0, // 11, 12: Button Borders
|
|
$E5E0DD, $CFC6C1, // 13, 14: Button Normal
|
|
$2F2F2F, $4D4D4D, $666666 // 15, 16, 17: Window Borders
|
|
);
|
|
begin
|
|
FColors := ColorConst;
|
|
SkinName := 'Office 2007 Black';
|
|
end;
|
|
|
|
//WMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWMWM
|
|
{ TSpTBXOffice2007SilverSkin }
|
|
|
|
procedure TSpTBXOffice2007SilverSkin.FillColors;
|
|
const
|
|
ColorConst: TSpTBXOffice2007Colors = (
|
|
$DDD8D5, $CFC6C1, $C5BBB4, $EAEAEA, // 0, 1, 2, 3: Dock
|
|
$AAA6A2, $FFFFFF, // 4, 5: Separator
|
|
clNone, // 6: StatusBar Text Color
|
|
$EBE8E7, $C2B7B1, $B6AFA9, $CEC9C7, // 7, 8, 9, 10: StatusBar
|
|
$B4B0AE, $DBD4D0, // 11, 12: Button Borders
|
|
$E5E0DD, $CFC6C1, // 13, 14: Button Normal
|
|
$989898, $BABABB, $DEDDDE // 15, 16, 17: Window Borders
|
|
);
|
|
begin
|
|
FColors := ColorConst;
|
|
SkinName := 'Office 2007 Silver';
|
|
end;
|
|
|
|
initialization
|
|
SkinManager.SkinsList.AddSkin('Aluminum', TSpTBXAluminumSkin);
|
|
SkinManager.SkinsList.AddSkin('Athen', TSpTBXAthenSkin);
|
|
SkinManager.SkinsList.AddSkin('Dream', TSpTBXDreamSkin);
|
|
SkinManager.SkinsList.AddSkin('Eos', TSpTBXEosSkin);
|
|
SkinManager.SkinsList.AddSkin('Human', TSpTBXHumanSkin);
|
|
SkinManager.SkinsList.AddSkin('Leopard', TSpTBXLeopardSkin);
|
|
SkinManager.SkinsList.AddSkin('Xito', TSpTBXXitoSkin);
|
|
{ Office }
|
|
SkinManager.SkinsList.AddSkin('Office XP', TSpTBXOfficeXPSkin);
|
|
SkinManager.SkinsList.AddSkin('Office 2003', TSpTBXOffice2003Skin);
|
|
SkinManager.SkinsList.AddSkin('Office 2007 Blue', TSpTBXOffice2007BlueSkin);
|
|
SkinManager.SkinsList.AddSkin('Office 2007 Black', TSpTBXOffice2007BlackSkin);
|
|
SkinManager.SkinsList.AddSkin('Office 2007 Silver', TSpTBXOffice2007SilverSkin);
|
|
|
|
end.
|