diff options
author | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-08-27 15:01:16 +0000 |
---|---|---|
committer | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-08-27 15:01:16 +0000 |
commit | e06c097dbfbebee3c03bf82cdcd05805f546a61d (patch) | |
tree | 8c5128db7704ea917712816fe31b31779b48f47a /src/menu/UMenuButtonCollection.pas | |
parent | aa0b17111ef92a6ce4359dd6fa137e8233fcf486 (diff) | |
download | usdx-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.pas | 71 |
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. |