/* libsegl - Sebas Extended GL Library * Collection of Opengl/3D-Math helpers * * Copyright (c) 2008 by Sebastian Lohff, seba@seba-geek.de * http://www.seba-geek.de * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, * Boston, MA 02110-1301, USA. */ #include "color.h" namespace segl { Color::Color() { set(0.0f, 0.0f, 0.0f, 1.0f); setalpha = true; } Color::Color(float _r, float _g, float _b, float _a) { set(_r, _g, _b, _a); } Color::Color(const SDL_Color &c) { set(c.r/255.0f, c.g/255.0f, c.b/255.0f); setalpha = true; } void Color::set(float _r, float _g, float _b, float _a) { r = _r; g = _g; b = _b; a = _a; } SDL_Color Color::getSDLColor() { SDL_Color c = {(Uint8)(r*255.0f), (Uint8)(g*255.0f), (Uint8)(b*255.0f), (Uint8)(a*255.0f)}; return c; } void Color::print(std::string m) { std::cout << m << " Color: " << r << ", " << g << ", " << b << std::endl; } } // namespace segl void glColorGLC(segl::Color c) { if(c.setalpha) { glColor4f(c.r, c.g, c.b, c.a); } else { glColor3f(c.r, c.g, c.b); } }