summaryrefslogtreecommitdiff
path: root/src/gui/label.cpp
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 /src/gui/label.cpp
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>
Diffstat (limited to 'src/gui/label.cpp')
-rw-r--r--src/gui/label.cpp68
1 files changed, 68 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());
+}