00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
#ifndef TXYControl_H_
00012
#define TXYControl_H_
00013
00014
#include "TViewNoCompositingCompatible.h"
00015
00016 class TXYControl
00017 :
public TViewNoCompositingCompatible
00018 {
00019
friend class TViewNoCompositingCompatible;
00020
public:
00021 static const OSType
selectorY = 'posX';
00022 static const OSType
selectorX = 'posY';
00023
00024 static CFStringRef
GetControlName() {
return CFSTR(
"xy");};
00025
protected:
00026
00027
TXYControl(HIViewRef inControl);
00028
virtual ~TXYControl();
00029
00030
virtual ControlKind
GetKind();
00031
00032 virtual bool UseNonblockingTracking() {
return true; }
00033
00034
virtual OSStatus Initialize( TCarbonEvent& inEvent );
00035
virtual OSStatus StartTracking(TCarbonEvent&inEvent, HIPoint& from);
00036
virtual OSStatus StillTracking(TCarbonEvent&inEvent, HIPoint& from);
00037
virtual void DrawStaticBackground(RgnHandle inLimitRgn, CGContextRef inContext,
bool inCompositing );
00038
virtual void CompatibleDraw(RgnHandle inLimitRgn, CGContextRef inContext,
bool inCompositing );
00039
virtual void TitleChanged();
00040
virtual void ValueChanged();
00041
virtual OSStatus SetData(OSType inTag, ControlPartCode inPart, Size inSize,
const void* inPtr);
00042
virtual OSStatus GetData(OSType inTag, ControlPartCode inPart, Size inSize, Size* outSize,
void* inPtr);
00043
private:
00044 CGImageRef mBackImage;
00045 CGImageRef mMarker;
00046
double mX, mY;
00047 };
00048
00049
#endif //