From 808007e7eef95427292f9aa2bb63541ddef020ec Mon Sep 17 00:00:00 2001 From: mogguh Date: Mon, 5 May 2008 13:02:28 +0000 Subject: Added text reflection as new property in the theme git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1060 b956fd51-792f-4845-bead-9b4dfca2ff2c --- Game/Code/Menu/UMenu.pas | 10 +++++----- Game/Code/Menu/UMenuText.pas | 18 +++++++++++++++--- 2 files changed, 20 insertions(+), 8 deletions(-) (limited to 'Game/Code/Menu') diff --git a/Game/Code/Menu/UMenu.pas b/Game/Code/Menu/UMenu.pas index 126fefa1..0eebeaf6 100644 --- a/Game/Code/Menu/UMenu.pas +++ b/Game/Code/Menu/UMenu.pas @@ -75,7 +75,7 @@ type function AddText(ThemeText: TThemeText): integer; overload; function AddText(X, Y: real; const Text_: string): integer; overload; function AddText(X, Y: real; Style: integer; Size, ColR, ColG, ColB: real; const Text: string): integer; overload; - function AddText(X, Y, W: real; Style: integer; Size, ColR, ColG, ColB: real; Align: integer; const Text_: string): integer; overload; + function AddText(X, Y, W: real; Style: integer; Size, ColR, ColG, ColB: real; Align: integer; const Text_: string; Reflection_: Boolean; ReflectionSpacing_: Real): integer; overload; // button Procedure SetButtonLength(Length: Cardinal); //Function that Set Length of Button Array in one Step instead of register new Memory for every Button @@ -539,7 +539,7 @@ end; function TMenu.AddText(ThemeText: TThemeText): integer; begin Result := AddText(ThemeText.X, ThemeText.Y, ThemeText.W, ThemeText.Font, ThemeText.Size, - ThemeText.ColR, ThemeText.ColG, ThemeText.ColB, ThemeText.Align, ThemeText.Text); + ThemeText.ColR, ThemeText.ColG, ThemeText.ColB, ThemeText.Align, ThemeText.Text, ThemeText.Reflection, ThemeText.ReflectionSpacing); end; function TMenu.AddText(X, Y: real; const Text_: string): integer; @@ -555,17 +555,17 @@ end; function TMenu.AddText(X, Y: real; Style: integer; Size, ColR, ColG, ColB: real; const Text: string): integer; begin - Result := AddText(X, Y, 0, Style, Size, ColR, ColG, ColB, 0, Text); + Result := AddText(X, Y, 0, Style, Size, ColR, ColG, ColB, 0, Text, false, 0); end; -function TMenu.AddText(X, Y, W: real; Style: integer; Size, ColR, ColG, ColB: real; Align: integer; const Text_: string): integer; +function TMenu.AddText(X, Y, W: real; Style: integer; Size, ColR, ColG, ColB: real; Align: integer; const Text_: string; Reflection_: Boolean; ReflectionSpacing_: Real): integer; var TextNum: integer; begin // adds text TextNum := Length(Text); SetLength(Text, TextNum + 1); - Text[TextNum] := TText.Create(X, Y, W, Style, Size, ColR, ColG, ColB, Align, Text_); + Text[TextNum] := TText.Create(X, Y, W, Style, Size, ColR, ColG, ColB, Align, Text_, Reflection_, ReflectionSpacing_); Result := TextNum; end; diff --git a/Game/Code/Menu/UMenuText.pas b/Game/Code/Menu/UMenuText.pas index 4b376a90..3ed0095e 100644 --- a/Game/Code/Menu/UMenuText.pas +++ b/Game/Code/Menu/UMenuText.pas @@ -40,6 +40,10 @@ type Visible: boolean; Align: integer; // 0 = left, 1 = center, 2 = right + //Reflection + Reflection: boolean; + ReflectionSpacing: Real; + procedure SetSelect(Value: Boolean); property Selected: Boolean read SelectBool write SetSelect; @@ -51,7 +55,7 @@ type procedure Draw; constructor Create; overload; constructor Create(X, Y: real; Tekst: string); overload; - constructor Create(ParX, ParY, ParW: real; ParStyle: integer; ParSize, ParColR, ParColG, ParColB: real; ParAlign: integer; ParTekst: string); overload; + constructor Create(ParX, ParY, ParW: real; ParStyle: integer; ParSize, ParColR, ParColG, ParColB: real; ParAlign: integer; ParTekst: string; ParReflection: Boolean; ParReflectionSpacing: Real) overload; end; implementation @@ -276,6 +280,12 @@ begin glColor4f(ColR*Int, ColG*Int, ColB*Int, Alpha); + //Reflection + if Reflection = true then + SetFontReflection(true,ReflectionSpacing) + else + SetFontReflection(false,0); + //If Selected Set Blink... if SelectBool then begin @@ -346,10 +356,10 @@ end; constructor TText.Create(X, Y: real; Tekst: string); begin - Create(X, Y, 0, 0, 10, 0, 0, 0, 0, Tekst); + Create(X, Y, 0, 0, 10, 0, 0, 0, 0, Tekst, false, 0); end; -constructor TText.Create(ParX, ParY, ParW: real; ParStyle: integer; ParSize, ParColR, ParColG, ParColB: real; ParAlign: integer; ParTekst: string); +constructor TText.Create(ParX, ParY, ParW: real; ParStyle: integer; ParSize, ParColR, ParColG, ParColB: real; ParAlign: integer; ParTekst: string; ParReflection: Boolean; ParReflectionSpacing: Real); begin inherited Create; Alpha := 1; @@ -366,6 +376,8 @@ begin Align := ParAlign; SelectBool := false; Visible := true; + Reflection:= ParReflection; + ReflectionSpacing:= ParReflectionSpacing; end; -- cgit v1.2.3