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

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

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

revision 1.7 by mkoch, Sat Oct 2 07:53:47 2004 UTC revision 1.8 by mkoch, Sun Dec 26 13:35:47 2004 UTC
# Line 159  public class GdkPixbufDecoder extends gn Line 159  public class GdkPixbufDecoder extends gn
159    {    {
160      BufferedImage bufferedImage;      BufferedImage bufferedImage;
161      ColorModel defaultModel;      ColorModel defaultModel;
162        int width;
163        int height;
164    
165      public BufferedImage getBufferedImage()      public BufferedImage getBufferedImage()
166      {      {
167        return bufferedImage;        return bufferedImage;
168      }      }
169    
170      public void setDimensions(int width, int height)      public void setDimensions(int w, int h)
171      {      {
172        bufferedImage = new BufferedImage (width, height, BufferedImage.TYPE_INT_ARGB);        width = w;
173          height = h;
174      }      }
175            
176      public void setProperties(Hashtable props) {}      public void setProperties(Hashtable props) {}
# Line 189  public class GdkPixbufDecoder extends gn Line 192  public class GdkPixbufDecoder extends gn
192                            ColorModel model, int[] pixels,                            ColorModel model, int[] pixels,
193                            int offset, int scansize)                            int offset, int scansize)
194      {      {
195        if (bufferedImage != null)        if (model == null)
196            model = defaultModel;
197          
198          if (bufferedImage == null)
199            bufferedImage = new BufferedImage (width, height, (model != null && model.hasAlpha() ?
200                                                               BufferedImage.TYPE_INT_ARGB
201                                                               : BufferedImage.TYPE_INT_RGB));
202          int pixels2[];
203          if (model != null)
204          {          {
205              pixels2 = new int[pixels.length];
206            if (model == null)            for (int yy = 0; yy < h; yy++)
207              model = defaultModel;              for (int xx = 0; xx < w; xx++)
208                  {
209            int pixels2[];                  int i = yy * scansize + xx;
210            if (model != null)                  pixels2[i] = model.getRGB (pixels[i]);
211              {                }
               pixels2 = new int[pixels.length];  
               for (int yy = 0; yy < h; yy++)  
                 for (int xx = 0; xx < w; xx++)  
                   {  
                     int i = yy * scansize + xx;  
                     pixels2[i] = model.getRGB (pixels[i]);  
                   }  
             }  
           else  
             pixels2 = pixels;  
   
           bufferedImage.setRGB (x, y, w, h, pixels2, offset, scansize);  
212          }          }
213          else
214            pixels2 = pixels;
215    
216          bufferedImage.setRGB (x, y, w, h, pixels2, offset, scansize);
217      }      }
218    
219      public void imageComplete(int status) {}      public void imageComplete(int status) {}

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

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