#define wxOSX_10_6_AND_LATER(x)
#endif
+// platform specific Clang analyzer support
+#ifndef NS_RETURNS_RETAINED
+# if WX_HAS_CLANG_FEATURE(attribute_ns_returns_retained)
+# define NS_RETURNS_RETAINED __attribute__((ns_returns_retained))
+# else
+# define NS_RETURNS_RETAINED
+# endif
+#endif
+
+#ifndef CF_RETURNS_RETAINED
+# if WX_HAS_CLANG_FEATURE(attribute_cf_returns_retained)
+# define CF_RETURNS_RETAINED __attribute__((cf_returns_retained))
+# else
+# define CF_RETURNS_RETAINED
+# endif
+#endif
+
#if ( !wxUSE_GUI && !wxOSX_USE_IPHONE ) || wxOSX_USE_COCOA_OR_CARBON
// Carbon functions are currently still used in wxOSX/Cocoa too (including
WXDLLIMPEXP_CORE CGDataConsumerRef wxMacCGDataConsumerCreateWithCFData( CFMutableDataRef data );
WXDLLIMPEXP_CORE CGDataProviderRef wxMacCGDataProviderCreateWithMemoryBuffer( const wxMemoryBuffer& buf );
-CGColorSpaceRef WXDLLIMPEXP_CORE wxMacGetGenericRGBColorSpace(void);
+WXDLLIMPEXP_CORE CGColorSpaceRef wxMacGetGenericRGBColorSpace(void);
+
+WXDLLIMPEXP_CORE double wxOSXGetMainScreenContentScaleFactor();
class wxWindowMac;
// to
virtual void GetPosition( int &x, int &y ) const = 0;
virtual void GetSize( int &width, int &height ) const = 0;
virtual void SetControlSize( wxWindowVariant variant ) = 0;
- virtual float GetContentScaleFactor() const
+ virtual double GetContentScaleFactor() const
{
return 1.0;
}
virtual bool NeedsFrame() const;
virtual void SetNeedsFrame( bool needs );
+
+ virtual void SetDrawingEnabled(bool enabled);
virtual bool CanFocus() const = 0;
// return true if successful
virtual void SetCursor( const wxCursor & cursor ) = 0;
virtual void CaptureMouse() = 0;
virtual void ReleaseMouse() = 0;
+
+ virtual void SetDropTarget( wxDropTarget * WXUNUSED(dropTarget) ) {}
virtual wxInt32 GetValue() const = 0;
virtual void SetValue( wxInt32 v ) = 0;
virtual wxBitmap GetBitmap() const = 0;
virtual void SetBitmap( const wxBitmap& bitmap ) = 0;
virtual void SetBitmapPosition( wxDirection dir ) = 0;
- virtual void SetupTabs( const wxNotebook ¬ebook ) =0;
+ virtual void SetupTabs( const wxNotebook& WXUNUSED(notebook) ) {}
+ virtual int TabHitTest( const wxPoint & WXUNUSED(pt), long *flags ) {*flags=1; return -1;};
virtual void GetBestRect( wxRect *r ) const = 0;
virtual bool IsEnabled() const = 0;
virtual void Enable( bool enable ) = 0;
// static methods for associating native controls and their implementations
+ // finds the impl associated with this native control
static wxWidgetImpl*
FindFromWXWidget(WXWidget control);
+ // finds the impl associated with this native control, if the native control itself is not known
+ // also checks whether its parent is eg a registered scrollview, ie whether the control is a native subpart
+ // of a known control
+ static wxWidgetImpl*
+ FindBestFromWXWidget(WXWidget control);
+
static void RemoveAssociations( wxWidgetImpl* impl);
static void Associate( WXWidget control, wxWidgetImpl *impl );
virtual void GetSelection( long* from, long* to ) const = 0 ;
virtual void WriteText( const wxString& str ) = 0 ;
+ virtual bool CanClipMaxLength() const { return false; }
+ virtual void SetMaxLength(unsigned long WXUNUSED(len)) {}
+
virtual bool GetStyle( long position, wxTextAttr& style);
virtual void SetStyle( long start, long end, const wxTextAttr& style ) ;
virtual void Copy() ;
virtual ~wxComboWidgetImpl() {}
- virtual int GetSelectedItem() const { return -1; };
- virtual void SetSelectedItem(int WXUNUSED(item)) {};
+ virtual int GetSelectedItem() const { return -1; }
+ virtual void SetSelectedItem(int WXUNUSED(item)) {}
- virtual int GetNumberOfItems() const { return -1; };
+ virtual int GetNumberOfItems() const { return -1; }
virtual void InsertItem(int WXUNUSED(pos), const wxString& WXUNUSED(item)) {}
virtual void ScreenToWindow( int *x, int *y ) = 0;
virtual void WindowToScreen( int *x, int *y ) = 0;
-
+
virtual bool IsActive() = 0;
wxNonOwnedWindow* GetWXPeer() { return m_wxPeer; }
virtual void SetModified(bool WXUNUSED(modified)) { }
virtual bool IsModified() const { return false; }
+ virtual void SetRepresentedFilename(const wxString& WXUNUSED(filename)) { }
+
#if wxOSX_USE_IPHONE
virtual CGFloat GetWindowLevel() const { return 0.0; }
#else