/*
 *  FM_ARexx_React.h
 *  $VER: V1.0, 12.09.2001
 *  Coded by Edgar Schwan
 */

#ifndef FM_AREXX_REACT_H
#define FM_AREXX_REACT_H

#include <exec/ports.h>
#include <rexx/storage.h>
#include <classes/arexx.h>

#include "FlashMandel.h"

/* Prototypes */
BOOL InitARexx(RESOURCEFILE ResPtr);
void FreeARexx(RESOURCEFILE ResPtr);
void RemoveARexxEvent(struct FM_ARexxEvent *event);

/* Structures */
struct FM_ARexxEvent {
	struct Node	FMRXC_Node;
	ULONG			FMRXC_Command;
	APTR			FMRXC_Args;
	};

/* Command-Structures */
struct FM_RxCmd_ABOUT {
	BOOL		FMRC_ABOUT_Confirm;
	};

struct FM_RxCmd_SYSINFO {
	BOOL		FMRC_SYSINFO_Confirm;
	};

struct FM_RxCmd_QUIT {
	BOOL		FMRC_QUIT_Force;
	};

struct FM_RxCmd_TEST {
	BOOL		FMRC_TEST_Switch;
	STRPTR	FMRC_TEST_String;
	LONG		FMRC_TEST_Number;
	STRPTR	FMRC_TEST_NeedStr;
	STRPTR	FMRC_TEST_Follow;
	};

struct FM_RxCmd_COORDS {
	LDouble	FMRC_COORDS_RMin;
	LDouble	FMRC_COORDS_RMax;
	LDouble	FMRC_COORDS_IMin;
	LDouble	FMRC_COORDS_IMax;
	LDouble	FMRC_COORDS_JKre;
	LDouble	FMRC_COORDS_JKim;
	};

struct FM_RxCmd_RENDER {
	BOOL 		FMRC_RENDER_Force;
	};

#endif /* FM_AREXX_REACT_H */
