// COPYRIGHT (C) 1990-1999.  All Rights Reserved. - DRAW3.HPP
// Zinc Software Incorporated.  Pleasant Grove, Utah  USA
// May be freely copied, used and distributed.

// StopLightWin Events.
const ZafEventType CHANGE_LIGHT_STATE = 10000;

// Light Events.
const ZafEventType TURN_ON = 10500;
const ZafEventType TURN_OFF = 10501;

enum LightColor
{
	RED_LIGHT 	 = 0,
	GREEN_LIGHT	 = 1,
	YELLOW_LIGHT = 2
};

class Light : public ZafWindowObject
{
public:
	Light(int left, int top, int width, int height, LightColor _color);
	~Light(void){}
	virtual ZafEventType Event(const ZafEventStruct &event);

protected:
	virtual ZafEventType Draw(const ZafEventStruct &event, ZafEventType ccode);
};

class StopLight : public ZafWindow
{
public:
	StopLight(void);
	~StopLight(void){}
	virtual ZafEventType Event(const ZafEventStruct &event);

protected:
 	Light *red, *yellow, *green;

	virtual ZafEventType Draw(const ZafEventStruct &event, ZafEventType ccode);
};

class StopLightWin : public ZafWindow
{
public:
	StopLightWin(int left, int top, int width, int height);
	virtual ~StopLightWin(void){}
	virtual ZafEventType Event(const ZafEventStruct &event);

protected:
	StopLight *stopLight;
};

