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..);
 	}
 
 	public void clear() {
 		Arrays.fill(this., 0x00_00_00_FF);
 	}
 
 	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;
 			}
 		}
 	}
 
 	public void draw(int xint ySprite sprite) {
 		Preconditions.checkArgument(sprite != null"Sprite cannot be null!");
 		this.draw(xysprite.getWidth(), sprite.getHeight(), sprite.getPixels());
 	}
 
 	public void draw(int xint yString spriteName) {
 		this.draw(xythis..get(spriteName));
 	}
 
 	public void draw(int xint ylong deltaNSAnimatedSprite sprite) {
 		this.draw(xysprite.getCurrentFrame(deltaNS));
 	}
 
 	public BufferedImage getImage() {
 		return ;
 	}
 
 	public int getWidth() {
 		return ;
	}
	public int getHeight() {
		return ;
	}
New to GrepCode? Check out our FAQ X