#ifndef __OOL_XGRAPHICBTN_H__
#define __OOL_XGRAPHICBTN_H__

/*===========================================================================*/
/* OOL ------------------- the Open Object Library ------ OS/2 version 0.01a */
/*===========================================================================*/
/*                              class: XGraphicButton                        */
/*                       derived from: XSettingButton                        */
/*                        last update: 4/96                                  */
/*                      programmed by: Stefan von Brauk                      */
/*===========================================================================*/




#include "xsetbtn.h"

#ifdef OOL_FOR_OS2_X86
   //syles
   #define GB_TWOSTATE         0x1000
   #define GB_AUTOTWOSTATE     0X2000
   #define GB_ANIMATION        0x4000
   #define GB_AUTOANIMATION    0x8000
   #define GB_DISABLEBITMAP    0x0010
   #define GB_HILITEBITMAP     0x0020
   #define GB_3D_TEXTRECESSED  0x0040
   #define GB_3D_TEXTRAISED    0x0080
#endif

class _export_ XGraphicButton: public XSettingButton{
       friend class XFrameWindow;
     private:
       XGraphicButton(HWND hwnd);
     public:
       XGraphicButton( XWindow * owner, XRect * rec,  USHORT id, ULONG style, const char * s, SHORT bitmapIdCount, SHORT * bitmapIdList);
       virtual ~XGraphicButton() {;}
       BOOL Animate( BOOL start = TRUE, BOOL fromBeginning = TRUE);
       BOOL IsAnimationActive( void );
       BOOL IsSelected( void );
       LONG QueryAnimationRate( void);
       void Select( BOOL select = TRUE);
       BOOL SetAnimationRate( LONG rate);
       void Toggle( void );
};


#endif
