aboutsummaryrefslogtreecommitdiffstats
path: root/src/menu0/UMenuStatic.pas
diff options
context:
space:
mode:
authork-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-08-27 15:00:48 +0000
committerk-m_schindler <k-m_schindler@b956fd51-792f-4845-bead-9b4dfca2ff2c>2008-08-27 15:00:48 +0000
commitaa0b17111ef92a6ce4359dd6fa137e8233fcf486 (patch)
tree054d26c197248e2024a6cea10dad9ca38f23dc9c /src/menu0/UMenuStatic.pas
parent9506a3ab6ae1b5c51eec2ccb8773eb4219766e7d (diff)
downloadusdx-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.pas85
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.