1 // -*- mode: C++; indent-tabs-mode: nil; c-basic-offset: 2; -*-
2 // Texture.hh for Blackbox - an X11 Window manager
3 // Copyright (c) 2001 - 2005 Sean 'Shaleh' Perry <shaleh@debian.org>
4 // Copyright (c) 1997 - 2000, 2002 - 2005
5 // Bradley T Hughes <bhughes at trolltech.com>
7 // Permission is hereby granted, free of charge, to any person obtaining a
8 // copy of this software and associated documentation files (the "Software"),
9 // to deal in the Software without restriction, including without limitation
10 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
11 // and/or sell copies of the Software, and to permit persons to whom the
12 // Software is furnished to do so, subject to the following conditions:
14 // The above copyright notice and this permission notice shall be included in
15 // all copies or substantial portions of the Software.
17 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
20 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23 // DEALINGS IN THE SOFTWARE.
33 // forward declarations
38 void drawTexture(unsigned int screen
,
39 const Texture
&texture
,
46 If 'name.appearance' cannot be found, a flat solid texture in the
47 defaultColor is returned; otherwise, the texture is read. All
48 missing colors are set to the defaultColor.
51 textureResource(const Display
&display
,
53 const Resource
&resource
,
54 const std::string
&name
,
55 const std::string
&className
,
56 const std::string
&defaultColor
= "black");
59 If 'name.appearance' cannot be found, the defaultTexture is
60 returned; otherwise, the above function is called with the passed
64 textureResource(const Display
&display
,
66 const Resource
&resource
,
67 const std::string
&name
,
68 const std::string
&className
,
69 const Texture
&defaultTexture
);
85 CrossDiagonal
= (1l<<8),
90 // parent relative image
91 Parent_Relative
= (1l<<13),
92 // fake interlaced image
93 Interlaced
= (1l<<14),
94 // border around image
101 inline Texture(const Texture
&tt
)
104 inline const std::string
&description(void) const
106 void setDescription(const std::string
&d
);
108 void setColor1(const Color
&new_color
);
109 inline void setColor2(const Color
&new_color
)
111 inline void setBorderColor(const Color
&new_borderColor
)
112 { bc
= new_borderColor
; }
114 inline const Color
&color1(void) const
116 inline const Color
&color2(void) const
118 inline const Color
&borderColor(void) const
120 inline const Color
&lightColor(void) const
122 inline const Color
&shadowColor(void) const
125 inline unsigned long texture(void) const
127 inline void setTexture(unsigned long _texture
)
129 inline void addTexture(unsigned long _texture
)
132 inline unsigned int borderWidth(void) const
134 inline void setBorderWidth(unsigned int new_bw
)
137 Texture
&operator=(const Texture
&tt
);
138 inline bool operator==(const Texture
&tt
) const {
139 return (c1
== tt
.c1
&& c2
== tt
.c2
&& bc
== tt
.bc
&&
140 lc
== tt
.lc
&& sc
== tt
.sc
&& t
== tt
.t
&& bw
== tt
.bw
);
142 inline bool operator!=(const Texture
&tt
) const
143 { return (!operator==(tt
)); }
147 Color c1
, c2
, bc
, lc
, sc
;
154 #endif // __Texture_hh