NSView.h 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. ///////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/cocoa/NSView.h
  3. // Purpose: wxCocoaNSView class
  4. // Author: David Elliott
  5. // Modified by:
  6. // Created: 2003/02/15
  7. // Copyright: (c) 2003 David Elliott
  8. // Licence: wxWindows licence
  9. ///////////////////////////////////////////////////////////////////////////////
  10. #ifndef __WX_COCOA_NSVIEW_H__
  11. #define __WX_COCOA_NSVIEW_H__
  12. #include "wx/hashmap.h"
  13. #include "wx/cocoa/ObjcAssociate.h"
  14. #if defined(__LP64__) || defined(NS_BUILD_32_LIKE_64)
  15. typedef struct CGRect NSRect;
  16. #else
  17. typedef struct _NSRect NSRect;
  18. #endif
  19. struct objc_object;
  20. class wxWindow;
  21. WX_DECLARE_OBJC_HASHMAP(NSView);
  22. class wxCocoaNSView
  23. {
  24. /* NSView is a rather special case and requires some extra attention */
  25. WX_DECLARE_OBJC_INTERFACE_HASHMAP(NSView)
  26. public:
  27. void AssociateNSView(WX_NSView cocoaNSView);
  28. void DisassociateNSView(WX_NSView cocoaNSView);
  29. protected:
  30. static struct objc_object *sm_cocoaObserver;
  31. public:
  32. virtual wxWindow* GetWxWindow() const
  33. { return NULL; }
  34. virtual void Cocoa_FrameChanged(void) = 0;
  35. virtual void Cocoa_synthesizeMouseMoved(void) = 0;
  36. virtual bool Cocoa_acceptsFirstMouse(bool &WXUNUSED(acceptsFirstMouse), WX_NSEvent WXUNUSED(theEvent))
  37. { return false; }
  38. virtual bool Cocoa_drawRect(const NSRect &WXUNUSED(rect))
  39. { return false; }
  40. virtual bool Cocoa_mouseDown(WX_NSEvent WXUNUSED(theEvent))
  41. { return false; }
  42. virtual bool Cocoa_mouseDragged(WX_NSEvent WXUNUSED(theEvent))
  43. { return false; }
  44. virtual bool Cocoa_mouseUp(WX_NSEvent WXUNUSED(theEvent))
  45. { return false; }
  46. virtual bool Cocoa_mouseMoved(WX_NSEvent WXUNUSED(theEvent))
  47. { return false; }
  48. virtual bool Cocoa_mouseEntered(WX_NSEvent WXUNUSED(theEvent))
  49. { return false; }
  50. virtual bool Cocoa_mouseExited(WX_NSEvent WXUNUSED(theEvent))
  51. { return false; }
  52. virtual bool Cocoa_rightMouseDown(WX_NSEvent WXUNUSED(theEvent))
  53. { return false; }
  54. virtual bool Cocoa_rightMouseDragged(WX_NSEvent WXUNUSED(theEvent))
  55. { return false; }
  56. virtual bool Cocoa_rightMouseUp(WX_NSEvent WXUNUSED(theEvent))
  57. { return false; }
  58. virtual bool Cocoa_otherMouseDown(WX_NSEvent WXUNUSED(theEvent))
  59. { return false; }
  60. virtual bool Cocoa_otherMouseDragged(WX_NSEvent WXUNUSED(theEvent))
  61. { return false; }
  62. virtual bool Cocoa_otherMouseUp(WX_NSEvent WXUNUSED(theEvent))
  63. { return false; }
  64. virtual bool Cocoa_resetCursorRects()
  65. { return false; }
  66. virtual bool Cocoa_viewDidMoveToWindow()
  67. { return false; }
  68. virtual bool Cocoa_viewWillMoveToWindow(WX_NSWindow WXUNUSED(newWindow))
  69. { return false; }
  70. virtual ~wxCocoaNSView() { }
  71. };
  72. #endif
  73. // __WX_COCOA_NSVIEW_H__