00001 // -*- c-basic-offset: 4 -*- 00022 #ifndef _PREVIEWIDENTIFYTOOL_H 00023 #define _PREVIEWIDENTIFYTOOL_H 00024 00025 #include "Tool.h" 00026 #include <set> 00027 00028 class GLPreviewFrame; 00029 00042 class PreviewIdentifyTool : public Tool 00043 { 00044 public: 00045 PreviewIdentifyTool(ToolHelper *helper, GLPreviewFrame *owner); 00046 ~PreviewIdentifyTool(); 00047 void Activate(); 00048 void ImagesUnderMouseChangedEvent(); 00049 void AfterDrawImagesEvent(); 00050 bool BeforeDrawImageEvent(unsigned int image); 00054 void ShowImageNumber(unsigned int image); 00056 void StopShowingImages(); 00058 void MouseButtonEvent(wxMouseEvent & e); 00059 00060 void MouseMoveEvent(double x, double y, wxMouseEvent & e); 00061 00062 void KeypressEvent(int keycode, int modifiers, int pressed); 00063 00064 void setConstantOn(bool constant_on_in); 00065 00066 void UpdateWithNewImageSet(std::set<unsigned int> new_image_set); 00067 void ForceRedraw(); 00068 private: 00070 void HighlightColour(unsigned int index, unsigned int count, 00071 unsigned char &red, unsigned char &green, 00072 unsigned char &blue); 00073 static bool texture_created; 00075 static unsigned int circle_border_tex; 00077 static unsigned int rectangle_border_tex; 00079 std::set<unsigned int> image_set; 00080 GLPreviewFrame *preview_frame; 00082 unsigned int mouse_over_image; 00083 bool mouse_is_over_button; 00084 00085 void StopUpdating(); 00086 void ContinueUpdating(); 00087 00088 bool stopUpdating; 00089 //user has clicked and is holding left button while over panorama 00090 bool holdLeft; 00091 00092 bool holdControl; 00093 00094 bool constantOn; 00095 00096 }; 00097 00098 #endif 00099
1.3.9.1