/*
 * system methods
 */
// stop program
native void terminate();

// time in secs since program start
native double runtime();

native long currentTimeMillis();

// throw runtime error
native void throwRuntimeError( String message );
native void throwRuntimeError( String message, String detail );
native void throwRuntimeError( String message, String detail_1, String detail_2 );

#include "console.txt"

#include "math.txt"

#include "random.txt"

#include "class Object.txt"
#include "class String.txt"
#include "class Date.txt"

/*
 * events
 */
native void tickStart();
native void tickStop();
native void tickDelay( double secs );

// Threads
#include "class/Threads/Runnable.txt"
#include "class/Threads/Thread.txt"

// Animations
#include "class/Animations/Animation.txt"
#include "class/Animations/AnimationComposite.txt"
#include "class/Animations/AnimationList.txt"

// Collections
#include "class/Collections/ArrayList.txt"
#include "class/Collections/LinkedList.txt"
#include "class/Collections/HashMap.txt"
#include "class/Collections/HashSet.txt"
#include "class/Collections/KeyValuePair.txt"

// PixelPanel
#include "class/PixelPanel/PixelPanel.txt"
#include "class/PixelPanel/PixelImage.txt"
#include "class/PixelPanel/PixelSprite.txt"
#include "class/PixelPanel/PixelImageSprite.txt"
#include "class/PixelPanel/PixelSpriteComposite.txt"
#include "class/PixelPanel/PixelSpriteList.txt"

// V3Panel
#include "class/V3Panel/V3Panel.txt"

// IO
#include "class/IO/File.txt"
#include "class/IO/FileReader.txt"
#include "class/IO/FileWriter.txt"

// Events
#include "class/Events/MouseListener.txt"
#include "class/Events/KeyListener.txt"
#include "class/Events/Key.txt"

#include "class Color.txt"
#include "class Colors.txt"

/*
 * debugging of programming studio
 */
native void printProcesState();
native void printThreadState();
native void printMethodState();
native void printObjectState();
native void printIds();
