]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/private.h
stdpaths.h needs filefn.h
[wxWidgets.git] / include / wx / mac / carbon / private.h
index 5a0c8ac8b040c2e5c75193831f68ec62288ccf05..3f20c400762e7ee58f614477c1f9c57c5612e85a 100644 (file)
@@ -97,15 +97,8 @@ class WXDLLEXPORT wxMacPortSaver
     DECLARE_NO_COPY_CLASS(wxMacPortSaver)
 
 public:
-    wxMacPortSaver( GrafPtr port )
-    {
-        ::GetPort( &m_port ) ;
-        ::SetPort( port ) ;
-    }
-    ~wxMacPortSaver()
-    {
-        ::SetPort( m_port ) ;
-    }
+    wxMacPortSaver( GrafPtr port );
+    ~wxMacPortSaver();
 private :
     GrafPtr m_port ;
 } ;
@@ -216,6 +209,10 @@ template<> inline EventParamType wxMacGetEventParamType<EventRef>() { return typ
 template<> inline EventParamType wxMacGetEventParamType<Point>() { return typeQDPoint ; }
 template<> inline EventParamType wxMacGetEventParamType<Rect>() { return typeQDRectangle ; }
 template<> inline EventParamType wxMacGetEventParamType<Boolean>() { return typeBoolean ; }
+template<> inline EventParamType wxMacGetEventParamType<SInt16>() { return typeSInt16 ; }
+template<> inline EventParamType wxMacGetEventParamType<SInt32>() { return typeSInt32 ; }
+template<> inline EventParamType wxMacGetEventParamType<UInt32>() { return typeUInt32 ; }
+template<> inline EventParamType wxMacGetEventParamType<RGBColor>() { return typeRGBColor ; }
 #if TARGET_API_MAC_OSX
 template<> inline EventParamType wxMacGetEventParamType<HICommand>() { return typeHICommand ; }
 template<> inline EventParamType wxMacGetEventParamType<HIPoint>() { return typeHIPoint ; }
@@ -223,6 +220,7 @@ template<> inline EventParamType wxMacGetEventParamType<HISize>() { return typeH
 template<> inline EventParamType wxMacGetEventParamType<HIRect>() { return typeHIRect ; }
 template<> inline EventParamType wxMacGetEventParamType<void*>() { return typeVoidPtr ; }
 #endif
+template<> inline EventParamType wxMacGetEventParamType<CFDictionaryRef>() { return typeCFDictionaryRef ; }
 template<> inline EventParamType wxMacGetEventParamType<Collection>() { return typeCollection ; }
 template<> inline EventParamType wxMacGetEventParamType<CGContextRef>() { return typeCGContextRef ; }
 /*
@@ -538,6 +536,14 @@ public :
     {
         return SetData( inPartCode , inTag , sizeof( T ) , &data ) ;
     }
+    template <typename T> OSStatus SetData( ResType inTag , const T *data )
+    {
+        return SetData( kControlEntireControl , inTag , sizeof( T ) , data ) ;
+    }
+    template <typename T> OSStatus SetData( ResType inTag , const T& data )
+    {
+        return SetData( kControlEntireControl , inTag , sizeof( T ) , &data ) ;
+    }
     template <typename T> OSStatus GetData( ControlPartCode inPartCode , ResType inTag , T *data ) const
     {
         Size dummy ;
@@ -549,7 +555,18 @@ public :
         verify_noerr( GetData<T>( inPartCode , inTag , &value ) ) ;
         return value ;
     }
-
+    template <typename T> OSStatus GetData( ResType inTag , T *data ) const
+    {
+        Size dummy ;
+        return GetData( kControlEntireControl , inTag , sizeof( T ) , data , &dummy ) ;
+    }
+    template <typename T> T GetData( ResType inTag ) const
+    {
+        T value ;
+        verify_noerr( GetData<T>( kControlEntireControl , inTag , &value ) ) ;
+        return value ;
+    }
+    
     // Flash the control for the specified amount of time
     virtual void Flash( ControlPartCode part , UInt32 ticks = 8 ) ;
 
@@ -811,6 +828,19 @@ private :
 
 ControlRef wxMacFindControlUnderMouse( wxTopLevelWindowMac* toplevelWindow, const Point& location , WindowRef window , ControlPartCode *outPart ) ;
 
+#if WORDS_BIGENDIAN
+    inline Rect* wxMacGetPictureBounds( PicHandle pict , Rect* rect ) 
+    { 
+       *rect = (**pict).picFrame ; 
+        return rect ;
+    }
+#else
+    inline Rect* wxMacGetPictureBounds( PicHandle pict , Rect* rect ) 
+    {   
+        return QDGetPictureBounds( pict , rect ) ;
+    }
+#endif
+
 #endif // wxUSE_GUI
 
 #define wxMAC_DEFINE_PROC_GETTER( UPP , x ) \