From 8b560ddf76a0b0256a1c2ffd0cb97d91153e8192 Mon Sep 17 00:00:00 2001
From: fluxgen <fluxgen>
Date: Tue, 23 Jul 2002 16:23:15 +0000
Subject: first

---
 src/Color.hh   | 59 +++++++++++++++++++++++++++++++++++++
 src/Texture.hh | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 152 insertions(+)
 create mode 100644 src/Color.hh
 create mode 100644 src/Texture.hh

diff --git a/src/Color.hh b/src/Color.hh
new file mode 100644
index 0000000..9c457eb
--- /dev/null
+++ b/src/Color.hh
@@ -0,0 +1,59 @@
+// Color.hh for Fluxbox Window Manager 
+// Copyright (c) 2002 Henrik Kinnunen (fluxbox@linuxmail.org)
+//
+// from Image.hh for Blackbox - an X11 Window manager
+// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+
+// $Id: Color.hh,v 1.1 2002/07/23 16:23:15 fluxgen Exp $
+
+#ifndef FBTK_COLOR_HH
+#define FBTK_COLOR_HH
+
+namespace FbTk {
+/**
+	Holds rgb color and pixel value
+*/
+class Color {
+public:
+	Color(unsigned char red = 0, unsigned char green = 0, unsigned char blue = 0):
+	m_red(red),	m_green(green), m_blue(blue), m_pixel(0), m_allocated(false) { }
+
+	inline void setAllocated(bool a) { m_allocated = a; }
+	inline void setRGB(char red, char green, char blue) { m_red = red; m_green = green; m_blue = blue; }
+	inline void setPixel(unsigned long pixel) { m_pixel = pixel; }
+
+	inline bool isAllocated() const { return m_allocated; }
+
+	inline unsigned char red() const { return m_red; }
+	inline unsigned char green() const { return m_green; }
+	inline unsigned char blue() const { return m_blue; }
+
+	inline unsigned long pixel() const { return m_pixel; }
+
+private:
+	unsigned char m_red, m_green, m_blue;
+	unsigned long m_pixel;
+	bool m_allocated;
+};
+
+}; // end namespace FbTk
+
+#endif // FBTK_COLOR_HH
diff --git a/src/Texture.hh b/src/Texture.hh
new file mode 100644
index 0000000..a091fbd
--- /dev/null
+++ b/src/Texture.hh
@@ -0,0 +1,93 @@
+// Texture.hh for Fluxbox Window Manager 
+// Copyright (c) 2002 Henrik Kinnunen (fluxbox@linuxmail.org)
+//
+// from Image.hh for Blackbox - an X11 Window manager
+// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net)
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+// DEALINGS IN THE SOFTWARE.
+
+// $Id: Texture.hh,v 1.1 2002/07/23 16:23:15 fluxgen Exp $
+
+#ifndef FBTK_TEXTURE_HH
+#define FBTK_TEXTURE_HH
+
+#include "Color.hh"
+
+namespace FbTk  {
+
+/**
+	Holds texture type and info
+*/
+class Texture {
+public:
+	enum Bevel {
+		FLAT =     0x00002,
+		SUNKEN =   0x00004, 
+		RAISED =   0x00008
+	};
+	enum Textures {
+		NONE =     0x00000,
+		SOLID =    0x00010,
+		GRADIENT = 0x00020
+	};
+	enum Gradients {
+		HORIZONTAL =     0x00040,
+		VERTICAL =       0x00080,
+		DIAGONAL =       0x00100,
+		CROSSDIAGONAL =  0x00200,
+		RECTANGLE =      0x00400,
+		PYRAMID =        0x00800,
+		PIPECROSS =      0x01000,
+		ELLIPTIC =       0x02000		
+	};
+	
+	enum {
+		BEVEL1 =         0x04000, 
+		BEVEL2 =         0x08000, // bevel types
+		INVERT =        0x010000, //inverted image
+		PARENTRELATIVE = 0x20000,
+		INTERLACED =     0x40000
+	};
+
+	Texture():m_type(0) { }
+
+	inline void setType(unsigned long t) { m_type = t; }
+	inline void addType(unsigned long t) { m_type |= t; }
+	
+	inline Color &color() { return m_color; }
+	inline Color &colorTo() { return m_color_to; }
+	inline Color &hiColor() { return m_hicolor; }
+	inline Color &loColor() { return m_locolor; }
+
+	inline const Color &color() const { return m_color; }
+	inline const Color &colorTo() const { return m_color_to; }
+	inline const Color &hiColor() const { return m_hicolor; }
+	inline const Color &loColor() const { return m_locolor; }
+	
+	inline unsigned long type() const { return m_type; }
+
+
+private:
+	FbTk::Color m_color, m_color_to, m_hicolor, m_locolor;
+	unsigned long m_type;
+};
+
+}; // end namespace FbTk
+
+#endif // FBTK_TEXTURE_HH
-- 
cgit v0.11.2