Also removed the hack I put in last week to allow building without the deprecated headers and fixed it the right way. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			90 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        canvas.h
 | 
						|
// Purpose:     wxShapeCanvas
 | 
						|
// Author:      Julian Smart
 | 
						|
// Modified by:
 | 
						|
// Created:     12/07/98
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) Julian Smart
 | 
						|
// Licence:   	wxWindows licence
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#ifndef _OGL_CANVAS_H_
 | 
						|
#define _OGL_CANVAS_H_
 | 
						|
 | 
						|
#if defined(__GNUG__) && !defined(__APPLE__)
 | 
						|
#pragma interface "canvas.h"
 | 
						|
#endif
 | 
						|
 | 
						|
 | 
						|
// Drag states
 | 
						|
#define NoDragging             0
 | 
						|
#define StartDraggingLeft      1
 | 
						|
#define ContinueDraggingLeft   2
 | 
						|
#define StartDraggingRight     3
 | 
						|
#define ContinueDraggingRight  4
 | 
						|
 | 
						|
WXDLLIMPEXP_OGL extern const wxChar* wxShapeCanvasNameStr;
 | 
						|
 | 
						|
// When drag_count reaches 0, process drag message
 | 
						|
 | 
						|
class WXDLLIMPEXP_OGL wxDiagram;
 | 
						|
 | 
						|
class WXDLLIMPEXP_OGL wxShapeCanvas: public wxScrolledWindow
 | 
						|
{
 | 
						|
 DECLARE_DYNAMIC_CLASS(wxShapeCanvas)
 | 
						|
 public:
 | 
						|
  wxShapeCanvas(wxWindow *parent = NULL, wxWindowID id = -1,
 | 
						|
                const wxPoint& pos = wxDefaultPosition,
 | 
						|
                const wxSize& size = wxDefaultSize,
 | 
						|
                long style = wxBORDER | wxRETAINED,
 | 
						|
                const wxString& name = wxShapeCanvasNameStr);
 | 
						|
  ~wxShapeCanvas();
 | 
						|
 | 
						|
  inline void SetDiagram(wxDiagram *diag) { m_shapeDiagram = diag; }
 | 
						|
  inline wxDiagram *GetDiagram() const { return m_shapeDiagram; }
 | 
						|
 | 
						|
  virtual void OnLeftClick(double x, double y, int keys = 0);
 | 
						|
  virtual void OnRightClick(double x, double y, int keys = 0);
 | 
						|
 | 
						|
  virtual void OnDragLeft(bool draw, double x, double y, int keys=0); // Erase if draw false
 | 
						|
  virtual void OnBeginDragLeft(double x, double y, int keys=0);
 | 
						|
  virtual void OnEndDragLeft(double x, double y, int keys=0);
 | 
						|
 | 
						|
  virtual void OnDragRight(bool draw, double x, double y, int keys=0); // Erase if draw false
 | 
						|
  virtual void OnBeginDragRight(double x, double y, int keys=0);
 | 
						|
  virtual void OnEndDragRight(double x, double y, int keys=0);
 | 
						|
 | 
						|
  // Find object for mouse click, of given wxClassInfo (NULL for any type).
 | 
						|
  // If notImage is non-NULL, don't find an object that is equal to or a descendant of notImage
 | 
						|
  virtual wxShape *FindShape(double x, double y, int *attachment, wxClassInfo *info = NULL, wxShape *notImage = NULL);
 | 
						|
  wxShape *FindFirstSensitiveShape(double x, double y, int *new_attachment, int op);
 | 
						|
  wxShape *FindFirstSensitiveShape1(wxShape *image, int op);
 | 
						|
 | 
						|
  // Redirect to wxDiagram object
 | 
						|
  virtual void AddShape(wxShape *object, wxShape *addAfter = NULL);
 | 
						|
  virtual void InsertShape(wxShape *object);
 | 
						|
  virtual void RemoveShape(wxShape *object);
 | 
						|
  virtual bool GetQuickEditMode();
 | 
						|
  virtual void Redraw(wxDC& dc);
 | 
						|
  void Snap(double *x, double *y);
 | 
						|
 | 
						|
  // Events
 | 
						|
  void OnPaint(wxPaintEvent& event);
 | 
						|
  void OnMouseEvent(wxMouseEvent& event);
 | 
						|
 | 
						|
 protected:
 | 
						|
  wxDiagram*        m_shapeDiagram;
 | 
						|
  int               m_dragState;
 | 
						|
  double             m_oldDragX, m_oldDragY;     // Previous drag coordinates
 | 
						|
  double             m_firstDragX, m_firstDragY; // INITIAL drag coordinates
 | 
						|
  bool              m_checkTolerance;           // Whether to check drag tolerance
 | 
						|
  wxShape*          m_draggedShape;
 | 
						|
  int               m_draggedAttachment;
 | 
						|
 | 
						|
DECLARE_EVENT_TABLE()
 | 
						|
};
 | 
						|
 | 
						|
#endif
 | 
						|
 // _OGL_CANVAS_H_
 |