From 75feac69e27648fb50142756651270891c492537 Mon Sep 17 00:00:00 2001 From: Björn Steinbrink Date: Wed, 1 Feb 2006 14:53:10 +0000 Subject: Removed duplicated code. --- src/gui/passwordfield.cpp | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'src/gui/passwordfield.cpp') diff --git a/src/gui/passwordfield.cpp b/src/gui/passwordfield.cpp index 7f27607b..533f54fb 100644 --- a/src/gui/passwordfield.cpp +++ b/src/gui/passwordfield.cpp @@ -23,9 +23,7 @@ #include "passwordfield.h" -#include -#include - +#include PasswordField::PasswordField(const std::string& text): TextField(text) @@ -34,16 +32,9 @@ PasswordField::PasswordField(const std::string& text): void PasswordField::draw(gcn::Graphics *graphics) { - std::string stars; - stars.assign(mText.length(), '*'); - - if (hasFocus()) { - drawCaret(graphics, - getFont()->getWidth(stars.substr(0, mCaretPosition)) - - mXScroll); - } - - graphics->setColor(getForegroundColor()); - graphics->setFont(getFont()); - graphics->drawText(stars, 1 - mXScroll, 1); + // std::string uses cow, thus cheap copy + const std::string original = mText; + mText.assign(mText.length(), '*'); + TextField::draw(graphics); + mText = original; } -- cgit v1.2.3-70-g09d2