225 if ( img.isNull() ) {
226#if defined(CHECK_NULL)
227 tqWarning(
"KPixmap::convertFromImage: Cannot convert a null image" );
233 int dd = defaultDepth();
236 if ( ( conversion_flags & KColorMode_Mask ) != LowOnly &&
237 ( conversion_flags & KColorMode_Mask ) != WebOnly ) {
238 return TQPixmap::convertFromImage ( img, conversion_flags );
244 if ( ( conversion_flags & KColorMode_Mask ) == LowOnly ||
245 ( conversion_flags & KColorMode_Mask ) == WebOnly )
246 conversion_flags = (conversion_flags & ~KColorMode_Mask) |
Auto;
247 return TQPixmap::convertFromImage ( img, conversion_flags );
250 if ( ( conversion_flags & KColorMode_Mask ) == LowOnly ) {
257 if( img.numColors() > 0 && img.numColors() <=40 ) {
259 return TQPixmap::convertFromImage( img, TQPixmap::Auto );
265 TQImage image = img.convertDepth(32);
266 TQImage tImage( image.width(), image.height(), 8, 256 );
268 if( img.hasAlphaBuffer() ) {
269 image.setAlphaBuffer(
true );
270 tImage.setAlphaBuffer(
true );
271 isMask = mask.convertFromImage( img.createAlphaMask() );
274 kdither_32_to_8( &image, &tImage );
276 if( TQPixmap::convertFromImage( tImage ) ) {
277 if ( isMask ) TQPixmap::setMask( mask );
282 TQImage image = img.convertDepth( 32 );
283 image.setAlphaBuffer( img.hasAlphaBuffer() );
284 conversion_flags = (conversion_flags & ~ColorMode_Mask) |
Auto;
285 return TQPixmap::convertFromImage ( image, conversion_flags );
295 if (kpixmap_iconPalette == 0) {
296 kpixmap_iconPalette =
new TQColor[40];
299 kpixmap_iconPalette[i++] = red;
300 kpixmap_iconPalette[i++] = green;
301 kpixmap_iconPalette[i++] = blue;
302 kpixmap_iconPalette[i++] = cyan;
303 kpixmap_iconPalette[i++] = magenta;
304 kpixmap_iconPalette[i++] = yellow;
305 kpixmap_iconPalette[i++] = darkRed;
306 kpixmap_iconPalette[i++] = darkGreen;
307 kpixmap_iconPalette[i++] = darkBlue;
308 kpixmap_iconPalette[i++] = darkCyan;
309 kpixmap_iconPalette[i++] = darkMagenta;
310 kpixmap_iconPalette[i++] = darkYellow;
311 kpixmap_iconPalette[i++] = white;
312 kpixmap_iconPalette[i++] = lightGray;
313 kpixmap_iconPalette[i++] = gray;
314 kpixmap_iconPalette[i++] = darkGray;
315 kpixmap_iconPalette[i++] = black;
318 kpixmap_iconPalette[i++] = TQColor( 255, 192, 192 );
319 kpixmap_iconPalette[i++] = TQColor( 192, 255, 192 );
320 kpixmap_iconPalette[i++] = TQColor( 192, 192, 255 );
321 kpixmap_iconPalette[i++] = TQColor( 255, 255, 192 );
322 kpixmap_iconPalette[i++] = TQColor( 255, 192, 255 );
323 kpixmap_iconPalette[i++] = TQColor( 192, 255, 255 );
326 kpixmap_iconPalette[i++] = TQColor( 64, 0, 0 );
327 kpixmap_iconPalette[i++] = TQColor( 192, 0, 0 );
330 kpixmap_iconPalette[i++] = TQColor( 255, 128, 0 );
331 kpixmap_iconPalette[i++] = TQColor( 192, 88, 0 );
332 kpixmap_iconPalette[i++] = TQColor( 255, 168, 88 );
333 kpixmap_iconPalette[i++] = TQColor( 255, 220, 168 );
336 kpixmap_iconPalette[i++] = TQColor( 0, 0, 192 );
339 kpixmap_iconPalette[i++] = TQColor( 0, 64, 64 );
340 kpixmap_iconPalette[i++] = TQColor( 0, 192, 192 );
343 kpixmap_iconPalette[i++] = TQColor( 64, 64, 0 );
344 kpixmap_iconPalette[i++] = TQColor( 192, 192, 0 );
347 kpixmap_iconPalette[i++] = TQColor( 0, 64, 0 );
348 kpixmap_iconPalette[i++] = TQColor( 0, 192, 0 );
351 kpixmap_iconPalette[i++] = TQColor( 192, 0, 192 );
354 kpixmap_iconPalette[i++] = TQColor( 88, 88, 88 );
355 kpixmap_iconPalette[i++] = TQColor( 48, 48, 48 );
356 kpixmap_iconPalette[i++] = TQColor( 220, 220, 220 );
360 TQRgb* ctable = image.colorTable();
362 int ncols = image.numColors();
368 for ( i=0; i<ncols; i++ ) {
369 for ( j=0; j<40; j++ ) {
370 if ( kpixmap_iconPalette[j].red() == tqRed( ctable[i] ) &&
371 kpixmap_iconPalette[j].green() == tqGreen( ctable[i] ) &&
372 kpixmap_iconPalette[j].blue() == tqBlue( ctable[i] ) ) {
382 return ( failures <= 1 );