RenderBuffer.java :  » Game » libgdx » com » badlogic » gdx » awesomium » Android Open Source

Android Open Source » Game » libgdx 
libgdx » com » badlogic » gdx » awesomium » RenderBuffer.java
package com.badlogic.gdx.awesomium;

import java.nio.ByteBuffer;

import com.sun.jna.Pointer;
import com.sun.jna.WString;

public class RenderBuffer {
  Pointer renderBuffer;
  
  RenderBuffer(Pointer ptr) {
    this.renderBuffer = ptr;
  }
  
  public RenderBuffer(int width, int height) {
    Awesomium.INSTANCE.awe_RenderBuffer_new(width, height);
  }
  
  public void dispose() {
    Awesomium.INSTANCE.awe_RenderBuffer_delete(renderBuffer);
  }
  
  public void copyTo(ByteBuffer destBuffer, int destRowSpan, int destDepth, boolean convertToRGBA) {
    Awesomium.INSTANCE.awe_RenderBuffer_copyTo(renderBuffer, destBuffer, destRowSpan, destDepth, convertToRGBA?-1:0);
  }
  
  public void saveToPNG(String filePath, boolean preserveTransparency) {
    Awesomium.INSTANCE.awe_RenderBuffer_saveToPNG(renderBuffer, new WString(filePath), preserveTransparency?-1:0);
  }
  
  public void saveToJPEG(String filePath, int quality) {
    Awesomium.INSTANCE.awe_RenderBuffer_saveToJPEG(renderBuffer, new WString(filePath), quality);
  }
  
  public void reserve(int width, int height) {
    Awesomium.INSTANCE.awe_RenderBuffer_reserve(renderBuffer, width, height);
  }
  
  public void copyFrom(ByteBuffer srcBuffer, int srcRowSpan) {
    Awesomium.INSTANCE.awe_RenderBuffer_copyFrom(renderBuffer, srcBuffer, srcRowSpan);
  }
  
  public void copyArea(ByteBuffer srcBuffer, int srcRowSpan, int srcX, int srcY, int srcWidth, int srcHeight, boolean forceOpaque) {
    Awesomium.INSTANCE.awe_RenderBuffer_copyArea(renderBuffer, srcBuffer, srcRowSpan, srcX, srcY, srcWidth, srcHeight, forceOpaque?-1:0);
  }
  
  public void copyArea(ByteBuffer srcBuffer, int srcX, int srcY, int srcWidth, int srcHeight, int dstX, int dstY, int dstWidth, int dstHeight) {
    Awesomium.INSTANCE.awe_RenderBuffer_copyArea2(renderBuffer, srcBuffer, srcX, srcY, srcWidth, srcHeight, dstX, dstY, dstWidth, dstHeight);
  }
  
  public void scrollArea(int dx, int dy, int clipX, int clipY, int clipWidth, int clipHeight) {
    Awesomium.INSTANCE.awe_RenderBuffer_scrollArea(renderBuffer, dx, dy, clipX, clipY, clipWidth, clipHeight);
  }
  
  public ByteBuffer getBuffer() {    
    int height = Awesomium.INSTANCE.awe_RenderBuffer_height(renderBuffer);
    int rowSpan = Awesomium.INSTANCE.awe_RenderBuffer_rowSpan(renderBuffer);
    return Awesomium.INSTANCE.awe_RenderBuffer_buffer(renderBuffer).getByteBuffer(0, height * rowSpan);
  }
  
  public int getWidth() {
    return Awesomium.INSTANCE.awe_RenderBuffer_width(renderBuffer);
  }
  
  public int getHeight() {
    return Awesomium.INSTANCE.awe_RenderBuffer_height(renderBuffer);
  }
  
  public int getRowSpan() {
    return Awesomium.INSTANCE.awe_RenderBuffer_rowSpan(renderBuffer);
  }
  
  public boolean ownsBuffer() {
    return Awesomium.INSTANCE.awe_RenderBuffer_ownsBuffer(renderBuffer)!=0?true:false;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.