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 textureResource(const Display
&display
, unsigned int screen
,
47 const Resource
&resource
,
48 const std::string
&name
,
49 const std::string
&classname
,
50 const std::string
&default_color
= std::string("black"));
66 CrossDiagonal
= (1l<<8),
71 // parent relative image
72 Parent_Relative
= (1l<<13),
73 // fake interlaced image
74 Interlaced
= (1l<<14),
75 // border around image
82 inline Texture(const Texture
&tt
)
85 inline const std::string
&description(void) const
87 void setDescription(const std::string
&d
);
89 void setColor1(const Color
&new_color
);
90 inline void setColor2(const Color
&new_color
)
92 inline void setBorderColor(const Color
&new_borderColor
)
93 { bc
= new_borderColor
; }
95 inline const Color
&color1(void) const
97 inline const Color
&color2(void) const
99 inline const Color
&borderColor(void) const
101 inline const Color
&lightColor(void) const
103 inline const Color
&shadowColor(void) const
106 inline unsigned long texture(void) const
108 inline void setTexture(unsigned long _texture
)
110 inline void addTexture(unsigned long _texture
)
113 inline unsigned int borderWidth(void) const
115 inline void setBorderWidth(unsigned int new_bw
)
118 Texture
&operator=(const Texture
&tt
);
119 inline bool operator==(const Texture
&tt
) const {
120 return (c1
== tt
.c1
&& c2
== tt
.c2
&& bc
== tt
.bc
&&
121 lc
== tt
.lc
&& sc
== tt
.sc
&& t
== tt
.t
&& bw
== tt
.bw
);
123 inline bool operator!=(const Texture
&tt
) const
124 { return (!operator==(tt
)); }
128 Color c1
, c2
, bc
, lc
, sc
;
135 #endif // __Texture_hh