/Users/airy/Sources/augui/AUGUIFramework/Controls/TKnobArcControl.h

Go to the documentation of this file.
00001 /*
00002  *  TKnobArcControl.h
00003  *  Muso
00004  *
00005  *  Created by Airy ANDRE on 05/09/04.
00006  *  Copyright 2004 __MyCompanyName__. All rights reserved.
00007  *
00008  */
00009 
00010 #ifndef TKnobArcControl_H_
00011 #define TKnobArcControl_H_
00012 
00013 #include "TKnobControl.h"
00014 
00015 // We should have some kind of TVirtualKnobControl, from which other knobs derive
00016 
00017 // -----------------------------------------------------------------------------
00018 
00019 enum
00020 {
00021         kNoAlphaBlend                           = 0,
00022         kAlphaBlend                                     = 1,
00023         kInverseAlphaBlend                      = 2,
00024         
00025     kSmallWidthNoCenter                 = 0,
00026     kSmallDynamicNoCenter               = 1,
00027         kSmallInvDynamicNoCenter        = 2,
00028     kSmallWidth                                 = 3,
00029     kSmallDynamic                               = 4,
00030     kSmallRing                                  = 5,
00031                 
00032     kLiveLike                                   = 10,
00033 
00034         kFullWidth                                      = 100,
00035         kFullWidthNoCenter                      = 101
00036 };
00037 
00038 // -----------------------------------------------------------------------------
00039 
00040 class TKnobArcControl:public TKnobControl
00041 {
00042         AUGUIDefineControl(TKnobArcControl, TKnobControl, "knobArc");
00043 
00044 public:
00045         // Control properties management
00046 
00047         virtual void SetProperty(OSType propID, double value);
00048         virtual void SetProperty(OSType propID, int32_t value);
00049         virtual void SetProperty(OSType propID, AUGUI::color_t &value);
00050         
00051         virtual bool GetProperty(OSType propID, double &value);
00052         virtual bool GetProperty(OSType propID, int32_t &value);
00053         virtual bool GetProperty(OSType propID, AUGUI::color_t &value);
00054         
00055 protected:
00056     // Constructor/Destructor
00057         
00058                          TKnobArcControl(HIViewRef inControl);
00059     virtual ~TKnobArcControl();
00060     
00061         virtual void    TitleChanged();
00062     virtual void        CompatibleDraw(RgnHandle inLimitRgn, CGContextRef inContext,bool inCompositing);        
00063         
00064 private:
00065         
00066         void    DrawStrokeArc(CGContextRef context, float fillWidth, float fillRadius, float startAngle, float endAngle, float alphaBlend);
00067         void    DrawFillArc(CGContextRef context, float fillRadius, float startAngle, float endAngle, float alphaBlend);
00068         
00069         float   mFill_R, mFill_G, mFill_B, mFill_A;
00070         float   mFrame_R, mFrame_G, mFrame_B, mFrame_A;
00071         
00072         bool    mDrawFrame;
00073         bool    mHalfCircle;
00074         int             mFillMode;
00075         int             mAlphaBlend;
00076         
00077         float   mMiddleAngle;
00078         
00079 };
00080 
00081 #endif // TKnobArcControl_H_#endif
00082 
00083 // -----------------------------------------------------------------------------





Generated on Sat Jul 8 13:02:18 2006 for AUGUI Framework by doxygen1.4.6

hosted on SourceForge.net Logo