00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#ifndef TKnobControl_H_
00011
#define TKnobControl_H_
00012
00013
#include "TViewNoCompositingCompatible.h"
00014
00015 class TKnobControl
00016 :
public TViewNoCompositingCompatible
00017 {
00018
friend class TViewNoCompositingCompatible;
00019
public:
00020 static CFStringRef
GetControlName() {
return CFSTR(
"knob");};
00021
protected:
00022
00023
TKnobControl(HIViewRef inControl);
00024
virtual ~TKnobControl();
00025
00026
virtual ControlKind
GetKind();
00027
00028 virtual bool UseNonblockingTracking() {
return true; }
00029
00030
virtual OSStatus Initialize( TCarbonEvent& inEvent );
00031
virtual OSStatus StillTracking(TCarbonEvent&inEvent, HIPoint& from);
00032
virtual void DrawStaticBackground(RgnHandle inLimitRgn, CGContextRef inContext,
bool inCompositing );
00033
virtual void CompatibleDraw(RgnHandle inLimitRgn, CGContextRef inContext,
bool inCompositing );
00034
virtual void TitleChanged();
00035
virtual void ValueChanged();
00036
00037
private:
00038 CGImageRef mImage;
00039 CGImageRef mBackImage;
00040
float mXOffset, mYOffset;
00041
float mMinAngle, mMaxAngle;
00042 };
00043
00044
#endif // TKnobControl