#define int32	long
#define uint32	ulong
#define int16	short
#define uint16	ushort

// For NewButton
#define PICTURE_PLAY		1
#define PICTURE_STOP		2
#define PICTURE_NEXT		3
#define PICTURE_BACK		4
#define PICTURE_PAUSE		5
#define PICTURE_TNEXT		6
#define PICTURE_TBACK		7

class ZButton : public BControl
{
	public:					
							ZButton
							(
								BRect 		 frame,
								const char 	*name,
								const char 	*label,
								long		pictype,
								BMessage 	*message,
								uint32 resizeMask  = B_FOLLOW_LEFT | B_FOLLOW_TOP,
								uint32 flags = B_WILL_DRAW
							); 
							~ZButton();
			void			KeyDown(const char *data, int32 num);
			void			Draw(BRect updateRect);
			void 			DrawExtra(bool selected);
			void			MouseDown(BPoint where);
			void 			AttachedToWindow(void);
			void			SetPictureType(int32 type);
			void			SetBitmap(BBitmap *b) {bitmap=b; if(Window())Draw(Bound); };

			void			SetMark(bool state);
			bool			IsMarked(void);
	
	private:
			BBitmap			*bitmap;
			BMessage		*msg;
			long			pictyp;
			BPicture		*norm;
			BPicture		*sele;
			BRect			Bound;
			bool			marked;
};

