diff options
author | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-08-27 15:00:48 +0000 |
---|---|---|
committer | k-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2008-08-27 15:00:48 +0000 |
commit | aa0b17111ef92a6ce4359dd6fa137e8233fcf486 (patch) | |
tree | 054d26c197248e2024a6cea10dad9ca38f23dc9c /src/menu0/UMenuStatic.pas | |
parent | 9506a3ab6ae1b5c51eec2ccb8773eb4219766e7d (diff) | |
download | usdx-aa0b17111ef92a6ce4359dd6fa137e8233fcf486.tar.gz usdx-aa0b17111ef92a6ce4359dd6fa137e8233fcf486.tar.xz usdx-aa0b17111ef92a6ce4359dd6fa137e8233fcf486.zip |
rename Menu part1
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@1309 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to 'src/menu0/UMenuStatic.pas')
-rw-r--r-- | src/menu0/UMenuStatic.pas | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/menu0/UMenuStatic.pas b/src/menu0/UMenuStatic.pas new file mode 100644 index 00000000..ac8fa2dc --- /dev/null +++ b/src/menu0/UMenuStatic.pas @@ -0,0 +1,85 @@ +unit UMenuStatic; + +interface + +{$I switches.inc} + +uses UTexture, gl; + +type + TStatic = class + public + Texture: TTexture; // Button Screen position and size + Visible: boolean; + + //Reflection Mod + Reflection: boolean; + Reflectionspacing: Real; + + procedure Draw; + constructor Create(Textura: TTexture); overload; + end; + +implementation +uses UDrawTexture; + +procedure TStatic.Draw; +begin + if Visible then + begin + DrawTexture(Texture); + + //Reflection Mod + if (Reflection) then // Draw Reflections + begin + with Texture do + begin + //Bind Tex and GL Attributes + glEnable(GL_TEXTURE_2D); + glEnable(GL_BLEND); + + glDepthRange(0, 10); + glDepthFunc(GL_LEQUAL); + glEnable(GL_DEPTH_TEST); + + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBindTexture(GL_TEXTURE_2D, TexNum); + + //Draw + glBegin(GL_QUADS);//Top Left + glColor4f(ColR * Int, ColG * Int, ColB * Int, Alpha-0.3); + glTexCoord2f(TexX1*TexW, TexY2*TexH); + glVertex3f(x, y+h*scaleH+ Reflectionspacing, z); + + //Bottom Left + glColor4f(ColR * Int, ColG * Int, ColB * Int, 0); + glTexCoord2f(TexX1*TexW, 0.5*TexH+TexY1); + glVertex3f(x, y+h*scaleH + h*scaleH/2 + Reflectionspacing, z); + + + //Bottom Right + glColor4f(ColR * Int, ColG * Int, ColB * Int, 0); + glTexCoord2f(TexX2*TexW, 0.5*TexH+TexY1); + glVertex3f(x+w*scaleW, y+h*scaleH + h*scaleH/2 + Reflectionspacing, z); + + //Top Right + glColor4f(ColR * Int, ColG * Int, ColB * Int, Alpha-0.3); + glTexCoord2f(TexX2*TexW, TexY2*TexH); + glVertex3f(x+w*scaleW, y+h*scaleH + Reflectionspacing, z); + glEnd; + + glDisable(GL_TEXTURE_2D); + glDisable(GL_DEPTH_TEST); + glDisable(GL_BLEND); + end; + end; + end; +end; + +constructor TStatic.Create(Textura: TTexture); +begin + inherited Create; + Texture := Textura; +end; + +end. |