diff options
author | fluxgen <fluxgen> | 2002-07-23 17:11:59 (GMT) |
---|---|---|
committer | fluxgen <fluxgen> | 2002-07-23 17:11:59 (GMT) |
commit | 35c55cdc8dc0771a07c2276d3190782b89d8a715 (patch) | |
tree | 4d0ccaaaf6165453bfe46af0bcc20ed82846041b /src/Image.cc | |
parent | 8b560ddf76a0b0256a1c2ffd0cb97d91153e8192 (diff) | |
download | fluxbox-35c55cdc8dc0771a07c2276d3190782b89d8a715.zip fluxbox-35c55cdc8dc0771a07c2276d3190782b89d8a715.tar.bz2 |
moved Texture and Color into new files, fixed some const and pointers
Diffstat (limited to 'src/Image.cc')
-rw-r--r-- | src/Image.cc | 198 |
1 files changed, 113 insertions, 85 deletions
diff --git a/src/Image.cc b/src/Image.cc index 9db3ee3..4052c10 100644 --- a/src/Image.cc +++ b/src/Image.cc | |||
@@ -22,10 +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 | // stupid macros needed to access some functions in version 2 of the GNU C | 25 | // $Id: Image.cc,v 1.12 2002/07/23 17:11:58 fluxgen Exp $ |
26 | // library | ||
27 | |||
28 | // $Id: Image.cc,v 1.11 2002/07/22 22:33:45 fluxgen Exp $ | ||
29 | 26 | ||
30 | //use GNU extensions | 27 | //use GNU extensions |
31 | #ifndef _GNU_SOURCE | 28 | #ifndef _GNU_SOURCE |
@@ -69,9 +66,16 @@ typedef unsigned int u_int32_t; | |||
69 | # include <ctype.h> | 66 | # include <ctype.h> |
70 | #endif // HAVE_CTYPE_H | 67 | #endif // HAVE_CTYPE_H |
71 | 68 | ||
69 | #include <iostream> | ||
70 | |||
71 | using namespace std; | ||
72 | |||
73 | // lookup table for texture | ||
72 | unsigned long *BImageControl::sqrt_table = 0; | 74 | unsigned long *BImageControl::sqrt_table = 0; |
73 | 75 | ||
74 | static unsigned long bsqrt(unsigned long x) { | 76 | namespace { // anonymous |
77 | |||
78 | unsigned long bsqrt(unsigned long x) { | ||
75 | if (x <= 0) return 0; | 79 | if (x <= 0) return 0; |
76 | if (x == 1) return 1; | 80 | if (x == 1) return 1; |
77 | 81 | ||
@@ -85,6 +89,7 @@ static unsigned long bsqrt(unsigned long x) { | |||
85 | } | 89 | } |
86 | } | 90 | } |
87 | 91 | ||
92 | }; | ||
88 | 93 | ||
89 | BImage::BImage(BImageControl *c, unsigned int w, unsigned int h) { | 94 | BImage::BImage(BImageControl *c, unsigned int w, unsigned int h) { |
90 | control = c; | 95 | control = c; |
@@ -117,19 +122,20 @@ BImage::~BImage(void) { | |||
117 | } | 122 | } |
118 | 123 | ||
119 | 124 | ||
120 | Pixmap BImage::render(BTexture *texture) { | 125 | Pixmap BImage::render(const FbTk::Texture *texture) { |
121 | if (texture->getTexture() & BImage::PARENTRELATIVE) | 126 | using namespace FbTk; |
127 | if (texture->type() & Texture::PARENTRELATIVE) | ||
122 | return ParentRelative; | 128 | return ParentRelative; |
123 | else if (texture->getTexture() & BImage::SOLID) | 129 | else if (texture->type() & Texture::SOLID) |
124 | return render_solid(texture); | 130 | return renderSolid(texture); |
125 | else if (texture->getTexture() & BImage::GRADIENT) | 131 | else if (texture->type() & Texture::GRADIENT) |
126 | return render_gradient(texture); | 132 | return renderGradient(texture); |
127 | 133 | ||
128 | return None; | 134 | return None; |
129 | } | 135 | } |
130 | 136 | ||
131 | 137 | ||
132 | Pixmap BImage::render_solid(BTexture *texture) { | 138 | Pixmap BImage::renderSolid(const FbTk::Texture *texture) { |
133 | Pixmap pixmap = XCreatePixmap(control->baseDisplay()->getXDisplay(), | 139 | Pixmap pixmap = XCreatePixmap(control->baseDisplay()->getXDisplay(), |
134 | control->drawable(), width, | 140 | control->drawable(), width, |
135 | height, control->depth()); | 141 | height, control->depth()); |
@@ -160,8 +166,9 @@ Pixmap BImage::render_solid(BTexture *texture) { | |||
160 | XFillRectangle(control->baseDisplay()->getXDisplay(), pixmap, gc, 0, 0, | 166 | XFillRectangle(control->baseDisplay()->getXDisplay(), pixmap, gc, 0, 0, |
161 | width, height); | 167 | width, height); |
162 | 168 | ||
163 | #ifdef INTERLACE | 169 | using namespace FbTk; |
164 | if (texture->getTexture() & BImage::INTERLACED) { | 170 | #ifdef INTERLACE |
171 | if (texture->type() & Texture::INTERLACED) { | ||
165 | gcv.foreground = texture->colorTo().pixel(); | 172 | gcv.foreground = texture->colorTo().pixel(); |
166 | GC igc = XCreateGC(control->baseDisplay()->getXDisplay(), pixmap, | 173 | GC igc = XCreateGC(control->baseDisplay()->getXDisplay(), pixmap, |
167 | GCForeground, &gcv); | 174 | GCForeground, &gcv); |
@@ -176,8 +183,8 @@ Pixmap BImage::render_solid(BTexture *texture) { | |||
176 | #endif // INTERLACE | 183 | #endif // INTERLACE |
177 | 184 | ||
178 | 185 | ||
179 | if (texture->getTexture() & BImage::BEVEL1) { | 186 | if (texture->type() & Texture::BEVEL1) { |
180 | if (texture->getTexture() & BImage::RAISED) { | 187 | if (texture->type() & Texture::RAISED) { |
181 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, | 188 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, |
182 | 0, height - 1, width - 1, height - 1); | 189 | 0, height - 1, width - 1, height - 1); |
183 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, | 190 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, |
@@ -187,7 +194,7 @@ Pixmap BImage::render_solid(BTexture *texture) { | |||
187 | 0, 0, width - 1, 0); | 194 | 0, 0, width - 1, 0); |
188 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, | 195 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, |
189 | 0, height - 1, 0, 0); | 196 | 0, height - 1, 0, 0); |
190 | } else if (texture->getTexture() & BImage::SUNKEN) { | 197 | } else if (texture->type() & Texture::SUNKEN) { |
191 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, | 198 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, |
192 | 0, height - 1, width - 1, height - 1); | 199 | 0, height - 1, width - 1, height - 1); |
193 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, | 200 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, |
@@ -198,8 +205,8 @@ Pixmap BImage::render_solid(BTexture *texture) { | |||
198 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, | 205 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, |
199 | 0, height - 1, 0, 0); | 206 | 0, height - 1, 0, 0); |
200 | } | 207 | } |
201 | } else if (texture->getTexture() & BImage::BEVEL2) { | 208 | } else if (texture->type() & Texture::BEVEL2) { |
202 | if (texture->getTexture() & BImage::RAISED) { | 209 | if (texture->type() & Texture::RAISED) { |
203 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, | 210 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, |
204 | 1, height - 3, width - 3, height - 3); | 211 | 1, height - 3, width - 3, height - 3); |
205 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, | 212 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, lgc, |
@@ -209,7 +216,7 @@ Pixmap BImage::render_solid(BTexture *texture) { | |||
209 | 1, 1, width - 3, 1); | 216 | 1, 1, width - 3, 1); |
210 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, | 217 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, |
211 | 1, height - 3, 1, 1); | 218 | 1, height - 3, 1, 1); |
212 | } else if (texture->getTexture() & BImage::SUNKEN) { | 219 | } else if (texture->type() & Texture::SUNKEN) { |
213 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, | 220 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, |
214 | 1, height - 3, width - 3, height - 3); | 221 | 1, height - 3, width - 3, height - 3); |
215 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, | 222 | XDrawLine(control->baseDisplay()->getXDisplay(), pixmap, hgc, |
@@ -230,38 +237,53 @@ Pixmap BImage::render_solid(BTexture *texture) { | |||
230 | } | 237 | } |
231 | 238 | ||
232 | 239 | ||
233 | Pixmap BImage::render_gradient(BTexture *texture) { | 240 | Pixmap BImage::renderGradient(const FbTk::Texture *texture) { |
234 | int inverted = 0; | ||
235 | 241 | ||
236 | #ifdef INTERLACE | 242 | bool inverted = false; |
237 | interlaced = texture->getTexture() & BImage::INTERLACED; | 243 | |
244 | using namespace FbTk; | ||
245 | |||
246 | #ifdef INTERLACE | ||
247 | interlaced = texture->type() & Texture::INTERLACED; | ||
238 | #endif // INTERLACE | 248 | #endif // INTERLACE |
239 | 249 | ||
240 | if (texture->getTexture() & BImage::SUNKEN) { | 250 | if (texture->type() & Texture::SUNKEN) { |
241 | from = &(texture->colorTo()); | 251 | from = &(texture->colorTo()); |
242 | to = &(texture->color()); | 252 | to = &(texture->color()); |
243 | 253 | ||
244 | if (! (texture->getTexture() & BImage::INVERT)) inverted = 1; | 254 | if (! (texture->type() & Texture::INVERT)) |
255 | inverted = true; | ||
245 | } else { | 256 | } else { |
246 | from = &(texture->color()); | 257 | from = &(texture->color()); |
247 | to = &(texture->colorTo()); | 258 | to = &(texture->colorTo()); |
248 | 259 | ||
249 | if (texture->getTexture() & BImage::INVERT) inverted = 1; | 260 | if (texture->type() & Texture::INVERT) |
261 | inverted = true; | ||
250 | } | 262 | } |
251 | 263 | ||
252 | control->getGradientBuffers(width, height, &xtable, &ytable); | 264 | control->getGradientBuffers(width, height, &xtable, &ytable); |
253 | 265 | ||
254 | if (texture->getTexture() & BImage::DIAGONAL) dgradient(); | 266 | if (texture->type() & Texture::DIAGONAL) |
255 | else if (texture->getTexture() & BImage::ELLIPTIC) egradient(); | 267 | dgradient(); |
256 | else if (texture->getTexture() & BImage::HORIZONTAL) hgradient(); | 268 | else if (texture->type() & Texture::ELLIPTIC) |
257 | else if (texture->getTexture() & BImage::PYRAMID) pgradient(); | 269 | egradient(); |
258 | else if (texture->getTexture() & BImage::RECTANGLE) rgradient(); | 270 | else if (texture->type() & Texture::HORIZONTAL) |
259 | else if (texture->getTexture() & BImage::VERTICAL) vgradient(); | 271 | hgradient(); |
260 | else if (texture->getTexture() & BImage::CROSSDIAGONAL) cdgradient(); | 272 | else if (texture->type() & Texture::PYRAMID) |
261 | else if (texture->getTexture() & BImage::PIPECROSS) pcgradient(); | 273 | pgradient(); |
262 | 274 | else if (texture->type() & Texture::RECTANGLE) | |
263 | if (texture->getTexture() & BImage::BEVEL1) bevel1(); | 275 | rgradient(); |
264 | else if (texture->getTexture() & BImage::BEVEL2) bevel2(); | 276 | else if (texture->type() & Texture::VERTICAL) |
277 | vgradient(); | ||
278 | else if (texture->type() & Texture::CROSSDIAGONAL) | ||
279 | cdgradient(); | ||
280 | else if (texture->type() & Texture::PIPECROSS) | ||
281 | pcgradient(); | ||
282 | |||
283 | if (texture->type() & Texture::BEVEL1) | ||
284 | bevel1(); | ||
285 | else if (texture->type() & Texture::BEVEL2) | ||
286 | bevel2(); | ||
265 | 287 | ||
266 | if (inverted) | 288 | if (inverted) |
267 | invert(); | 289 | invert(); |
@@ -2163,9 +2185,8 @@ BImageControl::~BImageControl(void) { | |||
2163 | if (colors) { | 2185 | if (colors) { |
2164 | unsigned long *pixels = new unsigned long [ncolors]; | 2186 | unsigned long *pixels = new unsigned long [ncolors]; |
2165 | 2187 | ||
2166 | int i; | 2188 | for (int color = 0; color < ncolors; color++) |
2167 | for (i = 0; i < ncolors; i++) | 2189 | *(pixels + color) = (*(colors + color)).pixel; |
2168 | *(pixels + i) = (*(colors + i)).pixel; | ||
2169 | 2190 | ||
2170 | XFreeColors(basedisplay->getXDisplay(), colormap(), pixels, ncolors, 0); | 2191 | XFreeColors(basedisplay->getXDisplay(), colormap(), pixels, ncolors, 0); |
2171 | 2192 | ||
@@ -2192,17 +2213,17 @@ BImageControl::~BImageControl(void) { | |||
2192 | 2213 | ||
2193 | 2214 | ||
2194 | Pixmap BImageControl::searchCache(unsigned int width, unsigned int height, | 2215 | Pixmap BImageControl::searchCache(unsigned int width, unsigned int height, |
2195 | unsigned long texture, | 2216 | unsigned long texture_type, |
2196 | BColor *c1, BColor *c2) { | 2217 | const FbTk::Color &color, const FbTk::Color &color_to) { |
2197 | CacheList::iterator it = cache.begin(); | 2218 | CacheList::iterator it = cache.begin(); |
2198 | CacheList::iterator it_end = cache.end(); | 2219 | CacheList::iterator it_end = cache.end(); |
2199 | for (; it != it_end; ++it) { | 2220 | for (; it != it_end; ++it) { |
2200 | if (((*it)->width == width) && | 2221 | if (((*it)->width == width) && |
2201 | ((*it)->height == height) && | 2222 | ((*it)->height == height) && |
2202 | ((*it)->texture == texture) && | 2223 | ((*it)->texture == texture_type) && |
2203 | ((*it)->pixel1 == c1->pixel())) { | 2224 | ((*it)->pixel1 == color.pixel())) { |
2204 | if (texture & BImage::GRADIENT) { | 2225 | if (texture_type & FbTk::Texture::GRADIENT) { |
2205 | if ((*it)->pixel2 == c2->pixel()) { | 2226 | if ((*it)->pixel2 == color_to.pixel()) { |
2206 | (*it)->count++; | 2227 | (*it)->count++; |
2207 | return (*it)->pixmap; | 2228 | return (*it)->pixmap; |
2208 | } | 2229 | } |
@@ -2218,11 +2239,12 @@ Pixmap BImageControl::searchCache(unsigned int width, unsigned int height, | |||
2218 | 2239 | ||
2219 | 2240 | ||
2220 | Pixmap BImageControl::renderImage(unsigned int width, unsigned int height, | 2241 | Pixmap BImageControl::renderImage(unsigned int width, unsigned int height, |
2221 | BTexture *texture) { | 2242 | const FbTk::Texture *texture) { |
2222 | if (texture->getTexture() & BImage::PARENTRELATIVE) return ParentRelative; | 2243 | if (texture->type() & FbTk::Texture::PARENTRELATIVE) |
2244 | return ParentRelative; | ||
2223 | 2245 | ||
2224 | Pixmap pixmap = searchCache(width, height, texture->getTexture(), | 2246 | Pixmap pixmap = searchCache(width, height, texture->type(), |
2225 | &texture->color(), &texture->colorTo()); | 2247 | texture->color(), texture->colorTo()); |
2226 | if (pixmap) return pixmap; | 2248 | if (pixmap) return pixmap; |
2227 | 2249 | ||
2228 | BImage image(this, width, height); | 2250 | BImage image(this, width, height); |
@@ -2235,10 +2257,10 @@ Pixmap BImageControl::renderImage(unsigned int width, unsigned int height, | |||
2235 | tmp->width = width; | 2257 | tmp->width = width; |
2236 | tmp->height = height; | 2258 | tmp->height = height; |
2237 | tmp->count = 1; | 2259 | tmp->count = 1; |
2238 | tmp->texture = texture->getTexture(); | 2260 | tmp->texture = texture->type(); |
2239 | tmp->pixel1 = texture->color().pixel(); | 2261 | tmp->pixel1 = texture->color().pixel(); |
2240 | 2262 | ||
2241 | if (texture->getTexture() & BImage::GRADIENT) | 2263 | if (texture->type() & FbTk::Texture::GRADIENT) |
2242 | tmp->pixel2 = texture->colorTo().pixel(); | 2264 | tmp->pixel2 = texture->colorTo().pixel(); |
2243 | else | 2265 | else |
2244 | tmp->pixel2 = 0l; | 2266 | tmp->pixel2 = 0l; |
@@ -2431,65 +2453,71 @@ unsigned long BImageControl::getSqrt(unsigned int x) { | |||
2431 | } | 2453 | } |
2432 | 2454 | ||
2433 | 2455 | ||
2434 | void BImageControl::parseTexture(BTexture *texture, char *t) { | 2456 | void BImageControl::parseTexture(FbTk::Texture *texture, const char *texture_string) { |
2435 | if ((! texture) || (! t)) return; | 2457 | if ((! texture) || (! texture_string)) |
2458 | return; | ||
2436 | 2459 | ||
2437 | int t_len = strlen(t) + 1, i; | 2460 | int t_len = strlen(texture_string) + 1; |
2438 | char *ts = new char[t_len]; | 2461 | char *ts = new char[t_len]; |
2439 | if (! ts) return; | 2462 | if (! ts) return; |
2440 | 2463 | ||
2441 | // convert to lower case | 2464 | // convert to lower case |
2442 | for (i = 0; i < t_len; i++) | 2465 | for (int byte_pos = 0; byte_pos < t_len; byte_pos++) |
2443 | *(ts + i) = tolower(*(t + i)); | 2466 | *(ts + byte_pos) = tolower(*(texture_string + byte_pos)); |
2467 | |||
2468 | using namespace FbTk; | ||
2469 | #ifdef DEBUG | ||
2470 | cerr<<__FILE__<<"("<<__LINE__<<"): texture_string = "<<texture_string<<endl; | ||
2471 | #endif // DEBUG | ||
2444 | 2472 | ||
2445 | if (strstr(ts, "parentrelative")) { | 2473 | if (strstr(ts, "parentrelative")) { |
2446 | texture->setTexture(BImage::PARENTRELATIVE); | 2474 | texture->setType(Texture::PARENTRELATIVE); |
2447 | } else { | 2475 | } else { |
2448 | texture->setTexture(0); | 2476 | texture->setType(Texture::NONE); |
2449 | 2477 | ||
2450 | if (strstr(ts, "solid")) | 2478 | if (strstr(ts, "solid")) |
2451 | texture->addTexture(BImage::SOLID); | 2479 | texture->addType(Texture::SOLID); |
2452 | else if (strstr(ts, "gradient")) { | 2480 | else if (strstr(ts, "gradient")) { |
2453 | texture->addTexture(BImage::GRADIENT); | 2481 | texture->addType(Texture::GRADIENT); |
2454 | if (strstr(ts, "crossdiagonal")) | 2482 | if (strstr(ts, "crossdiagonal")) |
2455 | texture->addTexture(BImage::CROSSDIAGONAL); | 2483 | texture->addType(Texture::CROSSDIAGONAL); |
2456 | else if (strstr(ts, "rectangle")) | 2484 | else if (strstr(ts, "rectangle")) |
2457 | texture->addTexture(BImage::RECTANGLE); | 2485 | texture->addType(Texture::RECTANGLE); |
2458 | else if (strstr(ts, "pyramid")) | 2486 | else if (strstr(ts, "pyramid")) |
2459 | texture->addTexture(BImage::PYRAMID); | 2487 | texture->addType(Texture::PYRAMID); |
2460 | else if (strstr(ts, "pipecross")) | 2488 | else if (strstr(ts, "pipecross")) |
2461 | texture->addTexture(BImage::PIPECROSS); | 2489 | texture->addType(Texture::PIPECROSS); |
2462 | else if (strstr(ts, "elliptic")) | 2490 | else if (strstr(ts, "elliptic")) |
2463 | texture->addTexture(BImage::ELLIPTIC); | 2491 | texture->addType(Texture::ELLIPTIC); |
2464 | else if (strstr(ts, "diagonal")) | 2492 | else if (strstr(ts, "diagonal")) |
2465 | texture->addTexture(BImage::DIAGONAL); | 2493 | texture->addType(Texture::DIAGONAL); |
2466 | else if (strstr(ts, "horizontal")) | 2494 | else if (strstr(ts, "horizontal")) |
2467 | texture->addTexture(BImage::HORIZONTAL); | 2495 | texture->addType(Texture::HORIZONTAL); |
2468 | else if (strstr(ts, "vertical")) | 2496 | else if (strstr(ts, "vertical")) |
2469 | texture->addTexture(BImage::VERTICAL); | 2497 | texture->addType(Texture::VERTICAL); |
2470 | else | 2498 | else |
2471 | texture->addTexture(BImage::DIAGONAL); | 2499 | texture->addType(Texture::DIAGONAL); |
2472 | } else | 2500 | } else |
2473 | texture->addTexture(BImage::SOLID); | 2501 | texture->addType(Texture::SOLID); |
2474 | 2502 | ||
2475 | if (strstr(ts, "raised")) | 2503 | if (strstr(ts, "raised")) |
2476 | texture->addTexture(BImage::RAISED); | 2504 | texture->addType(Texture::RAISED); |
2477 | else if (strstr(ts, "sunken")) | 2505 | else if (strstr(ts, "sunken")) |
2478 | texture->addTexture(BImage::SUNKEN); | 2506 | texture->addType(Texture::SUNKEN); |
2479 | else if (strstr(ts, "flat")) | 2507 | else if (strstr(ts, "flat")) |
2480 | texture->addTexture(BImage::FLAT); | 2508 | texture->addType(Texture::FLAT); |
2481 | else | 2509 | else |
2482 | texture->addTexture(BImage::RAISED); | 2510 | texture->addType(Texture::RAISED); |
2483 | 2511 | ||
2484 | if (! (texture->getTexture() & BImage::FLAT)) | 2512 | if (! (texture->type() & Texture::FLAT)) |
2485 | if (strstr(ts, "bevel2")) | 2513 | if (strstr(ts, "bevel2")) |
2486 | texture->addTexture(BImage::BEVEL2); | 2514 | texture->addType(Texture::BEVEL2); |
2487 | else | 2515 | else |
2488 | texture->addTexture(BImage::BEVEL1); | 2516 | texture->addType(Texture::BEVEL1); |
2489 | 2517 | ||
2490 | #ifdef INTERLACE | 2518 | #ifdef INTERLACE |
2491 | if (strstr(ts, "interlaced")) | 2519 | if (strstr(ts, "interlaced")) |
2492 | texture->addTexture(BImage::INTERLACED); | 2520 | texture->addType(Texture::INTERLACED); |
2493 | #endif // INTERLACE | 2521 | #endif // INTERLACE |
2494 | } | 2522 | } |
2495 | 2523 | ||
@@ -2497,7 +2525,7 @@ void BImageControl::parseTexture(BTexture *texture, char *t) { | |||
2497 | } | 2525 | } |
2498 | 2526 | ||
2499 | 2527 | ||
2500 | void BImageControl::parseColor(BColor *col, char *c) { | 2528 | void BImageControl::parseColor(FbTk::Color *col, const char *color_string) { |
2501 | if (!col) return; | 2529 | if (!col) return; |
2502 | 2530 | ||
2503 | if (col->isAllocated()) { | 2531 | if (col->isAllocated()) { |
@@ -2507,13 +2535,13 @@ void BImageControl::parseColor(BColor *col, char *c) { | |||
2507 | 2535 | ||
2508 | col->setPixel(0l); | 2536 | col->setPixel(0l); |
2509 | col->setRGB(0, 0, 0); | 2537 | col->setRGB(0, 0, 0); |
2510 | col->setAllocated(False); | 2538 | col->setAllocated(false); |
2511 | } | 2539 | } |
2512 | 2540 | ||
2513 | if (c) { | 2541 | if (color_string != 0) { |
2514 | unsigned char r, g, b; | 2542 | unsigned char r, g, b; |
2515 | 2543 | ||
2516 | col->setPixel(color(c, &r, &g, &b)); | 2544 | col->setPixel(color(color_string, &r, &g, &b)); |
2517 | col->setRGB(r, g, b); | 2545 | col->setRGB(r, g, b); |
2518 | col->setAllocated(true); | 2546 | col->setAllocated(true); |
2519 | } | 2547 | } |