|
|
|
@ -38,10 +38,12 @@ import com.jme3.scene.VertexBuffer; |
|
|
|
|
import com.jme3.scene.VertexBuffer.Type; |
|
|
|
|
import com.jme3.texture.Texture2D; |
|
|
|
|
import com.jme3.util.BufferUtils; |
|
|
|
|
import com.jme3.util.clone.Cloner; |
|
|
|
|
import java.nio.ByteBuffer; |
|
|
|
|
import java.nio.FloatBuffer; |
|
|
|
|
import java.nio.ShortBuffer; |
|
|
|
|
import java.util.LinkedList; |
|
|
|
|
import java.util.LinkedList; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* One page per BitmapText Font Texture. |
|
|
|
@ -119,10 +121,29 @@ class BitmapTextPage extends Geometry { |
|
|
|
|
@Override |
|
|
|
|
public BitmapTextPage clone() { |
|
|
|
|
BitmapTextPage clone = (BitmapTextPage) super.clone(); |
|
|
|
|
clone.mesh = mesh.deepClone(); |
|
|
|
|
//clone.mesh = mesh.deepClone();
|
|
|
|
|
return clone; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Called internally by com.jme3.util.clone.Cloner. Do not call directly. |
|
|
|
|
*/ |
|
|
|
|
@Override |
|
|
|
|
public void cloneFields( Cloner cloner, Object original ) { |
|
|
|
|
|
|
|
|
|
Mesh originalMesh = this.mesh; |
|
|
|
|
|
|
|
|
|
super.cloneFields(cloner, original); |
|
|
|
|
|
|
|
|
|
// BitmapTextPage always requires a new mesh or different
|
|
|
|
|
// BitmapText instances will clobber one another.
|
|
|
|
|
// But if we were already deep cloning meshes then we don't
|
|
|
|
|
// want to do it again... so we'll check first.
|
|
|
|
|
if( this.mesh == originalMesh ) { |
|
|
|
|
this.mesh = mesh.deepClone(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Here is where one might add JmeCloneable related stuff except
|
|
|
|
|
// the old clone() method doesn't actually bother to clone anything.
|
|
|
|
|
// The arrays and the pageQuads are shared across all BitmapTextPage
|
|
|
|
|