00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #if !defined(_TImageButton_h_)
00011 #define _TImageButton_h_
00012
00013 #include "TViewNoCompositingCompatible.h"
00014
00033 class TImageButton : public TViewNoCompositingCompatible
00034 {
00035 AUGUIDefineControl(TImageButton, TViewNoCompositingCompatible, "button");
00036 protected:
00037
00038 TImageButton(HIViewRef inControl);
00039 virtual ~TImageButton();
00040
00041 virtual ControlKind GetKind();
00042
00043 virtual OSStatus Initialize(TCarbonEvent& inEvent);
00044 virtual void CompatibleDraw(RgnHandle inLimitRgn, CGContextRef inContext, bool inCompositing);
00045 virtual OSStatus ControlHit(ControlPartCode inPart, UInt32 inModifiers );
00046 virtual OSStatus Track(TCarbonEvent& inEvent, ControlPartCode* outPart);
00047 virtual OSStatus HiliteChanged(ControlPartCode inOriginalPart, ControlPartCode inCurrentPart, RgnHandle inInvalRgn);
00048 virtual void TitleChanged();
00049 virtual void ValueChanged();
00050 virtual UInt32 GetBehaviors() { return TViewNoCompositingCompatible::GetBehaviors() | kControlSupportsEmbedding ; };
00051
00052 virtual OSStatus SetData(OSType inTag, ControlPartCode inPart, Size inSize, const void* inPtr);
00053 virtual OSStatus GetData(OSType inTag, ControlPartCode inPart, Size inSize, Size* outSize, void* inPtr);
00054
00055 private:
00056 CFArrayRef mImages;
00057 CFStringRef mTitle;
00058 ControlFontStyleRec mTextStyle;
00059 float mJustInset;
00060 };
00061
00062 #endif _TImageButton_h_