/* * Copyright 2011-2022 Cuberite Contributors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // Color.h // Declares a class to handle item color related code #pragma once // tolua_begin class cColor { public: enum eColorLimits : unsigned int { COLOR_MIN = 0, COLOR_MAX = 255, COLOR_LIMIT = 256, COLOR_NONE = 0xFFFFFFFF, }; cColor() { m_Color = static_cast(COLOR_NONE);} cColor(unsigned char a_Red, unsigned char a_Green, unsigned char a_Blue) { SetColor(a_Red, a_Green, a_Blue); } /** Returns whether the color is a valid color */ bool IsValid() const { return m_Color != COLOR_NONE; } /** Changes the color */ void SetColor(unsigned char a_Red, unsigned char a_Green, unsigned char a_Blue); /** Alters the red value of the color */ void SetRed(unsigned char a_Red); /** Alters the green value of the color */ void SetGreen(unsigned char a_Green); /** Alters the blue value of the color */ void SetBlue(unsigned char a_Blue); /** Returns the red value of the color */ unsigned char GetRed() const; /** Returns the green value of the color */ unsigned char GetGreen() const; /** Returns the blue value of the color */ unsigned char GetBlue() const; /** Resets the color */ void Clear() { m_Color = static_cast(COLOR_NONE); } // tolua_end unsigned int m_Color; }; // tolua_export