diff options
| author | Fuwn <[email protected]> | 2026-02-12 22:33:32 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-02-12 22:33:32 -0800 |
| commit | c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9 (patch) | |
| tree | df9f48bf128a6c0186a8e91857d6ff30fe0e9f18 /NET/worlds/scape/StringTexture.java | |
| download | worldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.tar.xz worldsplayer-c7a9d4a6bd53ed7d61731770f2f10e8b9fd435f9.zip | |
Initial commit
Diffstat (limited to 'NET/worlds/scape/StringTexture.java')
| -rw-r--r-- | NET/worlds/scape/StringTexture.java | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/NET/worlds/scape/StringTexture.java b/NET/worlds/scape/StringTexture.java new file mode 100644 index 0000000..813dfdc --- /dev/null +++ b/NET/worlds/scape/StringTexture.java @@ -0,0 +1,103 @@ +package NET.worlds.scape; + +import java.awt.Color; +import java.io.IOException; + +public class StringTexture extends Texture implements Persister { + private String _text; + private String _font; + private int _size; + private Color _fore; + private Color _back; + private char[] _array; + private int _length; + private static Object classCookie = new Object(); + + static { + nativeInit(); + } + + public StringTexture(String text, String font, int size, Color fore, Color back) { + this._text = text; + this._font = font; + this._size = size; + this._fore = fore; + this._back = back; + this._array = text.toCharArray(); + this._length = text.length(); + this.makeStringTexture(); + } + + protected StringTexture() { + } + + public static native void nativeInit(); + + private native void makeStringTexture(); + + @Override + public void saveState(Saver s) throws IOException { + s.saveVersion(0, classCookie); + super.saveState(s); + s.saveString(this._text); + s.saveString(this._font); + s.saveInt(this._size); + s.saveInt(this._fore.getRGB()); + s.saveInt(this._back.getRGB()); + } + + @Override + public void restoreState(Restorer r) throws IOException, TooNewException { + switch (r.restoreVersion(classCookie)) { + case 0: + super.restoreState(r); + this._text = r.restoreString(); + this._array = this._text.toCharArray(); + this._length = this._text.length(); + this._font = r.restoreString(); + this._size = r.restoreInt(); + this._fore = new Color(r.restoreInt()); + this._back = new Color(r.restoreInt()); + this.makeStringTexture(); + return; + default: + throw new TooNewException(); + } + } + + public String getText() { + return this._text; + } + + public String getFont() { + return this._font; + } + + public int getSize() { + return this._size; + } + + public Color getForegroundColor() { + return this._fore; + } + + public Color getBackgroundColor() { + return this._back; + } + + @Override + public String toString() { + return super.toString() + + "[" + + this._text + + ", Font " + + this._font + + ", Size " + + this._size + + ", Forground " + + this._fore + + ", Background " + + this._back + + "]"; + } +} |