summaryrefslogtreecommitdiff
path: root/src/gui/userpalette.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/userpalette.h')
-rw-r--r--src/gui/userpalette.h250
1 files changed, 0 insertions, 250 deletions
diff --git a/src/gui/userpalette.h b/src/gui/userpalette.h
deleted file mode 100644
index 4f7e0e941..000000000
--- a/src/gui/userpalette.h
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * The ManaPlus Client
- * Copyright (C) 2008 Douglas Boffey <dougaboffey@netscape.net>
- * Copyright (C) 2009 The Mana World Development Team
- * Copyright (C) 2009-2010 The Mana Developers
- * Copyright (C) 2011-2017 The ManaPlus Developers
- *
- * This file is part of The ManaPlus Client.
- *
- * 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, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef GUI_USERPALETTE_H
-#define GUI_USERPALETTE_H
-
-#include "logger.h"
-
-#include "enums/gui/usercolorid.h"
-
-#include "gui/palette.h"
-
-#include "gui/models/listmodel.h"
-
-/**
- * Class controlling the game's color palette.
- */
-class UserPalette final : public Palette, public ListModel
-{
- public:
- /**
- * Constructor
- */
- UserPalette();
-
- A_DELETE_COPY(UserPalette)
-
- /**
- * Destructor
- */
- ~UserPalette();
-
- /**
- * Gets the committed color associated with the specified type.
- *
- * @param type the color type requested
- *
- * @return the requested committed color
- */
- inline const Color &getCommittedColor(const UserColorIdT type)
- const A_WARN_UNUSED
- {
- return mColors[CAST_SIZE(type)].committedColor;
- }
-
- /**
- * Gets the test color associated with the specified type.
- *
- * @param type the color type requested
- *
- * @return the requested test color
- */
- inline const Color &getTestColor(const UserColorIdT type)
- const A_WARN_UNUSED
- { return mColors[CAST_SIZE(type)].testColor; }
-
- /**
- * Sets the test color associated with the specified type.
- *
- * @param type the color type requested
- * @param color the color that should be tested
- */
- inline void setTestColor(const UserColorIdT type,
- const Color &color)
- { mColors[CAST_SIZE(type)].testColor = color; }
-
- /**
- * Sets the color for the specified type.
- *
- * @param type color to be set
- * @param r red component
- * @param g green component
- * @param b blue component
- */
- void setColor(const UserColorIdT type,
- const int r,
- const int g,
- const int b);
-
- /**
- * Sets the gradient type for the specified color.
- *
- * @param grad gradient type to set
- */
- void setGradient(const UserColorIdT type,
- const GradientTypeT grad);
-
- void setGradientDelay(const UserColorIdT type,
- const int delay)
- { mColors[CAST_SIZE(type)].delay = delay; }
-
- /**
- * Returns the number of colors known.
- *
- * @return the number of colors known
- */
- inline int getNumberOfElements() override final A_WARN_UNUSED
- { return CAST_S32(mColors.size()); }
-
- /**
- * Returns the name of the ith color.
- *
- * @param i index of color interested in
- *
- * @return the name of the color
- */
- std::string getElementAt(int i) override final A_WARN_UNUSED;
-
- /**
- * Commit the colors
- */
- inline void commit()
- { commit(false); }
-
- /**
- * Rollback the colors
- */
- void rollback();
-
- /**
- * Gets the ColorType used by the color for the element at index i in
- * the current color model.
- *
- * @param i the index of the color
- *
- * @return the color type of the color with the given index
- */
- int getColorTypeAt(const int i) A_WARN_UNUSED;
-
- /**
- * Gets the color associated with the type. Sets the alpha channel
- * before returning.
- *
- * @param type the color type requested
- * @param alpha alpha channel to use
- *
- * @return the requested color
- */
- inline const Color &getColor(UserColorIdT type,
- const unsigned int alpha = 255U)
- A_WARN_UNUSED
- {
- if (CAST_SIZE(type) >= mColors.size())
- {
- logger->log("incorrect color request type: %d from %u",
- CAST_S32(type),
- CAST_U32(mColors.size()));
- type = UserColorId::BEING;
- }
- Color* col = &mColors[CAST_SIZE(type)].color;
- col->a = alpha;
- return *col;
- }
-
- int getIdByChar(const signed char c, bool &valid) const A_WARN_UNUSED;
-
- /**
- * Gets the GradientType associated with the specified type.
- *
- * @param type the color type of the color
- *
- * @return the gradient type of the color with the given index
- */
- inline GradientTypeT getGradientType(const UserColorIdT type)
- const A_WARN_UNUSED
- { return mColors[CAST_SIZE(type)].grad; }
-
- /**
- * Gets the gradient delay for the specified type.
- *
- * @param type the color type of the color
- *
- * @return the gradient delay of the color with the given index
- */
- inline int getGradientDelay(const UserColorIdT type)
- const A_WARN_UNUSED
- { return mColors[CAST_SIZE(type)].delay; }
-
- inline const Color &getColorWithAlpha(const UserColorIdT type)
- A_WARN_UNUSED
- {
- Color *const col = &mColors[CAST_SIZE(type)].color;
- col->a = CAST_U32(
- mColors[CAST_SIZE(type)].delay);
- return *col;
- }
-
- private:
- /**
- * Define a color replacement.
- *
- * @param i the index of the color to replace
- * @param r red component
- * @param g green component
- * @param b blue component
- */
- void setColorAt(int i, int r, int g, int b);
-
- /**
- * Commit the colors. Commit the non-static color values, if
- * commitNonStatic is true. Only needed in the constructor.
- */
- void commit(const bool commitNonStatic);
-
- /**
- * Prefixes the given string with "Color", lowercases all letters but
- * the first and all following a '_'. All '_'s will be removed.
- *
- * E.g.: HIT_PLAYER_MONSTER -> HitPlayerMonster
- *
- * @param typeName string to transform
- *
- * @return the transformed string
- */
- static std::string getConfigName(const std::string &typeName)
- A_WARN_UNUSED;
-
- void addColor(const UserColorIdT type,
- const unsigned rgb,
- GradientTypeT grad,
- const std::string &text,
- int delay = GRADIENT_DELAY);
-
- void addLabel(const UserColorIdT type,
- const std::string &text);
-};
-
-extern UserPalette *userPalette;
-
-#endif // GUI_USERPALETTE_H