vtkScalarBarWidget.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00051 #ifndef __vtkScalarBarWidget_h
00052 #define __vtkScalarBarWidget_h
00053
00054 #include "vtkInteractorObserver.h"
00055 class vtkScalarBarActor;
00056
00057 class VTK_HYBRID_EXPORT vtkScalarBarWidget : public vtkInteractorObserver
00058 {
00059 public:
00060 static vtkScalarBarWidget *New();
00061 vtkTypeRevisionMacro(vtkScalarBarWidget,vtkInteractorObserver);
00062 void PrintSelf(ostream& os, vtkIndent indent);
00063
00065
00066 void SetScalarBarActor(vtkScalarBarActor *scalarbar);
00067 vtkGetObjectMacro(ScalarBarActor,vtkScalarBarActor);
00069
00071 virtual void SetEnabled(int);
00072
00073 protected:
00074 vtkScalarBarWidget();
00075 ~vtkScalarBarWidget();
00076
00077
00078 vtkScalarBarActor *ScalarBarActor;
00079
00080
00081 static void ProcessEvents(vtkObject* object,
00082 unsigned long event,
00083 void* clientdata,
00084 void* calldata);
00085
00086
00087 void OnLeftButtonDown();
00088 void OnLeftButtonUp();
00089 void OnRightButtonDown();
00090 void OnRightButtonUp();
00091 void OnMouseMove();
00092
00093
00094 double StartPosition[2];
00095
00096
00097 int State;
00098
00099
00100 int LeftButtonDown;
00101 int RightButtonDown;
00102 enum WidgetState
00103 {
00104 Moving=0,
00105 AdjustingP1,
00106 AdjustingP2,
00107 AdjustingP3,
00108 AdjustingP4,
00109 AdjustingE1,
00110 AdjustingE2,
00111 AdjustingE3,
00112 AdjustingE4,
00113 Inside,
00114 Outside
00115 };
00116
00117
00118
00119
00120 int ComputeStateBasedOnPosition(int X, int Y, int *pos1, int *pos2);
00121
00122
00123 void SetCursor(int State);
00124
00125 private:
00126 vtkScalarBarWidget(const vtkScalarBarWidget&);
00127 void operator=(const vtkScalarBarWidget&);
00128 };
00129
00130 #endif