public static Texture CreateForTextureSourceSize(ITextureSource pTextureSource, TextureOptions pTextureOptions) { int loadingScreenWidth = pTextureSource.GetWidth(); int loadingScreenHeight = pTextureSource.GetHeight(); return(new Texture(MathUtils.NextPowerOfTwo(loadingScreenWidth), MathUtils.NextPowerOfTwo(loadingScreenHeight), pTextureOptions)); }
public static TextureRegion CreateFromSource(BuildableTexture pBuildableTexture, ITextureSource pTextureSource) { TextureRegion textureRegion = new TextureRegion(pBuildableTexture, 0, 0, pTextureSource.GetWidth(), pTextureSource.GetHeight()); TextureSourceWithLocationCallback callback = new TextureSourceWithLocationCallback(textureRegion); pBuildableTexture.AddTextureSource(pTextureSource, callback); return(textureRegion); }
//private Node createChildren(final ITextureSource pTextureSource, final int pTextureWidth, final int pTextureHeight, final int pTextureSpacing, final int pDeltaWidth, final int pDeltaHeight) { private NodeClass CreateChildren(ITextureSource pTextureSource, int pTextureWidth, int pTextureHeight, int pTextureSpacing, int pDeltaWidth, int pDeltaHeight) { RectClass rect = this.mRect; if (pDeltaWidth >= pDeltaHeight) { /* Split using a vertical axis. */ this.mChildA = new NodeClass( rect.GetLeft(), rect.GetTop(), pTextureSource.GetWidth() + pTextureSpacing, rect.GetHeight() ); this.mChildB = new NodeClass( rect.GetLeft() + (pTextureSource.GetWidth() + pTextureSpacing), rect.GetTop(), rect.GetWidth() - (pTextureSource.GetWidth() + pTextureSpacing), rect.GetHeight() ); } else { /* Split using a horizontal axis. */ this.mChildA = new NodeClass( rect.GetLeft(), rect.GetTop(), rect.GetWidth(), pTextureSource.GetHeight() + pTextureSpacing ); this.mChildB = new NodeClass( rect.GetLeft(), rect.GetTop() + (pTextureSource.GetHeight() + pTextureSpacing), rect.GetWidth(), rect.GetHeight() - (pTextureSource.GetHeight() + pTextureSpacing) ); } return(this.mChildA.Insert(pTextureSource, pTextureWidth, pTextureHeight, pTextureSpacing)); }
private void CheckTextureSourcePosition(ITextureSource pTextureSource, int pTexturePositionX, int pTexturePositionY) /* throws IllegalArgumentException */ { if (pTexturePositionX < 0) { throw new IllegalArgumentException("Illegal negative pTexturePositionX supplied: '" + pTexturePositionX + "'"); } else if (pTexturePositionY < 0) { throw new IllegalArgumentException("Illegal negative pTexturePositionY supplied: '" + pTexturePositionY + "'"); } else if (pTexturePositionX + pTextureSource.GetWidth() > this.mWidth || pTexturePositionY + pTextureSource.GetHeight() > this.mHeight) { throw new IllegalArgumentException("Supplied TextureSource must not exceed bounds of Texture."); } }
/* * public static TiledTextureRegion createTiledFromSource(final BuildableTexture pBuildableTexture, final ITextureSource pTextureSource, final int pTileColumns, final int pTileRows) { * final TiledTextureRegion tiledTextureRegion = new TiledTextureRegion(pBuildableTexture, 0, 0, pTextureSource.getWidth(), pTextureSource.getHeight(), pTileColumns, pTileRows); * pBuildableTexture.addTextureSource(pTextureSource, new Callback<TextureSourceWithLocation>() { * @Override * public void onCallback(final TextureSourceWithLocation pCallbackValue) { * tiledTextureRegion.setTexturePosition(pCallbackValue.getTexturePositionX(), pCallbackValue.getTexturePositionY()); * } * }); * return tiledTextureRegion; * } */ public static TiledTextureRegion CreateTiledFromSource(BuildableTexture pBuildableTexture, ITextureSource pTextureSource, int pTileColumns, int pTileRows) { //TiledTextureRegion tiledTextureRegion = new TiledTextureRegion(pBuildableTexture, 0, 0, pTextureSource.getWidth(), pTextureSource.getHeight(), pTileColumns, pTileRows); TiledTextureRegion tiledTextureRegion = new TiledTextureRegion(pBuildableTexture, 0, 0, pTextureSource.GetWidth(), pTextureSource.GetHeight(), pTileColumns, pTileRows); pBuildableTexture.AddTextureSource(pTextureSource, new TextureSourceWithLocationCallback(tiledTextureRegion)); return(tiledTextureRegion); }
public static TiledTextureRegion CreateTiledFromSource(Texture pTexture, ITextureSource pTextureSource, int pTexturePositionX, int pTexturePositionY, int pTileColumns, int pTileRows) { TiledTextureRegion tiledTextureRegion = new TiledTextureRegion(pTexture, pTexturePositionX, pTexturePositionY, pTextureSource.GetWidth(), pTextureSource.GetHeight(), pTileColumns, pTileRows); pTexture.AddTextureSource(pTextureSource, tiledTextureRegion.GetTexturePositionX(), tiledTextureRegion.GetTexturePositionY()); return(tiledTextureRegion); }
public static TextureRegion CreateFromSource(Texture pTexture, ITextureSource pTextureSource, int pTexturePositionX, int pTexturePositionY) { TextureRegion textureRegion = new TextureRegion(pTexture, pTexturePositionX, pTexturePositionY, pTextureSource.GetWidth(), pTextureSource.GetHeight()); pTexture.AddTextureSource(pTextureSource, textureRegion.GetTexturePositionX(), textureRegion.GetTexturePositionY()); return(textureRegion); }
// =========================================================== // Methods for/from SuperClass/Interfaces // =========================================================== // =========================================================== // Methods // =========================================================== // public Node insert(final ITextureSource pTextureSource, final int pTextureWidth, final int pTextureHeight, final int pTextureSpacing) throws IllegalArgumentException { public NodeClass Insert(ITextureSource pTextureSource, int pTextureWidth, int pTextureHeight, int pTextureSpacing) /* throws IllegalArgumentException */ { if (this.mChildA != null && this.mChildB != null) { NodeClass newNode = this.mChildA.Insert(pTextureSource, pTextureWidth, pTextureHeight, pTextureSpacing); if (newNode != null) { return(newNode); } else { return(this.mChildB.Insert(pTextureSource, pTextureWidth, pTextureHeight, pTextureSpacing)); } } else { if (this.mTextureSource != null) { return(null); } int textureSourceWidth = pTextureSource.GetWidth(); int textureSourceHeight = pTextureSource.GetHeight(); int rectWidth = this.mRect.GetWidth(); int rectHeight = this.mRect.GetHeight(); if (textureSourceWidth > rectWidth || textureSourceHeight > rectHeight) { return(null); } int textureSourceWidthWithSpacing = textureSourceWidth + pTextureSpacing; int textureSourceHeightWithSpacing = textureSourceHeight + pTextureSpacing; int rectLeft = this.mRect.GetLeft(); int rectTop = this.mRect.GetTop(); bool fitToBottomWithoutSpacing = textureSourceHeight == rectHeight && rectTop + textureSourceHeight == pTextureHeight; bool fitToRightWithoutSpacing = textureSourceWidth == rectWidth && rectLeft + textureSourceWidth == pTextureWidth; if (textureSourceWidthWithSpacing == rectWidth) { if (textureSourceHeightWithSpacing == rectHeight) { /* Normal case with padding. */ this.mTextureSource = pTextureSource; return(this); } else if (fitToBottomWithoutSpacing) { /* Bottom edge of the Texture. */ this.mTextureSource = pTextureSource; return(this); } } if (fitToRightWithoutSpacing) { /* Right edge of the Texture. */ if (textureSourceHeightWithSpacing == rectHeight) { this.mTextureSource = pTextureSource; return(this); } else if (fitToBottomWithoutSpacing) { /* Bottom edge of the Texture. */ this.mTextureSource = pTextureSource; return(this); } else if (textureSourceHeightWithSpacing > rectHeight) { return(null); } else { return(CreateChildren(pTextureSource, pTextureWidth, pTextureHeight, pTextureSpacing, rectWidth - textureSourceWidth, rectHeight - textureSourceHeightWithSpacing)); } } if (fitToBottomWithoutSpacing) { if (textureSourceWidthWithSpacing == rectWidth) { this.mTextureSource = pTextureSource; return(this); } else if (textureSourceWidthWithSpacing > rectWidth) { return(null); } else { return(CreateChildren(pTextureSource, pTextureWidth, pTextureHeight, pTextureSpacing, rectWidth - textureSourceWidthWithSpacing, rectHeight - textureSourceHeight)); } } else if (textureSourceWidthWithSpacing > rectWidth || textureSourceHeightWithSpacing > rectHeight) { return(null); } else { return(CreateChildren(pTextureSource, pTextureWidth, pTextureHeight, pTextureSpacing, rectWidth - textureSourceWidthWithSpacing, rectHeight - textureSourceHeightWithSpacing)); } } }