aboutsummaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/UThemes.pas148
1 files changed, 74 insertions, 74 deletions
diff --git a/src/base/UThemes.pas b/src/base/UThemes.pas
index 3f00ce52..745a5d9b 100644
--- a/src/base/UThemes.pas
+++ b/src/base/UThemes.pas
@@ -51,26 +51,30 @@ type
R, G, B, A: Double;
end;
-TThemeBackground = record
- BGType: byte;
+type
+ TBackgroundType =
+ (bgtNone, bgtColor, bgtTexture, bgtVideo, bgtFade, bgtAuto);
+
+const
+ BGT_Names: array [TBackgroundType] of string =
+ ('none', 'color', 'texture', 'video', 'fade', 'auto');
+
+type
+ TThemeBackground = record
+ BGType: TBackgroundType;
Color: TRGB;
Tex: string;
Alpha: real;
end;
const
- BGT_Names: array [0..4] of string = ('none', 'color', 'texture', 'video', 'fade');
- BGT_None = 0;
- BGT_Color = 1;
- BGT_Texture = 2;
- BGT_Video = 3;
- BGT_Fade = 4;
- BGT_Auto = 255;
//Defaul Background for Screens w/o Theme e.g. editor
- DEFAULTBACKGROUND: TThemeBackground = (BGType: BGT_Color;
- Color: (R:1; G:1; B:1);
- Tex: '';
- Alpha: 1.0);
+ DEFAULT_BACKGROUND: TThemeBackground = (
+ BGType: bgtColor;
+ Color: (R:1; G:1; B:1);
+ Tex: '';
+ Alpha: 1.0
+ );
type
@@ -266,7 +270,7 @@ type
W: integer;
H: integer;
Style: integer;
- end;
+ end;
//Equalizer Mod
Equalizer: TThemeEqualizer;
@@ -700,9 +704,9 @@ type
{$ENDIF}
LastThemeBasic: TThemeBasic;
- procedure create_theme_objects();
+ procedure CreateThemeObjects();
+
public
-
Loading: TThemeLoading;
Main: TThemeMain;
Name: TThemeName;
@@ -740,33 +744,32 @@ type
ILevel: array[0..2] of string;
- constructor Create(FileName: string); overload; // Initialize theme system
- constructor Create(FileName: string; Color: integer); overload; // Initialize theme system with color
+ constructor Create(const FileName: string); overload; // Initialize theme system
+ constructor Create(const FileName: string; Color: integer); overload; // Initialize theme system with color
function LoadTheme(FileName: string; sColor: integer): boolean; // Load some theme settings from file
procedure LoadColors;
- procedure ThemeLoadBasic(Theme: TThemeBasic; Name: string);
- procedure ThemeLoadBackground(var ThemeBackground: TThemeBackground; Name: string);
- procedure ThemeLoadText(var ThemeText: TThemeText; Name: string);
- procedure ThemeLoadTexts(var ThemeText: AThemeText; Name: string);
- procedure ThemeLoadStatic(var ThemeStatic: TThemeStatic; Name: string);
- procedure ThemeLoadStatics(var ThemeStatic: AThemeStatic; Name: string);
- procedure ThemeLoadButton(var ThemeButton: TThemeButton; Name: string; const Collections: PAThemeButtonCollection = nil);
- procedure ThemeLoadButtonCollection(var Collection: TThemeButtonCollection; Name: string);
- procedure ThemeLoadButtonCollections(var Collections: AThemeButtonCollection; Name: string);
- procedure ThemeLoadSelectSlide(var ThemeSelectS: TThemeSelectSlide; Name: string);
- procedure ThemeLoadEqualizer(var ThemeEqualizer: TThemeEqualizer; Name: string);
-
- procedure ThemeSave(FileName: string);
- procedure ThemeSaveBasic(Theme: TThemeBasic; Name: string);
- procedure ThemeSaveBackground(ThemeBackground: TThemeBackground; Name: string);
- procedure ThemeSaveStatic(ThemeStatic: TThemeStatic; Name: string);
- procedure ThemeSaveStatics(ThemeStatic: AThemeStatic; Name: string);
- procedure ThemeSaveText(ThemeText: TThemeText; Name: string);
- procedure ThemeSaveTexts(ThemeText: AThemeText; Name: string);
- procedure ThemeSaveButton(ThemeButton: TThemeButton; Name: string);
-
+ procedure ThemeLoadBasic(Theme: TThemeBasic; const Name: string);
+ procedure ThemeLoadBackground(var ThemeBackground: TThemeBackground; const Name: string);
+ procedure ThemeLoadText(var ThemeText: TThemeText; const Name: string);
+ procedure ThemeLoadTexts(var ThemeText: AThemeText; const Name: string);
+ procedure ThemeLoadStatic(var ThemeStatic: TThemeStatic; const Name: string);
+ procedure ThemeLoadStatics(var ThemeStatic: AThemeStatic; const Name: string);
+ procedure ThemeLoadButton(var ThemeButton: TThemeButton; const Name: string; Collections: PAThemeButtonCollection = nil);
+ procedure ThemeLoadButtonCollection(var Collection: TThemeButtonCollection; const Name: string);
+ procedure ThemeLoadButtonCollections(var Collections: AThemeButtonCollection; const Name: string);
+ procedure ThemeLoadSelectSlide(var ThemeSelectS: TThemeSelectSlide; const Name: string);
+ procedure ThemeLoadEqualizer(var ThemeEqualizer: TThemeEqualizer; const Name: string);
+
+ procedure ThemeSave(const FileName: string);
+ procedure ThemeSaveBasic(Theme: TThemeBasic; const Name: string);
+ procedure ThemeSaveBackground(ThemeBackground: TThemeBackground; const Name: string);
+ procedure ThemeSaveStatic(ThemeStatic: TThemeStatic; const Name: string);
+ procedure ThemeSaveStatics(ThemeStatic: AThemeStatic; const Name: string);
+ procedure ThemeSaveText(ThemeText: TThemeText; const Name: string);
+ procedure ThemeSaveTexts(ThemeText: AThemeText; const Name: string);
+ procedure ThemeSaveButton(ThemeButton: TThemeButton; const Name: string);
end;
TColor = record
@@ -823,12 +826,12 @@ begin
glColor4f(Color.R, Color.G, Color.B, Min(Color.A, Alpha));
end;
-constructor TTheme.Create(FileName: string);
+constructor TTheme.Create(const FileName: string);
begin
Create(FileName, 0);
end;
-constructor TTheme.Create(FileName: string; Color: integer);
+constructor TTheme.Create(const FileName: string; Color: integer);
begin
inherited Create();
@@ -872,11 +875,10 @@ end;
function TTheme.LoadTheme(FileName: string; sColor: integer): boolean;
var
I: integer;
- Path: string;
begin
Result := false;
- create_theme_objects();
+ CreateThemeObjects();
Log.LogStatus('Loading: '+ FileName, 'TTheme.LoadTheme');
@@ -1475,7 +1477,7 @@ begin
end;
end;
-procedure TTheme.ThemeLoadBasic(Theme: TThemeBasic; Name: string);
+procedure TTheme.ThemeLoadBasic(Theme: TThemeBasic; const Name: string);
begin
ThemeLoadBackground(Theme.Background, Name);
ThemeLoadTexts(Theme.Text, Name + 'Text');
@@ -1485,20 +1487,22 @@ begin
LastThemeBasic := Theme;
end;
-procedure TTheme.ThemeLoadBackground(var ThemeBackground: TThemeBackground; Name: string);
+procedure TTheme.ThemeLoadBackground(var ThemeBackground: TThemeBackground; const Name: string);
var
BGType: string;
- I: integer;
+ I: TBackgroundType;
begin
- BGType := lowercase(ThemeIni.ReadString(Name + 'Background', 'Type', 'auto'));
+ BGType := LowerCase(ThemeIni.ReadString(Name + 'Background', 'Type', 'auto'));
- ThemeBackground.BGType := BGT_Auto;
- for I := 0 to high(BGT_Names) do
+ ThemeBackground.BGType := bgtAuto;
+ for I := Low(BGT_Names) to High(BGT_Names) do
+ begin
if (BGT_Names[I] = BGType) then
begin
ThemeBackground.BGType := I;
Break;
end;
+ end;
ThemeBackground.Tex := ThemeIni.ReadString(Name + 'Background', 'Tex', '');
ThemeBackground.Color.R := ThemeIni.ReadFloat(Name + 'Background', 'ColR', 1);
@@ -1507,7 +1511,7 @@ begin
ThemeBackground.Alpha := ThemeIni.ReadFloat(Name + 'Background', 'Alpha', 1);
end;
-procedure TTheme.ThemeLoadText(var ThemeText: TThemeText; Name: string);
+procedure TTheme.ThemeLoadText(var ThemeText: TThemeText; const Name: string);
var
C: integer;
begin
@@ -1541,7 +1545,7 @@ begin
end;
end;
-procedure TTheme.ThemeLoadTexts(var ThemeText: AThemeText; Name: string);
+procedure TTheme.ThemeLoadTexts(var ThemeText: AThemeText; const Name: string);
var
T: integer;
begin
@@ -1554,7 +1558,7 @@ begin
end;
end;
-procedure TTheme.ThemeLoadStatic(var ThemeStatic: TThemeStatic; Name: string);
+procedure TTheme.ThemeLoadStatic(var ThemeStatic: TThemeStatic; const Name: string);
var
C: integer;
begin
@@ -1587,7 +1591,7 @@ begin
ThemeStatic.ReflectionSpacing := ThemeIni.ReadFloat(Name, 'ReflectionSpacing', 15);
end;
-procedure TTheme.ThemeLoadStatics(var ThemeStatic: AThemeStatic; Name: string);
+procedure TTheme.ThemeLoadStatics(var ThemeStatic: AThemeStatic; const Name: string);
var
S: integer;
begin
@@ -1601,7 +1605,7 @@ begin
end;
//Button Collection Mod
-procedure TTheme.ThemeLoadButtonCollection(var Collection: TThemeButtonCollection; Name: string);
+procedure TTheme.ThemeLoadButtonCollection(var Collection: TThemeButtonCollection; const Name: string);
var T: integer;
begin
//Load Collection Style
@@ -1615,7 +1619,7 @@ begin
Collection.FirstChild := 0;
end;
-procedure TTheme.ThemeLoadButtonCollections(var Collections: AThemeButtonCollection; Name: string);
+procedure TTheme.ThemeLoadButtonCollections(var Collections: AThemeButtonCollection; const Name: string);
var
I: integer;
begin
@@ -1629,7 +1633,7 @@ begin
end;
//End Button Collection Mod
-procedure TTheme.ThemeLoadButton(var ThemeButton: TThemeButton; Name: string; const Collections: PAThemeButtonCollection);
+procedure TTheme.ThemeLoadButton(var ThemeButton: TThemeButton; const Name: string; Collections: PAThemeButtonCollection);
var
C: integer;
TLen: integer;
@@ -1721,9 +1725,7 @@ begin
ThemeLoadText(ThemeButton.Text[T-1], Name + 'Text' + IntToStr(T));
end;
-procedure TTheme.ThemeLoadSelectSlide(var ThemeSelectS: TThemeSelectSlide; Name: string);
-var
- C: integer;
+procedure TTheme.ThemeLoadSelectSlide(var ThemeSelectS: TThemeSelectSlide; const Name: string);
begin
ThemeSelectS.Text := Language.Translate(ThemeIni.ReadString(Name, 'Text', ''));
@@ -1764,7 +1766,7 @@ begin
ThemeSelectS.STDInt := ThemeIni.ReadFloat(Name, 'STDInt', 1);
end;
-procedure TTheme.ThemeLoadEqualizer(var ThemeEqualizer: TThemeEqualizer; Name: string);
+procedure TTheme.ThemeLoadEqualizer(var ThemeEqualizer: TThemeEqualizer; const Name: string);
var I: integer;
begin
ThemeEqualizer.Visible := (ThemeIni.ReadInteger(Name, 'Visible', 0) = 1);
@@ -1799,11 +1801,9 @@ end;
procedure TTheme.LoadColors;
var
- SL: TStringList;
- C: integer;
- S: string;
- Col: integer;
- RGB: TRGB;
+ SL: TStringList;
+ C: integer;
+ S: string;
begin
SL := TStringList.Create;
ThemeIni.ReadSection('Colors', SL);
@@ -2020,7 +2020,7 @@ begin
Result.B := sqrt(RGB.B);
end;
-procedure TTheme.ThemeSave(FileName: string);
+procedure TTheme.ThemeSave(const FileName: string);
var
I: integer;
begin
@@ -2145,7 +2145,7 @@ begin
ThemeIni.Free;
end;
-procedure TTheme.ThemeSaveBasic(Theme: TThemeBasic; Name: string);
+procedure TTheme.ThemeSaveBasic(Theme: TThemeBasic; const Name: string);
begin
ThemeIni.WriteInteger(Name, 'Texts', Length(Theme.Text));
@@ -2154,7 +2154,7 @@ begin
ThemeSaveTexts(Theme.Text, Name + 'Text');
end;
-procedure TTheme.ThemeSaveBackground(ThemeBackground: TThemeBackground; Name: string);
+procedure TTheme.ThemeSaveBackground(ThemeBackground: TThemeBackground; const Name: string);
begin
if ThemeBackground.Tex <> '' then
ThemeIni.WriteString(Name, 'Tex', ThemeBackground.Tex)
@@ -2164,7 +2164,7 @@ begin
end;
end;
-procedure TTheme.ThemeSaveStatic(ThemeStatic: TThemeStatic; Name: string);
+procedure TTheme.ThemeSaveStatic(ThemeStatic: TThemeStatic; const Name: string);
begin
ThemeIni.WriteInteger(Name, 'X', ThemeStatic.X);
ThemeIni.WriteInteger(Name, 'Y', ThemeStatic.Y);
@@ -2181,7 +2181,7 @@ begin
ThemeIni.WriteFloat(Name, 'TexY2', ThemeStatic.TexY2);
end;
-procedure TTheme.ThemeSaveStatics(ThemeStatic: AThemeStatic; Name: string);
+procedure TTheme.ThemeSaveStatics(ThemeStatic: AThemeStatic; const Name: string);
var
S: integer;
begin
@@ -2191,7 +2191,7 @@ begin
ThemeIni.EraseSection(Name + {'Static' + }IntToStr(S+1));
end;
-procedure TTheme.ThemeSaveText(ThemeText: TThemeText; Name: string);
+procedure TTheme.ThemeSaveText(ThemeText: TThemeText; const Name: string);
begin
ThemeIni.WriteInteger(Name, 'X', ThemeText.X);
ThemeIni.WriteInteger(Name, 'Y', ThemeText.Y);
@@ -2207,7 +2207,7 @@ begin
ThemeIni.WriteFloat(Name, 'ReflectionSpacing', ThemeText.ReflectionSpacing);
end;
-procedure TTheme.ThemeSaveTexts(ThemeText: AThemeText; Name: string);
+procedure TTheme.ThemeSaveTexts(ThemeText: AThemeText; const Name: string);
var
T: integer;
begin
@@ -2217,7 +2217,7 @@ begin
ThemeIni.EraseSection(Name + {'Text' + }IntToStr(T+1));
end;
-procedure TTheme.ThemeSaveButton(ThemeButton: TThemeButton; Name: string);
+procedure TTheme.ThemeSaveButton(ThemeButton: TThemeButton; const Name: string);
var
T: integer;
begin
@@ -2260,7 +2260,7 @@ begin
ThemeSaveText(ThemeButton.Text[T], Name + 'Text' + IntToStr(T+1));
end;
-procedure TTheme.create_theme_objects();
+procedure TTheme.CreateThemeObjects();
begin
freeandnil(Loading);
Loading := TThemeLoading.Create;