From f40cc42f14bd6bfbe9a23eabe6cf6517c6835e4e Mon Sep 17 00:00:00 2001 From: k-m_schindler Date: Sun, 3 Jan 2016 20:39:22 +0000 Subject: enable writable git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@3183 b956fd51-792f-4845-bead-9b4dfca2ff2c --- src/base/UThemes.pas | 8 ++++++++ src/menu/UMenu.pas | 18 ++++-------------- src/menu/UMenuText.pas | 23 ++++++++++------------- 3 files changed, 22 insertions(+), 27 deletions(-) diff --git a/src/base/UThemes.pas b/src/base/UThemes.pas index 283c148d..6584590a 100644 --- a/src/base/UThemes.pas +++ b/src/base/UThemes.pas @@ -79,6 +79,13 @@ const type + TThemePosition = record + X: integer; + Y: integer; + H: integer; + W: integer; + end; + TThemeStatic = record X: integer; Y: integer; @@ -118,6 +125,7 @@ type Size: integer; Align: integer; Text: UTF8String; + Writable: boolean; // true -> add a blink char (|) at the end //Reflection Reflection: boolean; ReflectionSpacing: real; diff --git a/src/menu/UMenu.pas b/src/menu/UMenu.pas index a290ee51..964da6ac 100644 --- a/src/menu/UMenu.pas +++ b/src/menu/UMenu.pas @@ -116,10 +116,7 @@ type function AddText(ThemeText: TThemeText): integer; overload; function AddText(X, Y: real; const Text_: UTF8String): integer; overload; function AddText(X, Y: real; Style: integer; Size, ColR, ColG, ColB: real; const Text: UTF8String): integer; overload; - function AddText(X, Y, W: real; Style: integer; Size, ColR, ColG, ColB: real; Align: integer; const Text_: UTF8String; Reflection_: boolean; ReflectionSpacing_: real; Z : real): integer; overload; -{ for later additions function AddText(X, Y, W: real; Style: integer; Size, ColR, ColG, ColB: real; Align: integer; const Text_: UTF8String; Reflection_: boolean; ReflectionSpacing_: real; Z : real; Writable: boolean): 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 @@ -802,9 +799,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.Reflection, ThemeText.ReflectionSpacing, ThemeText.Z); -// add later when writable is available -// ThemeText.ColR, ThemeText.ColG, ThemeText.ColB, ThemeText.Align, ThemeText.Text, ThemeText.Reflection, ThemeText.ReflectionSpacing, ThemeText.Z, ThemeText.Writable); + ThemeText.ColR, ThemeText.ColG, ThemeText.ColB, ThemeText.Align, ThemeText.Text, ThemeText.Reflection, ThemeText.ReflectionSpacing, ThemeText.Z, ThemeText.Writable); end; function TMenu.AddText(X, Y: real; const Text_: UTF8String): integer; @@ -823,9 +818,7 @@ function TMenu.AddText(X, Y: real; Size, ColR, ColG, ColB: real; const Text: UTF8String): integer; begin - Result := AddText(X, Y, 0, Style, Size, ColR, ColG, ColB, 0, Text, false, 0, 0); -// add with writable -// Result := AddText(X, Y, 0, Style, Size, ColR, ColG, ColB, 0, Text, false, 0, 0, false); + Result := AddText(X, Y, 0, Style, Size, ColR, ColG, ColB, 0, Text, false, 0, 0, false); end; function TMenu.AddText(X, Y, W: real; @@ -835,18 +828,15 @@ function TMenu.AddText(X, Y, W: real; const Text_: UTF8String; Reflection_: boolean; ReflectionSpacing_: real; - Z : real{; add writable - Writable: boolean}): integer; + Z : real; + Writable: boolean): 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_, Reflection_, ReflectionSpacing_, Z); -{ add with writable Text[TextNum] := TText.Create(X, Y, W, Style, Size, ColR, ColG, ColB, Align, Text_, Reflection_, ReflectionSpacing_, Z, Writable); -} Result := TextNum; end; diff --git a/src/menu/UMenuText.pas b/src/menu/UMenuText.pas index ca480adc..7f02171c 100644 --- a/src/menu/UMenuText.pas +++ b/src/menu/UMenuText.pas @@ -72,7 +72,7 @@ type Reflection: boolean; ReflectionSpacing: real; -// for adding later Writable: boolean; + Writable: boolean; procedure SetSelect(Value: boolean); property Selected: boolean read SelectBool write SetSelect; @@ -85,10 +85,8 @@ type procedure Draw; constructor Create; overload; constructor Create(X, Y: real; const Text: UTF8String); overload; - constructor Create(ParX, ParY, ParW: real; ParStyle: integer; ParSize, ParColR, ParColG, ParColB: real; ParAlign: integer; const ParText: UTF8String; ParReflection: boolean; ParReflectionSpacing: real; ParZ: real); overload; -{ when adding writable constructor Create(ParX, ParY, ParW: real; ParStyle: integer; ParSize, ParColR, ParColG, ParColB: real; ParAlign: integer; const ParText: UTF8String; ParReflection: boolean; ParReflectionSpacing: real; ParZ: real; Writable: boolean); overload; - +{ function GetMouseOverArea: TMouseOverRect; } end; @@ -321,14 +319,13 @@ begin if (not (SelectBool and SelectBlink)) or (I <> High(TextTiles)) then Text2 := TextTiles[I] else -// begin -// if (Writable) then - Text2 := TextTiles[I] + '|'; -{ + begin + if (Writable) then + Text2 := TextTiles[I] + '|' else Text2 := TextTiles[I]; end; -} + case Align of 1: X2 := X + MoveX - glTextWidth(tmpText2)/2; { centered } 2: X2 := X + MoveX - glTextWidth(tmpText2); { right aligned } @@ -362,7 +359,7 @@ end; constructor TText.Create(X, Y: real; const Text: UTF8String); begin - Create(X, Y, 0, ftNormal, 30, 0, 0, 0, 0, Text, false, 0, 0{, false}); + Create(X, Y, 0, ftNormal, 30, 0, 0, 0, 0, Text, false, 0, 0, false); end; constructor TText.Create(ParX, ParY, ParW: real; @@ -372,8 +369,8 @@ constructor TText.Create(ParX, ParY, ParW: real; const ParText: UTF8String; ParReflection: boolean; ParReflectionSpacing: real; - ParZ: real{; - Writable: boolean}); + ParZ: real; + Writable: boolean); begin inherited Create; Alpha := 1; @@ -393,7 +390,7 @@ begin Visible := true; Reflection := ParReflection; ReflectionSpacing := ParReflectionSpacing; -// Writable := Writable; + Writable := Writable; end; { add later function TText.GetMouseOverArea: TMouseOverRect; -- cgit v1.2.3