X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ab6738554012b4789cd12d035f112caf68a6c05..ec2df34e27ba41f202ecbf096cdfed082a9ddb8f:/include/wx/osx/cocoa/private.h?ds=sidebyside diff --git a/include/wx/osx/cocoa/private.h b/include/wx/osx/cocoa/private.h index bc0c046d84..118bad21ac 100644 --- a/include/wx/osx/cocoa/private.h +++ b/include/wx/osx/cocoa/private.h @@ -89,6 +89,8 @@ public : virtual void SetNeedsDisplay( const wxRect* where = NULL ); virtual bool GetNeedsDisplay() const; + virtual void SetDrawingEnabled(bool enabled); + virtual bool CanFocus() const; // return true if successful virtual bool SetFocus(); @@ -136,11 +138,17 @@ public : virtual void SetupKeyEvent(wxKeyEvent &wxevent, NSEvent * nsEvent, NSString* charString = NULL); virtual void SetupMouseEvent(wxMouseEvent &wxevent, NSEvent * nsEvent); + void SetupCoordinates(wxCoord &x, wxCoord &y, NSEvent *nsEvent); + virtual bool SetupCursor(NSEvent* event); +#if !wxOSX_USE_NATIVE_FLIPPED void SetFlipped(bool flipped); virtual bool IsFlipped() const { return m_isFlipped; } +#endif + virtual double GetContentScaleFactor() const; + // cocoa thunk connected calls virtual unsigned int draggingEntered(void* sender, WXWidget slf, void* _cmd); @@ -155,7 +163,9 @@ public : virtual bool acceptsFirstResponder(WXWidget slf, void* _cmd); virtual bool becomeFirstResponder(WXWidget slf, void* _cmd); virtual bool resignFirstResponder(WXWidget slf, void* _cmd); +#if !wxOSX_USE_NATIVE_FLIPPED virtual bool isFlipped(WXWidget slf, void* _cmd); +#endif virtual void drawRect(void* rect, WXWidget slf, void* _cmd); virtual void controlAction(WXWidget slf, void* _cmd, void* sender); @@ -168,7 +178,9 @@ public : protected: WXWidget m_osxView; NSEvent* m_lastKeyDownEvent; +#if !wxOSX_USE_NATIVE_FLIPPED bool m_isFlipped; +#endif // if it the control has an editor, that editor will already send some // events, don't resend them bool m_hasEditor; @@ -248,6 +260,8 @@ public : CGWindowLevel GetWindowLevel() const { return m_macWindowLevel; } void RestoreWindowLevel(); + + static WX_NSResponder GetNextFirstResponder() ; protected : CGWindowLevel m_macWindowLevel; WXWindow m_macWindow; @@ -270,11 +284,15 @@ public: void GetLayoutInset(int &left , int &top , int &right, int &bottom) const; void SetAcceleratorFromLabel(const wxString& label); -private: NSButton *GetNSButton() const; }; #ifdef __OBJC__ + typedef void (*wxOSX_TextEventHandlerPtr)(NSView* self, SEL _cmd, NSString *event); + typedef void (*wxOSX_EventHandlerPtr)(NSView* self, SEL _cmd, NSEvent *event); + typedef BOOL (*wxOSX_PerformKeyEventHandlerPtr)(NSView* self, SEL _cmd, NSEvent *event); + typedef BOOL (*wxOSX_FocusHandlerPtr)(NSView* self, SEL _cmd); + WXDLLIMPEXP_CORE NSScreen* wxOSXGetMenuScreen(); WXDLLIMPEXP_CORE NSRect wxToNSRect( NSView* parent, const wxRect& r ); @@ -285,6 +303,8 @@ private: NSRect WXDLLIMPEXP_CORE wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const wxSize &size , bool adjustForOrigin = true ); + WXDLLIMPEXP_CORE NSView* wxOSXGetViewFromResponder( NSResponder* responder ); + // used for many wxControls @interface wxNSButton : NSButton @@ -332,6 +352,18 @@ private: @end + @interface wxNSComboBox : NSComboBox + { + wxNSTextFieldEditor* fieldEditor; + } + + - (wxNSTextFieldEditor*) fieldEditor; + - (void) setFieldEditor:(wxNSTextFieldEditor*) fieldEditor; + + @end + + + @interface wxNSMenu : NSMenu { wxMenuImpl* impl;