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
friend class TViewNoCompositingCompatible;
00036
public:
00037 static CFStringRef
GetControlName() {
return CFSTR(
"button"); }
00038
protected:
00039
00040
TImageButton(HIViewRef inControl);
00041
virtual ~TImageButton();
00042
00043
virtual ControlKind
GetKind();
00044
00045
virtual OSStatus Initialize(TCarbonEvent& inEvent);
00046
virtual void CompatibleDraw(RgnHandle inLimitRgn, CGContextRef inContext,
bool inCompositing);
00047
virtual OSStatus Track(TCarbonEvent& inEvent, ControlPartCode* outPart);
00048
virtual OSStatus HiliteChanged(ControlPartCode inOriginalPart, ControlPartCode inCurrentPart, RgnHandle inInvalRgn);
00049
virtual void TitleChanged();
00050
virtual void ValueChanged();
00051 virtual UInt32
GetBehaviors() {
return TViewNoCompositingCompatible::GetBehaviors() | kControlSupportsEmbedding | kControlHasSpecialBackground; };
00052
00053
virtual OSStatus SetData(OSType inTag, ControlPartCode inPart, Size inSize,
const void* inPtr);
00054
virtual OSStatus GetData(OSType inTag, ControlPartCode inPart, Size inSize, Size* outSize,
void* inPtr);
00055
00056
private:
00057 CFArrayRef mImages;
00058 CFStringRef mTitle;
00059 ControlFontStyleRec mTextStyle;
00060
float mJustInset;
00061 };
00062
00063
#endif _TImageButton_h_