diff options
author | fluxgen <fluxgen> | 2004-01-02 22:19:39 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2004-01-02 22:19:39 (GMT) |
commit | a5be2ef67d91f2cba7551e3a52a6b989c87e8611 (patch) | |
tree | f51caab62bb1b3994f649dafbd79848bd23d7f9c /src/FbTk/ImageControl.hh | |
parent | b9049cefad82bd62a663e4ae4048d7574563bdfc (diff) | |
download | fluxbox-a5be2ef67d91f2cba7551e3a52a6b989c87e8611.zip fluxbox-a5be2ef67d91f2cba7551e3a52a6b989c87e8611.tar.bz2 |
textured pixmap cache fix
Diffstat (limited to 'src/FbTk/ImageControl.hh')
-rw-r--r-- | src/FbTk/ImageControl.hh | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/FbTk/ImageControl.hh b/src/FbTk/ImageControl.hh index 0ccb928..087cd69 100644 --- a/src/FbTk/ImageControl.hh +++ b/src/FbTk/ImageControl.hh | |||
@@ -22,7 +22,7 @@ | |||
22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 22 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
23 | // DEALINGS IN THE SOFTWARE. | 23 | // DEALINGS IN THE SOFTWARE. |
24 | 24 | ||
25 | // $Id: ImageControl.hh,v 1.7 2004/01/02 13:27:29 fluxgen Exp $ | 25 | // $Id: ImageControl.hh,v 1.8 2004/01/02 22:19:39 fluxgen Exp $ |
26 | 26 | ||
27 | #ifndef FBTK_IMAGECONTROL_HH | 27 | #ifndef FBTK_IMAGECONTROL_HH |
28 | #define FBTK_IMAGECONTROL_HH | 28 | #define FBTK_IMAGECONTROL_HH |
@@ -79,8 +79,7 @@ private: | |||
79 | Search cache for a specific pixmap | 79 | Search cache for a specific pixmap |
80 | @return None if no cache was found | 80 | @return None if no cache was found |
81 | */ | 81 | */ |
82 | Pixmap searchCache(unsigned int width, unsigned int height, unsigned long texture_type, | 82 | Pixmap searchCache(unsigned int width, unsigned int height, const Texture &text) const; |
83 | const FbTk::Color &color, const FbTk::Color &color_to) const; | ||
84 | 83 | ||
85 | void createColorTable(); | 84 | void createColorTable(); |
86 | bool m_dither; | 85 | bool m_dither; |
@@ -109,24 +108,21 @@ private: | |||
109 | 108 | ||
110 | typedef struct Cache { | 109 | typedef struct Cache { |
111 | Pixmap pixmap; | 110 | Pixmap pixmap; |
112 | 111 | Pixmap texture_pixmap; | |
113 | unsigned int count, width, height; | 112 | unsigned int count, width, height; |
114 | unsigned long pixel1, pixel2, texture; | 113 | unsigned long pixel1, pixel2, texture; |
115 | } Cache; | 114 | } Cache; |
116 | 115 | ||
117 | struct ltCacheEntry | 116 | struct ltCacheEntry { |
118 | { | 117 | bool operator()(const Cache* s1, const Cache* s2) const { |
119 | bool operator()(const Cache* s1, const Cache* s2) const | 118 | return (s1->width < s2->width || s1->width == s2->width && |
120 | { | ||
121 | return | ||
122 | (s1->width < s2->width || s1->width == s2->width && | ||
123 | (s1->height < s2->height || s1->height == s2->height && | 119 | (s1->height < s2->height || s1->height == s2->height && |
124 | (s1->texture < s2->texture || s1->texture == s2->texture && | 120 | (s1->texture < s2->texture || s1->texture == s2->texture && |
125 | s1->pixel1 < s2->pixel1 || s1->pixel1 == s2->pixel1 && | 121 | s1->pixel1 < s2->pixel1 || s1->pixel1 == s2->pixel1 && |
126 | (s1->texture & FbTk::Texture::GRADIENT) && | 122 | (s1->texture & FbTk::Texture::GRADIENT) && |
127 | s1->pixel2 < s2->pixel2) | 123 | s1->pixel2 < s2->pixel2) |
128 | )); | 124 | )); |
129 | } | 125 | } |
130 | }; | 126 | }; |
131 | 127 | ||
132 | 128 | ||