package ckelling.baukasten;

import java.applet.*;
import java.awt.*;
import java.lang.*;
import java.util.*;
/* import java.io.*; */
import java.net.*;


/**
 *	StandardRechner.java
 *
 *	Standardwerte fuer "Rechner",
 *	benutzt von Java Beans.
 *
 *	@author		Carsten Kelling
 *	@version	0.7.7, 20.06.97
 */
public abstract class StandardRechner extends Rechner
{
	///// Konstanten Anfang /////

	static int	WIDTH	= 500;
	static int	HEIGHT	= 400;

	static int		LINEWIDTH	= 5;
	static int		STRIPEWIDTH = 10;



	// Farben
    static Color BACKGROUND					= new Color(192, 192, 192);
    static Color BUS_COLOR					= Color.black;
	static Color BUS_COLOR_ACTIVATED 		= new Color(255, 200,	0); // not needed
	static Color EDGE_COLOR					= new Color(120, 120, 120);
	static Color EDGE_COLOR_ACTIVATED		= new Color(255, 255,	0); // not needed
	static Color GATE_COLOR					= Color.black;
	static Color SOLDER_COLOR				= Color.black;
	static Color REG_COLOR					= Color.blue;
	static Color REG_COLOR_ACTIVATED 		= Color.red;
	static Color REG_COLOR_BYTE_ACTIVATED	= REG_COLOR_ACTIVATED;
	static Color MEM_COLOR					= Color.black;
	static Color MEM_COLOR_ACTIVATED 		= Color.red;
	static Color MEM_COLOR_ACTIVATED_LINE	= new Color(255, 100,   0);
	static Color MEM_COLOR_COMPARED			= new Color(  0, 127, 255);
	static Color MEM_COLOR_VALID			= Color.green;
	static Color MEM_COLOR_DIRTY			= Color.yellow;
	static Color MEM_COLOR_BREAKPOINT		= new Color(180,   0,   0);
	static Color INPUT_COLOR_VALID			= new Color(  0, 127,   0);
	static Color INPUT_COLOR_DIRTY			= new Color(127, 127,   0);
	static Color INPUT_COLOR_BREAKPOINT		= new Color(100,   0,   0);
	static Color ALU_COLOR					= Color.blue;
	static Color ALU_COLOR_ACTIVATED 		= Color.red;
	static Color MOVEDOT_COLOR_BACKGROUND	= new Color(160, 160, 160);
	static Color MOVEDOT_COLOR_FOREGROUND	= Color.black;
	static Color RULER_COLOR				= new Color(220, 220, 220);
	static Color PIPELINE_STAGE_COLOR		= Color.black;
	static Color MIPS_COLOR					= new Color(255, 89, 0);
	static Color MIPS_COLOR_LIGHT			= new Color(255, 168, 121);


    // Schriftarten etc.
	static int          SMALLFONTSIZE   = NORMALFONTSIZE;
   	static Font   		SMALLFONT = NORMALFONT;
  	//static FontMetrics  NORMALFONTMETRICS = null;
   	//static FontMetrics  SMALLFONTMETRICS = null;
   	//static FontMetrics  DIALOGFONTMETRICS = null;
   	static int          NORMALFONTHEIGHT = 15;
   	static int          SMALLFONTHEIGHT = 15;
   	static int          DIALOGFONTHEIGHT = 13;


	static int		    NUMBERBASE	= 16;


	///// Konstanten Ende /////


	static		int				c_state = FETCH;
	static		int				n_state = FETCH;
	static		boolean 		demonstrationReady = true;
	static		int 			demonstrationStep = 1;

	//static		Vector[]		simBuffer = null;
	static		int 			simBufferTop = 0;
	static		int 			simBufferBottom = 0;

	//static		Graphics        onScreenGC = null;
   	//static		Image			offScreenImage = null;
	//static		Graphics		offScreenGC = null;

	static		String			PROGRAM = "bubblesort";
	static		boolean 		blackAndWhite = false;
	static		boolean 		manualRedraw = false;
	static		boolean 		expandNumbers = true;
	static		boolean			programChoice = true;
	static		boolean			showOpcodes = false;
	static		boolean 		showDecodeCycle = true;
	static		boolean			buttonOpcodes = true;
	static		boolean			buttonDecode = true;
	static		boolean			buttonFast = true;
	static		int				editableFlags = 65535;

	static   	boolean         blinker = true;

	static		boolean 		firstTime = true;
	static		boolean			isWin32 = true;
	static		boolean			activationLocked = false;
	//static		Dimension		screenSize = null;

	static	int				versionStringX = WIDTH - 100;
	static	int				versionStringY = HEIGHT - 20;

	//static	Hashtable		cacheValid = null;

	//static	Vector			RTFTextCache = null;

	static	boolean			errorMessagesEnabled = true;
	static	int				numberOfErrorMessagesShowing = 0;

} /* end StandardRechner */

