summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorBjørn Lindeijer <bjorn@lindeijer.nl>2005-05-13 22:39:50 +0000
committerBjørn Lindeijer <bjorn@lindeijer.nl>2005-05-13 22:39:50 +0000
commitb22a61704aec7d2431c1417d2b96301d3835cf7c (patch)
tree15c7dd17088978f2ee7312d86c3390e9238f161d /src/gui
parent308e722a1b3fc34ade98e88b050a024cbd2c9f78 (diff)
downloadmana-client-b22a61704aec7d2431c1417d2b96301d3835cf7c.tar.gz
mana-client-b22a61704aec7d2431c1417d2b96301d3835cf7c.tar.bz2
mana-client-b22a61704aec7d2431c1417d2b96301d3835cf7c.tar.xz
mana-client-b22a61704aec7d2431c1417d2b96301d3835cf7c.zip
Fixed minimap transparent background to work in both SDL and OpenGL by using
Guichan.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/login.cpp6
-rw-r--r--src/gui/minimap.cpp56
-rw-r--r--src/gui/minimap.h4
3 files changed, 12 insertions, 54 deletions
diff --git a/src/gui/login.cpp b/src/gui/login.cpp
index bdd10397..6a8c1590 100644
--- a/src/gui/login.cpp
+++ b/src/gui/login.cpp
@@ -120,6 +120,7 @@ LoginDialog::~LoginDialog()
delete keepCheck;
delete okButton;
delete cancelButton;
+ delete registerButton;
}
void LoginDialog::action(const std::string& eventId)
@@ -157,7 +158,7 @@ void LoginDialog::action(const std::string& eventId)
} else {
config.setValue("username", "");
}
-
+
// Check login
if (user.length() == 0) {
new OkDialog("Error", "Enter a username first");
@@ -171,7 +172,8 @@ void LoginDialog::action(const std::string& eventId)
}
-void login() {
+void login()
+{
LoginDialog *dialog = new LoginDialog();
while (state == LOGIN)
diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp
index 899ec78c..719266d1 100644
--- a/src/gui/minimap.cpp
+++ b/src/gui/minimap.cpp
@@ -20,71 +20,31 @@
*
* $Id$
*/
-
-#define MINIMAP_W 100
-#define MINIMAP_H 100
#include "minimap.h"
#include "../being.h"
Minimap::Minimap()
{
- setContentSize(MINIMAP_W, MINIMAP_H);
+ setContentSize(100, 100);
setPosition(20, 20);
-
- mapBackground = SDL_AllocSurface(SDL_SWSURFACE, MINIMAP_W, MINIMAP_H,
- (screen->format->BytesPerPixel*8), 0, 0, 0, 0);
- Uint32 mapColor = SDL_MapRGB(screen->format, 255, 255, 255);
- SDL_Rect sourceRect;
- sourceRect.x = sourceRect.y = 0;
- sourceRect.w = MINIMAP_W;
- sourceRect.h = MINIMAP_H;
-
- if (mapBackground)
- {
- SDL_FillRect(mapBackground, &sourceRect, mapColor);
- SDL_SetAlpha(mapBackground, SDL_SRCALPHA, 120);
- }
}
void Minimap::draw(gcn::Graphics *graphics)
{
int x, y;
-
- getAbsolutePosition(x, y);
-
- if ((mapBackground->w != getWidth()) || (mapBackground->h != getHeight()))
- {
- SDL_FreeSurface(mapBackground);
- mapBackground = SDL_AllocSurface(SDL_SWSURFACE,
- getWidth(), getHeight(),
- (screen->format->BytesPerPixel * 8), 0, 0, 0, 0);
- Uint32 mapColor = SDL_MapRGB(screen->format, 52, 149, 210);
-
- if (mapBackground)
- {
- SDL_Rect sourceRect;
- sourceRect.x = sourceRect.y = 0;
- sourceRect.w = getWidth();
- sourceRect.h = getHeight();
- SDL_FillRect(mapBackground, &sourceRect, mapColor);
- SDL_SetAlpha(mapBackground, SDL_SRCALPHA, 120);
- }
- }
- if (mapBackground)
- {
- SDL_Rect screenRect;
- screenRect.w = getWidth();
- screenRect.h = getHeight();
- screenRect.x = x;
- screenRect.y = y;
+ getAbsolutePosition(x, y);
- SDL_BlitSurface(mapBackground, NULL, screen, &screenRect);
- }
+ // Transparent background
+ graphics->setColor(gcn::Color(52, 149, 210, 120));
+ graphics->fillRectangle(gcn::Rectangle(0, 0, getWidth(), getHeight()));
+ // Black border
graphics->setColor(gcn::Color(0, 0, 0));
graphics->drawRectangle(gcn::Rectangle(0, 0, getWidth(), getHeight()));
+
+ // Player dot
graphics->setColor(gcn::Color(209, 52, 61));
graphics->fillRectangle(gcn::Rectangle(player_node->x / 2,
player_node->y / 2, 3, 3));
diff --git a/src/gui/minimap.h b/src/gui/minimap.h
index 9e3792b9..ddf821f0 100644
--- a/src/gui/minimap.h
+++ b/src/gui/minimap.h
@@ -43,10 +43,6 @@ class Minimap : public Window {
* Draws the minimap.
*/
void draw(gcn::Graphics *graphics);
-
- private:
- /** The Alpha-Blended Surface for the background transluency effect. */
- SDL_Surface *mapBackground;
};
#endif