#ifndef TRCL_BUTTON_DEFINED
#define TRCL_BUTTON_DEFINED

  #include "displayobject.def"

  struct TROD_Button
  {
    struct TROD_DisplayObject DO;
    struct Image *            Image;
    struct Gadget *           Gadget;
    STRPTR                    Text;
    ULONG                     TextLength;
    ULONG                     PixelTextLength;
    ULONG                     Type;
    struct IClass *           BClass;
    ULONG                     Flags;
    UWORD                     BorderHeight;
    BOOL                      IsPressed;
  };

  extern TR_METHOD(Button,NEW,NewData);
  extern TR_SIMPLEMETHOD(Button,DISPOSE);
  extern TR_METHOD(Button,INSTALL,InstallData);
  extern TR_SIMPLEMETHOD(Button,REMOVE);
  extern TR_METHOD(Button,SETATTRIBUTE,SetAttributeData);
  extern TR_METHOD(Button,KEYDOWN,EventData);
  extern TR_METHOD(Button,KEYUP,EventData);
  extern TR_METHOD(Button,KEYCANCELLED_DISABLED_ENABLED,EventData);
  extern TR_METHOD(Button,EVENT,EventData);
  extern TR_SIMPLEMETHOD(Button,CREATECLASS);
  extern TR_SIMPLEMETHOD(Button,DISPOSECLASS);

#endif
