v0.9.4: moved last bits of texture creation into TextureCache
This commit is contained in:
@@ -78,9 +78,30 @@ public class TextureCache {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public synchronized static void add( Object key, SmartTexture tx ) {
|
||||
all.put( key, tx );
|
||||
|
||||
//texture defaults to black and given size, but no assurance is made about this is another already exists
|
||||
public synchronized static SmartTexture create( Object key, int width, int height ) {
|
||||
|
||||
if (all.containsKey( key )) {
|
||||
|
||||
return all.get( key );
|
||||
|
||||
} else {
|
||||
|
||||
Pixmap pixmap = new Pixmap( width, height, Pixmap.Format.RGBA8888 );
|
||||
|
||||
pixmap.setColor(0x000000FF);
|
||||
pixmap.fill();
|
||||
|
||||
SmartTexture tx = new SmartTexture( pixmap );
|
||||
|
||||
tx.filter( Texture.LINEAR, Texture.LINEAR );
|
||||
tx.wrap( Texture.CLAMP, Texture.CLAMP );
|
||||
|
||||
all.put( key, tx );
|
||||
|
||||
return tx;
|
||||
}
|
||||
}
|
||||
|
||||
public synchronized static void remove( Object key ){
|
||||
|
||||
@@ -24,6 +24,7 @@ package com.watabou.noosa;
|
||||
import com.badlogic.gdx.graphics.Pixmap;
|
||||
import com.watabou.gltextures.SmartTexture;
|
||||
import com.watabou.gltextures.TextureCache;
|
||||
import com.watabou.glwrap.Texture;
|
||||
|
||||
public class Halo extends Image {
|
||||
|
||||
@@ -38,12 +39,13 @@ public class Halo extends Image {
|
||||
super();
|
||||
|
||||
if (!TextureCache.contains( CACHE_KEY )) {
|
||||
Pixmap pixmap = new Pixmap(2*RADIUS+1, 2*RADIUS+1, Pixmap.Format.RGBA8888);
|
||||
|
||||
Pixmap pixmap = TextureCache.create( CACHE_KEY, 2*RADIUS+1, 2*RADIUS+1 ).bitmap;
|
||||
pixmap.setColor( 0xFFFFFF08 );
|
||||
for (int i = 0; i < RADIUS; i+=2) {
|
||||
pixmap.fillCircle(RADIUS, RADIUS, (RADIUS - i));
|
||||
}
|
||||
TextureCache.add( CACHE_KEY, new SmartTexture( pixmap ) );
|
||||
|
||||
}
|
||||
|
||||
texture( CACHE_KEY );
|
||||
|
||||
Reference in New Issue
Block a user