VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkButtonRepresentation.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00040 #ifndef vtkButtonRepresentation_h 00041 #define vtkButtonRepresentation_h 00042 00043 #include "vtkInteractionWidgetsModule.h" // For export macro 00044 #include "vtkWidgetRepresentation.h" 00045 00046 00047 class VTKINTERACTIONWIDGETS_EXPORT vtkButtonRepresentation : public vtkWidgetRepresentation 00048 { 00049 public: 00051 00052 vtkTypeMacro(vtkButtonRepresentation,vtkWidgetRepresentation); 00053 void PrintSelf(ostream& os, vtkIndent indent); 00055 00057 00058 vtkSetClampMacro(NumberOfStates,int,1,VTK_INT_MAX); 00060 00062 00063 vtkGetMacro(State,int); 00065 00067 00071 virtual void SetState(int state); 00072 virtual void NextState(); 00073 virtual void PreviousState(); 00075 00076 enum _InteractionState 00077 { 00078 Outside=0, 00079 Inside 00080 }; 00081 //ETX 00082 00084 00090 enum _HighlightState {HighlightNormal,HighlightHovering,HighlightSelecting}; 00091 virtual void Highlight(int); 00092 vtkGetMacro(HighlightState,int); 00094 00096 virtual void ShallowCopy(vtkProp *prop); 00097 00098 protected: 00099 vtkButtonRepresentation(); 00100 ~vtkButtonRepresentation(); 00101 00102 // Values 00103 int NumberOfStates; 00104 int State; 00105 int HighlightState; 00106 00107 private: 00108 vtkButtonRepresentation(const vtkButtonRepresentation&); //Not implemented 00109 void operator=(const vtkButtonRepresentation&); //Not implemented 00110 }; 00111 00112 #endif