<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/**
 *  DotMatrix.java
 * 
 *  (c) Andrew Oakley, Enigma Software (enigma@zetnet.co.uk) 1996
 *  All Rights Reserved
 *  http://www.zetnet.co.uk/enigma/
 *
 *  Last modified: 960728 0051
 *
 */


import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.util.*;


public class DotMatrix extends Applet implements Runnable {
        String text;  int size;  int delay;
        Color litColor, unlitColor;
        int sx;
        int x = 0;
        Image all, letters;  

        Thread thread;


        public void init() {
                String tmp;
                tmp = getParameter("text");  text = (tmp == null) ? "DOTMATRIX.JAVA" : tmp.toUpperCase();
                tmp = getParameter("delay"); delay= (tmp == null) ? 100 : Integer.valueOf(tmp).intValue();
                tmp = getParameter("size");  size = (tmp == null) ? 3 : Integer.valueOf(tmp).intValue();
                try { tmp = getParameter("lit");   litColor = (tmp == null) ? Color.red : new Color(0xff &lt;&lt; 26 | Integer.parseInt(tmp, 16)); }
                catch (Exception e) { litColor = Color.red; }                                                              
                try { tmp = getParameter("unlit");   unlitColor = (tmp == null) ? Color.black : new Color(0xff &lt;&lt; 26 | Integer.parseInt(tmp, 16)); }
                catch (Exception e) { unlitColor = Color.black; }

                makeImage();
        }


        void makeImage() {
                int[] pix;

                sx = text.length() * size * 6;  
                all = createImage(sx + size().width, size().height);
                Graphics g = all.getGraphics();

                for (int i = 0; i &lt; text.length(); i++) {
                        pix = getChar(text.charAt(i));
                        int count = 0;
                        for (int y = 0; y &lt; 7; y++) {
                                for (int x = 0; x &lt; 5; x++) {
                                        if (pix[count++] == 0) g.setColor(unlitColor);
                                        else g.setColor(litColor);
                                        g.fillOval(i*6*size + x*size, y*size, size, size);
                                }
                                g.setColor(unlitColor);
                                g.fillOval(i*6*size + 5*size, y*size, size, size);
                        }
                }
                for (int i = text.length()*6*size; i &lt; sx + size().width; i += 6*size) {
                        for (int y = 0; y &lt; 7; y++) {
                                for (int x = 0; x &lt; 6; x++) {
                                        g.setColor(unlitColor);
                                        g.fillOval(i + x*size, y*size, size, size);
                                }
                        }
                }
        }


        int[] getChar(char c) {
                int i = DotMatrixChar.chars.indexOf(c);
                int[] result = new int[5 * 7];

                if (i &gt;= 0) result = ((DotMatrixChar)DotMatrixChar.charList.elementAt(i)).data;
                else for (int j = 0; j &lt; 5*7; j++) result[j] = 0;

                return result;
        }
                


        public void start() {
                thread = new Thread(this);
                thread.start();
        }


        public void stop() {
                thread.stop();
        }


        public void run() {
                while (true) {
                        try {thread.sleep(delay);} catch (InterruptedException e){}
                        scrollLeft();
                        repaint();
                }
        }


        public void paint(Graphics g) {
                update(g);
        }             


        public void update(Graphics g) {
                g.drawImage(all, x, 0, this);
        }


        public void scrollLeft() {
                if (x &gt; -sx) x -= size;
                else x = size().width;
        }


        public String getAppletInfo() {
                return "DotMatrix v1.0\nWritten by Andrew Oakley (enigma@zetnet.co.uk) of Enigma Software\n\nhttp://www.zetnet.co.uk/users/enigma/";
        }


        public String[][] getParameterInfo() {
                String[][] info = {
                        {"text", "text string", "text to actually display"},
                        {"delay", "integer", "number of ms to delay between redraws"},
                        {"lit", "hexadecimal color", "color of lit LEDs"},
                        {"unlit", "hexadecimal color", "color of unlit LEDs"}
                };
                return info;
        }

}




class DotMatrixChar {
        public int[] data = new int[5 * 7];

        DotMatrixChar(String data) {
                for (int i = 0; i &lt; 5*7; i++) this.data[i] = (data.charAt(i) == 'o') ? 1 : 0;
        }

        static String chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ().,!@-0123456789";

        static Vector charList = new Vector(50, 10);


        static {
                charList.addElement(new DotMatrixChar(  "  o  "+
                                                        " o o "+
                                                        "o   o"+
                                                        "o   o"+
                                                        "ooooo"+
                                                        "o   o"+
                                                        "o   o" ));
                charList.addElement(new DotMatrixChar(  "oooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        "oooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        "oooo " ));
                charList.addElement(new DotMatrixChar(  " oooo"+
                                                        "o    "+
                                                        "o    "+
                                                        "o    "+
                                                        "o    "+
                                                        "o    "+
                                                        " oooo" ));
                charList.addElement(new DotMatrixChar(  "oooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "oooo " ));
                charList.addElement(new DotMatrixChar(  "ooooo"+
                                                        "o    "+
                                                        "o    "+
                                                        "oooo "+
                                                        "o    "+
                                                        "o    "+
                                                        "ooooo" ));
                charList.addElement(new DotMatrixChar(  "ooooo"+
                                                        "o    "+
                                                        "o    "+
                                                        "oooo "+
                                                        "o    "+
                                                        "o    "+
                                                        "o    " ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o    "+
                                                        "o    "+
                                                        "o  oo"+
                                                        "o   o"+
                                                        "o   o"+
                                                        " ooo " ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "ooooo"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o" ));
                charList.addElement(new DotMatrixChar(  "ooooo"+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "ooooo" ));
                charList.addElement(new DotMatrixChar(  "ooooo"+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "o o  "+
                                                        " oo  " ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "o  o "+
                                                        "o o  "+
                                                        "oo   "+
                                                        "o o  "+
                                                        "o  o "+
                                                        "o   o" ));
                charList.addElement(new DotMatrixChar(  "o    "+
                                                        "o    "+
                                                        "o    "+
                                                        "o    "+
                                                        "o    "+
                                                        "o    "+
                                                        "ooooo" ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "oo oo"+
                                                        "o o o"+
                                                        "o o o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o" ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "oo  o"+
                                                        "o o o"+
                                                        "o o o"+
                                                        "o o o"+
                                                        "o  oo"+
                                                        "o   o" ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        " ooo " ));
                charList.addElement(new DotMatrixChar(  "oooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        "oooo "+
                                                        "o    "+
                                                        "o    "+
                                                        "o    " ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o o o"+
                                                        "o  oo"+
                                                        " oooo" ));
                charList.addElement(new DotMatrixChar(  "oooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        "oooo "+
                                                        "o  o "+
                                                        "o   o"+
                                                        "o   o" ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o    "+
                                                        "o    "+
                                                        " ooo "+
                                                        "    o"+
                                                        "    o"+
                                                        " ooo " ));
                charList.addElement(new DotMatrixChar(  "ooooo"+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  " ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        " ooo " ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        " o o "+
                                                        "  o  " ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        "o o o"+
                                                        "o o o"+
                                                        "oo oo"+
                                                        "o   o" ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "o   o"+
                                                        " o o "+
                                                        "  o  "+
                                                        " o o "+
                                                        "o   o"+
                                                        "o   o" ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "o   o"+
                                                        " o o "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  " ));
                charList.addElement(new DotMatrixChar(  "ooooo"+
                                                        "   o "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        " o   "+
                                                        "ooooo" ));
                charList.addElement(new DotMatrixChar(  "   o "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "   o " ));
                charList.addElement(new DotMatrixChar(  " o   "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        " o   " ));
                charList.addElement(new DotMatrixChar(  "     "+
                                                        "     "+
                                                        "     "+
                                                        "     "+
                                                        "     "+
                                                        " oo  "+
                                                        " oo  " ));
                charList.addElement(new DotMatrixChar(  "     "+
                                                        "     "+
                                                        "     "+
                                                        "     "+
                                                        "     "+
                                                        " oo  "+
                                                        "oo   " ));
                charList.addElement(new DotMatrixChar(  " oo  "+
                                                        " oo  "+
                                                        " oo  "+
                                                        " oo  "+
                                                        "     "+
                                                        " oo  "+
                                                        " oo  " ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o   o"+
                                                        "o  oo"+
                                                        "o o o"+
                                                        "o  oo"+
                                                        "o    "+
                                                        " oooo" ));
                charList.addElement(new DotMatrixChar(  "     "+
                                                        "     "+
                                                        "     "+
                                                        "ooooo"+
                                                        "     "+
                                                        "     "+
                                                        "     " ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o  oo"+
                                                        "o o o"+
                                                        "o o o"+
                                                        "o o o"+
                                                        "oo  o"+
                                                        " ooo " ));
                charList.addElement(new DotMatrixChar(  "  o  "+
                                                        " oo  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "  o  "+
                                                        "ooooo" ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o   o"+
                                                        "   o "+
                                                        "  o  "+
                                                        "  o  "+
                                                        " o   "+
                                                        "ooooo" ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o   o"+
                                                        "    o"+
                                                        " ooo "+
                                                        "    o"+
                                                        "o   o"+
                                                        " ooo " ));
                charList.addElement(new DotMatrixChar(  "o   o"+
                                                        "o   o"+
                                                        "o   o"+
                                                        " oooo"+
                                                        "    o"+
                                                        "    o"+
                                                        "    o" ));
                charList.addElement(new DotMatrixChar(  "ooooo"+
                                                        "o    "+
                                                        "o    "+
                                                        "oooo "+
                                                        "    o"+
                                                        "    o"+
                                                        "oooo " ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o   o"+
                                                        "o    "+
                                                        "oooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        " ooo " ));
                charList.addElement(new DotMatrixChar(  "ooooo"+
                                                        "    o"+
                                                        "   o "+
                                                        "  o  "+
                                                        "  o  "+
                                                        " o   "+
                                                        "o    " ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        " ooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        " ooo " ));
                charList.addElement(new DotMatrixChar(  " ooo "+
                                                        "o   o"+
                                                        "o   o"+
                                                        " oooo"+
                                                        "    o"+
                                                        "o   o"+
                                                        " ooo " ));
        }

}

</pre></body></html>