Browse Source

Menu draws half-transparent overlay

Thomas Buck 10 years ago
parent
commit
61486b7e36
3 changed files with 12 additions and 1 deletions
  1. 1
    1
      include/Window.h
  2. 8
    0
      src/Menu.cpp
  3. 3
    0
      src/WindowSDL.cpp

+ 1
- 1
include/Window.h View File

17
     int w;
17
     int w;
18
     int h;
18
     int h;
19
     float scale;
19
     float scale;
20
-    unsigned char color[3];
20
+    unsigned char color[4];
21
 } WindowString;
21
 } WindowString;
22
 
22
 
23
 /*!
23
 /*!

+ 8
- 0
src/Menu.cpp View File

24
     mainText.color[0] = 0xFF;
24
     mainText.color[0] = 0xFF;
25
     mainText.color[1] = 0xFF;
25
     mainText.color[1] = 0xFF;
26
     mainText.color[2] = 0xFF;
26
     mainText.color[2] = 0xFF;
27
+    mainText.color[3] = 0xFF;
27
     mainText.scale = 1.2f;
28
     mainText.scale = 1.2f;
28
     mainText.w = 0;
29
     mainText.w = 0;
29
     mainText.h = 0;
30
     mainText.h = 0;
45
     Window *window = gOpenRaider->mWindow;
46
     Window *window = gOpenRaider->mWindow;
46
 
47
 
47
     if (mVisible) {
48
     if (mVisible) {
49
+        // Draw half-transparent *overlay*
50
+        glColor4f(0.0f, 0.0f, 0.0f, 0.5f);
51
+        glDisable(GL_TEXTURE_2D);
52
+        glRecti(0, 0, window->mWidth, window->mHeight);
53
+        glEnable(GL_TEXTURE_2D);
54
+
55
+        // Draw heading text
48
         mainText.x = (window->mWidth / 2) - (mainText.w / 2);
56
         mainText.x = (window->mWidth / 2) - (mainText.w / 2);
49
         mainText.y = 10;
57
         mainText.y = 10;
50
         window->writeString(&mainText);
58
         window->writeString(&mainText);

+ 3
- 0
src/WindowSDL.cpp View File

243
     color.r = s->color[0];
243
     color.r = s->color[0];
244
     color.g = s->color[1];
244
     color.g = s->color[1];
245
     color.b = s->color[2];
245
     color.b = s->color[2];
246
+    color.a = s->color[3];
246
 
247
 
247
     SDL_Surface *surface = TTF_RenderUTF8_Blended(mFont, s->text, color);
248
     SDL_Surface *surface = TTF_RenderUTF8_Blended(mFont, s->text, color);
248
     if (surface == NULL) {
249
     if (surface == NULL) {
277
     GLuint xMax = xMin + (int)((float)surface->w * s->scale);
278
     GLuint xMax = xMin + (int)((float)surface->w * s->scale);
278
     GLuint yMax = yMin + (int)((float)surface->h * s->scale);
279
     GLuint yMax = yMin + (int)((float)surface->h * s->scale);
279
 
280
 
281
+    glColor4f(color.r / 256.0f, color.g / 256.0f, color.b / 256.0f, color.a / 256.0f);
282
+
280
     glBegin(GL_QUADS);
283
     glBegin(GL_QUADS);
281
         glTexCoord2f(0.0f, 0.0f);
284
         glTexCoord2f(0.0f, 0.0f);
282
         glVertex2i(xMin, yMin);
285
         glVertex2i(xMin, yMin);

Loading…
Cancel
Save