/[classpath]/classpath/gnu/java/awt/peer/gtk/GtkToolkit.java
ViewVC logotype

Diff of /classpath/gnu/java/awt/peer/gtk/GtkToolkit.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.68 by mark, Sat Apr 30 12:04:11 2005 UTC revision 1.69 by smarothy, Thu Jun 2 13:18:10 2005 UTC
# Line 53  import java.awt.font.FontRenderContext; Line 53  import java.awt.font.FontRenderContext;
53  import java.awt.im.InputMethodHighlight;  import java.awt.im.InputMethodHighlight;
54  import java.awt.image.BufferedImage;  import java.awt.image.BufferedImage;
55  import java.awt.image.ColorModel;  import java.awt.image.ColorModel;
56    import java.awt.image.DirectColorModel;
57  import java.awt.image.ImageConsumer;  import java.awt.image.ImageConsumer;
58  import java.awt.image.ImageObserver;  import java.awt.image.ImageObserver;
59  import java.awt.image.ImageProducer;  import java.awt.image.ImageProducer;
# Line 140  public class GtkToolkit extends gnu.java Line 141  public class GtkToolkit extends gnu.java
141        | ImageObserver.HEIGHT;        | ImageObserver.HEIGHT;
142    
143      if (image instanceof GtkImage)      if (image instanceof GtkImage)
144        {                  return ((GtkImage) image).checkImage (observer);
         status = ((GtkImage) image).checkImage ();  
       }  
145    
146      if (observer != null)      if (observer != null)
147        observer.imageUpdate (image, status,        observer.imageUpdate (image, status,
# Line 250  public class GtkToolkit extends gnu.java Line 249  public class GtkToolkit extends gnu.java
249      if (useGraphics2D())      if (useGraphics2D())
250        return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage (filename));        return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage (filename));
251      else      else
252        {        return new GtkImage (filename);
         GdkPixbufDecoder d = new GdkPixbufDecoder (filename);  
         GtkImage image = new GtkImage (d, null);  
         d.startProduction (image);  
         return image;          
       }  
253    }    }
254    
255    public Image createImage (URL url)    public Image createImage (URL url)
# Line 265  public class GtkToolkit extends gnu.java Line 259  public class GtkToolkit extends gnu.java
259      else      else
260        {        {
261          GdkPixbufDecoder d = new GdkPixbufDecoder (url);          GdkPixbufDecoder d = new GdkPixbufDecoder (url);
262          GtkImage image = new GtkImage (d, null);          GtkImage image = new GtkImage (d);
         d.startProduction (image);  
263          return image;                  return image;        
264        }        }
265    }    }
# Line 276  public class GtkToolkit extends gnu.java Line 269  public class GtkToolkit extends gnu.java
269      if (useGraphics2D())      if (useGraphics2D())
270        return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage (producer));        return bufferedImageOrError(GdkPixbufDecoder.createBufferedImage (producer));
271      else      else
272        {        return new GtkImage (producer);
         GtkImage image = new GtkImage (producer, null);  
         producer.startProduction (image);  
         return image;          
       }  
273    }    }
274    
275    public Image createImage (byte[] imagedata, int imageoffset,    public Image createImage (byte[] imagedata, int imageoffset,
# Line 295  public class GtkToolkit extends gnu.java Line 284  public class GtkToolkit extends gnu.java
284          GdkPixbufDecoder d = new GdkPixbufDecoder (imagedata,          GdkPixbufDecoder d = new GdkPixbufDecoder (imagedata,
285                                                     imageoffset,                                                     imageoffset,
286                                                     imagelength);                                                     imagelength);
287          GtkImage image = new GtkImage (d, null);          GtkImage image = new GtkImage (d);
         d.startProduction (image);  
288          return image;                  return image;        
289        }        }
290    }    }
# Line 312  public class GtkToolkit extends gnu.java Line 300  public class GtkToolkit extends gnu.java
300      return new GdkPixbufDecoder(url);        return new GdkPixbufDecoder(url);  
301    }    }
302    
303      /**
304       * Returns the native color model (which isn't the same as the default
305       * ARGB color model, but doesn't have to be).
306       */
307    public ColorModel getColorModel ()    public ColorModel getColorModel ()
308    {    {
309      return ColorModel.getRGBdefault ();      /* Return the GDK-native ABGR format */
310        return new DirectColorModel(32,
311                                    0x000000FF,
312                                    0x0000FF00,
313                                    0x00FF0000,
314                                    0xFF000000);
315    }    }
316    
317    public String[] getFontList ()    public String[] getFontList ()
# Line 410  public class GtkToolkit extends gnu.java Line 407  public class GtkToolkit extends gnu.java
407    public boolean prepareImage (Image image, int width, int height,    public boolean prepareImage (Image image, int width, int height,
408                                 ImageObserver observer)                                 ImageObserver observer)
409    {    {
410        /* GtkImages are always prepared, as long as they're loaded. */
411      if (image instanceof GtkImage)      if (image instanceof GtkImage)
412        {        return ((((GtkImage)image).checkImage (observer) &
413          GtkImage i = (GtkImage) image;                 ImageObserver.ALLBITS) != 0);
414            
415          if (i.isLoaded ()) return true;      /* Assume anything else is too */
416                return true;
         class PrepareImage extends Thread  
         {  
           GtkImage image;  
           ImageObserver observer;  
             
           PrepareImage (GtkImage image, ImageObserver observer)  
           {  
             this.image = image;  
             image.setObserver (observer);  
           }  
             
           public void run ()  
           {  
             image.source.startProduction (image);  
           }  
         }  
           
         new PrepareImage (i, observer).start ();  
         return false;  
       }  
     else  
       return true;  
417    }    }
418    
419    public native void sync();    public native void sync();

Legend:
Removed from v.1.68  
changed lines
  Added in v.1.69

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26