summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIra Rice <irarice@gmail.com>2009-03-14 14:29:15 -0600
committerIra Rice <irarice@gmail.com>2009-03-14 14:29:15 -0600
commit1a0703fe7e90638efac2e7be1cf115c5e243fa9b (patch)
treee33423f11385523148ce4068471cd76c39f80e9d
parent20ad38045482254b9875ee80de44a9b6f9367d2d (diff)
downloadmana-1a0703fe7e90638efac2e7be1cf115c5e243fa9b.tar.gz
mana-1a0703fe7e90638efac2e7be1cf115c5e243fa9b.tar.bz2
mana-1a0703fe7e90638efac2e7be1cf115c5e243fa9b.tar.xz
mana-1a0703fe7e90638efac2e7be1cf115c5e243fa9b.zip
Added the label classes that were accidently left out in commit
3575c7a606c2d24c0d444e9999892c0390fa5ae8 Signed-off-by: Ira Rice <irarice@gmail.com>
-rw-r--r--src/gui/label.cpp68
-rw-r--r--src/gui/label.h55
2 files changed, 123 insertions, 0 deletions
diff --git a/src/gui/label.cpp b/src/gui/label.cpp
new file mode 100644
index 00000000..bab8c465
--- /dev/null
+++ b/src/gui/label.cpp
@@ -0,0 +1,68 @@
+/*
+ * Aethyra
+ * Copyright (c) 2004 - 2008 Olof Naessén and Per Larsson
+ * Copyright (c) 2009 Aethyra Development Team
+ *
+ * This file is part of Aethyra based on original code
+ * from GUIChan.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include <guichan/exception.hpp>
+#include <guichan/font.hpp>
+
+#include "gui.h"
+#include "label.h"
+#include "palette.h"
+
+#include "../graphics.h"
+
+Label::Label() :
+ gcn::Label()
+{
+}
+
+Label::Label(const std::string& caption) :
+ gcn::Label(caption)
+{
+}
+
+void Label::draw(gcn::Graphics* graphics)
+{
+ int textX;
+ int textY = getHeight() / 2 - getFont()->getHeight() / 2;
+
+ switch (getAlignment())
+ {
+ case gcn::Graphics::LEFT:
+ textX = 0;
+ break;
+ case gcn::Graphics::CENTER:
+ textX = getWidth() / 2;
+ break;
+ case gcn::Graphics::RIGHT:
+ textX = getWidth();
+ break;
+ default:
+ throw GCN_EXCEPTION("Unknown alignment.");
+ }
+
+ setForegroundColor(guiPalette->getColor(Palette::TEXT));
+
+ graphics->setFont(getFont());
+ graphics->setColor(getForegroundColor());
+ graphics->drawText(getCaption(), textX, textY, getAlignment());
+}
diff --git a/src/gui/label.h b/src/gui/label.h
new file mode 100644
index 00000000..961286e0
--- /dev/null
+++ b/src/gui/label.h
@@ -0,0 +1,55 @@
+/*
+ * Aethyra
+ * Copyright (c) 2004 - 2008 Olof Naessén and Per Larsson
+ * Copyright (c) 2009 Aethyra Development Team
+ *
+ * This file is part of Aethyra based on original code
+ * from GUIChan.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef LABEL_H
+#define LABEL_H
+
+#include <guichan/widgets/label.hpp>
+
+/**
+ * Label widget. Same as the Guichan label but modified to use the palette
+ * system.
+ *
+ * \ingroup GUI
+ */
+class Label : public gcn::Label
+{
+ public:
+ /**
+ * Constructor.
+ */
+ Label();
+
+ /**
+ * Constructor. This version of the constructor sets the label with an
+ * inintialization string.
+ */
+ Label(const std::string& caption);
+
+ /**
+ * Draws the label.
+ */
+ void draw(gcn::Graphics* graphics);
+};
+
+#endif