]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/cocoa/private.h
use correct scale when drawing
[wxWidgets.git] / include / wx / osx / cocoa / private.h
index dbaa1ece9fabd9af8f38d8b67919f8c11f612ed3..118bad21ac81b433f641c283c229fbffe046dec4 100644 (file)
@@ -89,6 +89,8 @@ public :
     virtual void        SetNeedsDisplay( const wxRect* where = NULL );
     virtual bool        GetNeedsDisplay() const;
 
     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();
     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);
 
     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; }
     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);
     // 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);
     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);
     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);
     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;
 protected:
     WXWidget m_osxView;
     NSEvent* m_lastKeyDownEvent;
+#if !wxOSX_USE_NATIVE_FLIPPED
     bool m_isFlipped;
     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;
     // 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();
     
     CGWindowLevel   GetWindowLevel() const { return m_macWindowLevel; }
     void            RestoreWindowLevel();
+    
+    static WX_NSResponder GetNextFirstResponder() ;
 protected :
     CGWindowLevel   m_macWindowLevel;
     WXWindow        m_macWindow;
 protected :
     CGWindowLevel   m_macWindowLevel;
     WXWindow        m_macWindow;
@@ -255,7 +269,30 @@ protected :
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxNonOwnedWindowCocoaImpl)
 };
 
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxNonOwnedWindowCocoaImpl)
 };
 
+DECLARE_WXCOCOA_OBJC_CLASS( wxNSButton );
+
+class wxButtonCocoaImpl : public wxWidgetCocoaImpl, public wxButtonImpl
+{
+public:
+    wxButtonCocoaImpl(wxWindowMac *wxpeer, wxNSButton *v);
+    virtual void SetBitmap(const wxBitmap& bitmap);
+#if wxUSE_MARKUP
+    virtual void SetLabelMarkup(const wxString& markup);
+#endif // wxUSE_MARKUP
+    
+    void SetPressedBitmap( const wxBitmap& bitmap );
+    void GetLayoutInset(int &left , int &top , int &right, int &bottom) const;
+    void SetAcceleratorFromLabel(const wxString& label);
+
+    NSButton *GetNSButton() const;
+};
+
 #ifdef __OBJC__
 #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 );
 
     WXDLLIMPEXP_CORE NSScreen* wxOSXGetMenuScreen();
     WXDLLIMPEXP_CORE NSRect wxToNSRect( NSView* parent, const wxRect& r );
@@ -266,6 +303,8 @@ protected :
     NSRect WXDLLIMPEXP_CORE wxOSXGetFrameForControl( wxWindowMac* window , const wxPoint& pos , const wxSize &size ,
         bool adjustForOrigin = true );
 
     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
     // used for many wxControls
 
     @interface wxNSButton : NSButton
@@ -313,6 +352,18 @@ protected :
 
     @end
 
 
     @end
 
+    @interface wxNSComboBox : NSComboBox
+    {
+        wxNSTextFieldEditor* fieldEditor;
+    }
+
+    - (wxNSTextFieldEditor*) fieldEditor;
+    - (void) setFieldEditor:(wxNSTextFieldEditor*) fieldEditor;
+
+    @end
+
+
+
     @interface wxNSMenu : NSMenu
     {
        wxMenuImpl* impl;
     @interface wxNSMenu : NSMenu
     {
        wxMenuImpl* impl;
@@ -417,6 +468,8 @@ const short kwxCursorLast = kwxCursorWatch;
 
 extern ClassicCursor gMacCursors[];
 
 
 extern ClassicCursor gMacCursors[];
 
+extern NSLayoutManager* gNSLayoutManager;
+
 #endif
 
 #endif
 #endif
 
 #endif