aboutsummaryrefslogtreecommitdiffstats
path: root/src/menu/UMenuButtonCollection.pas
diff options
context:
space:
mode:
authork-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-08-27 15:01:16 +0000
committerk-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-08-27 15:01:16 +0000
commite06c097dbfbebee3c03bf82cdcd05805f546a61d (patch)
tree8c5128db7704ea917712816fe31b31779b48f47a /src/menu/UMenuButtonCollection.pas
parentaa0b17111ef92a6ce4359dd6fa137e8233fcf486 (diff)
downloadusdx-e06c097dbfbebee3c03bf82cdcd05805f546a61d.tar.gz
usdx-e06c097dbfbebee3c03bf82cdcd05805f546a61d.tar.xz
usdx-e06c097dbfbebee3c03bf82cdcd05805f546a61d.zip
rename Menu part2
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1310 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'src/menu/UMenuButtonCollection.pas')
-rw-r--r--src/menu/UMenuButtonCollection.pas71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/menu/UMenuButtonCollection.pas b/src/menu/UMenuButtonCollection.pas
new file mode 100644
index 00000000..c700c812
--- /dev/null
+++ b/src/menu/UMenuButtonCollection.pas
@@ -0,0 +1,71 @@
+unit UMenuButtonCollection;
+
+interface
+
+{$I switches.inc}
+
+uses UMenuButton;
+
+type
+ //----------------
+ //TButtonCollection
+ //No Extra Attributes or Functions ATM
+ //----------------
+ AButton = Array of TButton;
+ PAButton = ^AButton;
+ TButtonCollection = class(TButton)
+ //num of the First Button, that can be Selected
+ FirstChild: Byte;
+ CountChilds: Byte;
+
+ ScreenButton: PAButton;
+
+ procedure SetSelect(Value : Boolean); override;
+ procedure Draw; override;
+ end;
+
+implementation
+
+procedure TButtonCollection.SetSelect(Value : Boolean);
+var I: Integer;
+begin
+ inherited;
+
+ //Set Visible for Every Button that is a Child of this ButtonCollection
+ if (Not Fade) then
+ For I := 0 to High(ScreenButton^) do
+ if (ScreenButton^[I].Parent = Parent) then
+ ScreenButton^[I].Visible := Value;
+end;
+
+procedure TButtonCollection.Draw;
+var I, J: Integer;
+begin
+ inherited;
+ //If fading is activated, Fade Child Buttons
+ if (Fade) then
+ begin
+ For I := 0 to High(ScreenButton^) do
+ if (ScreenButton^[I].Parent = Parent) then
+ begin
+ if (FadeProgress < 0.5) then
+ begin
+ ScreenButton^[I].Visible := SelectBool;
+
+ For J := 0 to High(ScreenButton^[I].Text) do
+ ScreenButton^[I].Text[J].Visible := SelectBool;
+ end
+ else
+ begin
+ ScreenButton^[I].Texture.Alpha := (FadeProgress-0.666)*3;
+
+ For J := 0 to High(ScreenButton^[I].Text) do
+ ScreenButton^[I].Text[J].Alpha := (FadeProgress-0.666)*3;
+ end;
+ end;
+ end;
+end;
+
+
+
+end.