pretty lines

This commit is contained in:
Denis Molony 2019-11-02 16:56:06 +10:00
parent ca5253a56c
commit 7a9c73ce9c
4 changed files with 50 additions and 0 deletions

View File

@ -8,7 +8,9 @@ import java.awt.image.DataBuffer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
// -----------------------------------------------------------------------------------//
abstract class CharacterList extends AbstractFile abstract class CharacterList extends AbstractFile
// -----------------------------------------------------------------------------------//
{ {
static final int borderX = 3; static final int borderX = 3;
static final int borderY = 3; static final int borderY = 3;
@ -20,12 +22,16 @@ abstract class CharacterList extends AbstractFile
List<Character> characters = new ArrayList<> (); List<Character> characters = new ArrayList<> ();
// ---------------------------------------------------------------------------------//
public CharacterList (String name, byte[] buffer, int charsX, int charsY) public CharacterList (String name, byte[] buffer, int charsX, int charsY)
// ---------------------------------------------------------------------------------//
{ {
this (name, buffer, charsX, charsY, 0); this (name, buffer, charsX, charsY, 0);
} }
// ---------------------------------------------------------------------------------//
public CharacterList (String name, byte[] buffer, int charsX, int charsY, int offset) public CharacterList (String name, byte[] buffer, int charsX, int charsY, int offset)
// ---------------------------------------------------------------------------------//
{ {
super (name, buffer); super (name, buffer);
@ -67,15 +73,21 @@ abstract class CharacterList extends AbstractFile
g2d.dispose (); g2d.dispose ();
} }
// ---------------------------------------------------------------------------------//
abstract Character createCharacter (byte[] buffer, int ptr); abstract Character createCharacter (byte[] buffer, int ptr);
// ---------------------------------------------------------------------------------//
// ---------------------------------------------------------------------------------//
int dimension (int chars, int border, int size, int gap) int dimension (int chars, int border, int size, int gap)
// ---------------------------------------------------------------------------------//
{ {
return border * 2 + chars * (size + gap) - gap; return border * 2 + chars * (size + gap) - gap;
} }
// ---------------------------------------------------------------------------------//
@Override @Override
public String getText () public String getText ()
// ---------------------------------------------------------------------------------//
{ {
StringBuilder text = new StringBuilder ("Name : " + name + "\n\n"); StringBuilder text = new StringBuilder ("Name : " + name + "\n\n");
@ -88,12 +100,16 @@ abstract class CharacterList extends AbstractFile
return text.toString (); return text.toString ();
} }
// ---------------------------------------------------------------------------------//
class Character class Character
// ---------------------------------------------------------------------------------//
{ {
BufferedImage image = new BufferedImage (sizeX, sizeY, BufferedImage.TYPE_BYTE_GRAY); BufferedImage image = new BufferedImage (sizeX, sizeY, BufferedImage.TYPE_BYTE_GRAY);
// -------------------------------------------------------------------------------//
@Override @Override
public String toString () public String toString ()
// -------------------------------------------------------------------------------//
{ {
StringBuilder text = new StringBuilder (); StringBuilder text = new StringBuilder ();
DataBuffer dataBuffer = image.getRaster ().getDataBuffer (); DataBuffer dataBuffer = image.getRaster ().getDataBuffer ();

View File

@ -5,7 +5,9 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
// see graffidisk.v1.0.2mg // see graffidisk.v1.0.2mg
// -----------------------------------------------------------------------------------//
public class CharacterRom extends CharacterList public class CharacterRom extends CharacterList
// -----------------------------------------------------------------------------------//
{ {
private static final int charsX = 16; private static final int charsX = 16;
private static final int charsY = 6; private static final int charsY = 6;
@ -13,7 +15,9 @@ public class CharacterRom extends CharacterList
String description; String description;
List<Character> characters = new ArrayList<> (); List<Character> characters = new ArrayList<> ();
// ---------------------------------------------------------------------------------//
public CharacterRom (String name, byte[] buffer) public CharacterRom (String name, byte[] buffer)
// ---------------------------------------------------------------------------------//
{ {
super (name, buffer, charsX, charsY, 256); super (name, buffer, charsX, charsY, 256);
@ -23,7 +27,9 @@ public class CharacterRom extends CharacterList
assert sizeY == (buffer[6] & 0xFF); assert sizeY == (buffer[6] & 0xFF);
} }
// ---------------------------------------------------------------------------------//
public static boolean isRom (byte[] buffer) public static boolean isRom (byte[] buffer)
// ---------------------------------------------------------------------------------//
{ {
if (buffer.length != 0x400) if (buffer.length != 0x400)
return false; return false;
@ -34,15 +40,21 @@ public class CharacterRom extends CharacterList
&& buffer[2] == (byte) 0x53 && buffer[3] == (byte) 0x10; && buffer[2] == (byte) 0x53 && buffer[3] == (byte) 0x10;
} }
// ---------------------------------------------------------------------------------//
@Override @Override
Character createCharacter (byte[] buffer, int ptr) Character createCharacter (byte[] buffer, int ptr)
// ---------------------------------------------------------------------------------//
{ {
return new CharacterRomCharacter (buffer, ptr); return new CharacterRomCharacter (buffer, ptr);
} }
// ---------------------------------------------------------------------------------//
class CharacterRomCharacter extends Character class CharacterRomCharacter extends Character
// ---------------------------------------------------------------------------------//
{ {
// -------------------------------------------------------------------------------//
public CharacterRomCharacter (byte[] buffer, int ptr) public CharacterRomCharacter (byte[] buffer, int ptr)
// -------------------------------------------------------------------------------//
{ {
DataBuffer dataBuffer = image.getRaster ().getDataBuffer (); DataBuffer dataBuffer = image.getRaster ().getDataBuffer ();
int element = 0; int element = 0;

View File

@ -5,27 +5,37 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
// Found on Pascal disks // Found on Pascal disks
// -----------------------------------------------------------------------------------//
public class Charset extends CharacterList public class Charset extends CharacterList
// -----------------------------------------------------------------------------------//
{ {
private static final int charsX = 16; private static final int charsX = 16;
private static final int charsY = 8; private static final int charsY = 8;
List<Character> characters = new ArrayList<> (); List<Character> characters = new ArrayList<> ();
// ---------------------------------------------------------------------------------//
public Charset (String name, byte[] buffer) public Charset (String name, byte[] buffer)
// ---------------------------------------------------------------------------------//
{ {
super (name, buffer, charsX, charsY); super (name, buffer, charsX, charsY);
} }
// ---------------------------------------------------------------------------------//
@Override @Override
Character createCharacter (byte[] buffer, int ptr) Character createCharacter (byte[] buffer, int ptr)
// ---------------------------------------------------------------------------------//
{ {
return new CharsetCharacter (buffer, ptr); return new CharsetCharacter (buffer, ptr);
} }
// ---------------------------------------------------------------------------------//
class CharsetCharacter extends Character class CharsetCharacter extends Character
// ---------------------------------------------------------------------------------//
{ {
// -------------------------------------------------------------------------------//
public CharsetCharacter (byte[] buffer, int ptr) public CharsetCharacter (byte[] buffer, int ptr)
// -------------------------------------------------------------------------------//
{ {
DataBuffer dataBuffer = image.getRaster ().getDataBuffer (); DataBuffer dataBuffer = image.getRaster ().getDataBuffer ();
int element = 0; int element = 0;

View File

@ -4,21 +4,27 @@ import java.awt.image.DataBuffer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
// -----------------------------------------------------------------------------------//
public class FontFile extends CharacterList public class FontFile extends CharacterList
// -----------------------------------------------------------------------------------//
{ {
private static final int charsX = 16; private static final int charsX = 16;
private static final int charsY = 6; private static final int charsY = 6;
List<Character> characters = new ArrayList<Character> (); List<Character> characters = new ArrayList<Character> ();
// ---------------------------------------------------------------------------------//
public FontFile (String name, byte[] buffer, int address) public FontFile (String name, byte[] buffer, int address)
// ---------------------------------------------------------------------------------//
{ {
super (name, buffer, charsX, charsY); super (name, buffer, charsX, charsY);
loadAddress = address; loadAddress = address;
} }
// ---------------------------------------------------------------------------------//
public static boolean isFont (byte[] buffer) public static boolean isFont (byte[] buffer)
// ---------------------------------------------------------------------------------//
{ {
if (buffer.length % 8 != 0) if (buffer.length % 8 != 0)
return false; return false;
@ -28,15 +34,21 @@ public class FontFile extends CharacterList
return true; return true;
} }
// ---------------------------------------------------------------------------------//
@Override @Override
Character createCharacter (byte[] buffer, int ptr) Character createCharacter (byte[] buffer, int ptr)
// ---------------------------------------------------------------------------------//
{ {
return new FontFileCharacter (buffer, ptr); return new FontFileCharacter (buffer, ptr);
} }
// ---------------------------------------------------------------------------------//
class FontFileCharacter extends Character class FontFileCharacter extends Character
// ---------------------------------------------------------------------------------//
{ {
// -------------------------------------------------------------------------------//
public FontFileCharacter (byte[] buffer, int ptr) public FontFileCharacter (byte[] buffer, int ptr)
// -------------------------------------------------------------------------------//
{ {
DataBuffer dataBuffer = image.getRaster ().getDataBuffer (); DataBuffer dataBuffer = image.getRaster ().getDataBuffer ();
int element = 0; int element = 0;