Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2014 Aritz Lopez
   *
   *    Licensed under the Apache License, Version 2.0 (the "License");
   *    you may not use this file except in compliance with the License.
   *    You may obtain a copy of the License at
   *
   *        http://www.apache.org/licenses/LICENSE-2.0
   *
  *    Unless required by applicable law or agreed to in writing, software
  *    distributed under the License is distributed on an "AS IS" BASIS,
  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  *    See the License for the specific language governing permissions and
  *    limitations under the License.
  */
 
 package io.github.aritzhack.aritzh.awt.render;
 
 
 import java.util.Map;

Author(s):
Aritz Lopez
 
 public class BufferedImageRenderer implements IRender {
 
     private final BufferedImage image;
     private final int width;
     private final int height;
     private final Map<StringSpritesprites;
     private final int[] pixels;
 
     public BufferedImageRenderer(int widthint height) {
         this(widthheightnew HashMap<StringSprite>());
     }
 
     public BufferedImageRenderer(int widthint heightMap<StringSpritesprites) {
         this. = width;
         this. = height;
         this. = sprites;
 
         this. = new BufferedImage(this.this..);
         this. = ((DataBufferIntthis..getRaster().getDataBuffer()).getData();
     }
 
     @Override
     public void clear() {
         Arrays.fill(this., 0x00_00_00_FF);
     }
 
     @Override
     public void draw(int xint yint widthint heightint[] colors) {
         int maxX = Math.min(this. - xwidth);
         int maxY = Math.min(this. - yheight);
 
 
         for (int yp = 0; yp < maxYyp++) {
             final int beforeY = yp + y;
             if (beforeY < 0) continue;
             for (int xp = 0; xp < maxXxp++) {
                 final int beforeX = xp + x;
                 if (beforeX < 0) continue;
                 int color = colors[xp + yp * width];
                 if (ARGBColorUtil.getAlpha(color) == 0) continue;
                 this.[beforeX + beforeY * this.] = color;
             }
         }
     }
 
     @Override
     public void draw(int xint ySprite sprite) {
         Preconditions.checkArgument(sprite != null"Sprite cannot be null!");
         this.draw(xysprite.getWidth(), sprite.getHeight(), sprite.getPixels());
     }
 
     @Override
     public void draw(int xint yString spriteName) {
         this.draw(xythis..get(spriteName));
     }
 
     @Override
     public void draw(int xint ylong deltaNSAnimatedSprite sprite) {
         this.draw(xysprite.getCurrentFrame(deltaNS));
     }
 
     @Override
     public BufferedImage getImage() {
         return ;
     }
 
     @Override
     public int getWidth() {
         return ;
    }
    @Override
    public int getHeight() {
        return ;
    }
New to GrepCode? Check out our FAQ X