]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/carbon/private.h
added orient parameter to wxMDIParentFrame::Tile()
[wxWidgets.git] / include / wx / mac / carbon / private.h
index 9c6d741e0d939189f12e6af2920335be24aa9869..61860b319a58548709ac6eeef9d374fc91f8f754 100644 (file)
@@ -47,9 +47,6 @@
 #include "wx/mac/corefoundation/cfstring.h"
 #endif
 
-//forward declarations
-class wxTopLevelWindowMac;
-
 #ifndef FixedToInt
 // as macro in FixMath.h for 10.3
 inline Fixed    IntToFixed( int inInt )
@@ -67,6 +64,7 @@ inline int    FixedToInt( Fixed inFixed )
 
 #include "wx/dc.h"
 #include "wx/window.h"
+#include "wx/toplevel.h"
 
 class wxMacPortStateHelper 
 {
@@ -403,6 +401,11 @@ private :
     WindowRef m_data ;
 } ;
 
+void wxMacRectToNative( const wxRect *wx , Rect *n ) ;
+void wxMacNativeToRect( const Rect *n , wxRect* wx ) ;
+void wxMacPointToNative( const wxPoint* wx , Point *n ) ;
+void wxMacNativeToPoint( const Point *n , wxPoint* wx ) ;
+
 wxWindow *              wxFindControlFromMacControl(ControlRef inControl ) ;
 wxTopLevelWindowMac*    wxFindWinFromMacWindow( WindowRef inWindow ) ;
 wxMenu*                 wxFindMenuFromMacMenu(MenuRef inMenuRef) ;
@@ -411,10 +414,12 @@ extern wxWindow* g_MacLastWindow ;
 pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , EventRef event , void *data ) ;
 Rect wxMacGetBoundsForControl( wxWindow* window , const wxPoint& pos , const wxSize &size , bool adjustForOrigin = true ) ;
 
+ControlActionUPP GetwxMacLiveScrollbarActionProc() ;
+
 class wxMacControl
 {
 public :
-    wxMacControl( wxWindow* peer) ;    
+    wxMacControl( wxWindow* peer , bool isRootControl = false ) ;    
     wxMacControl( wxWindow* peer , ControlRef control ) ;
     wxMacControl( wxWindow* peer , WXWidget control ) ;
     virtual ~wxMacControl() ;
@@ -513,12 +518,20 @@ public :
     virtual void SetDrawingEnabled( bool enable ) ;
 #ifdef __WXMAC_OSX__
     virtual bool GetNeedsDisplay() const ;
-    virtual void SetNeedsDisplay( bool needsDisplay , RgnHandle where = NULL ) ;
 #endif
+    // where is in native window relative coordinates
+    virtual void SetNeedsDisplay( RgnHandle where ) ;
+    // where is in native window relative coordinates
+    virtual void SetNeedsDisplay( Rect* where = NULL ) ;
+
     virtual void ScrollRect( const wxRect &rect , int dx , int dy ) ;
 
+    // in native parent window relative coordinates
     virtual void GetRect( Rect *r ) ;
+
+    // in native parent window relative coordinates
     virtual void SetRect( Rect *r ) ;
+
     virtual void GetRectInWindowCoords( Rect *r ) ;
     virtual void GetBestRect( Rect *r ) ;
     virtual void SetTitle( const wxString &title ) ;
@@ -561,6 +574,7 @@ public :
     
     virtual OSStatus SetTabEnabled( SInt16 tabNo , bool enable ) ;
     bool    IsCompositing() { return m_isCompositing ; }
+    bool    IsRootControl() { return m_isRootControl ; }
 protected :
     ControlRef  m_controlRef ;
     wxFont      m_font ;
@@ -568,6 +582,7 @@ protected :
     wxWindow*   m_peer ;
     bool        m_needsFocusRect ;
     bool        m_isCompositing ;
+    bool        m_isRootControl ;
 } ;
 
 #if wxMAC_USE_CORE_GRAPHICS
@@ -622,10 +637,14 @@ private:
     wxBrush m_brush ;
 } ;
 
+#endif // wxMAC_USE_CORE_GRAPHICS
+
+#ifdef __WXMAC_OSX__
+
 CGColorSpaceRef wxMacGetGenericRGBColorSpace(void) ;
 void wxMacMemoryBufferReleaseProc(void *info, const void *data, size_t size) ;
 
-#endif // wxMAC_USE_CORE_GRAPHICS
+#endif
 
 class WXDLLEXPORT wxBitmapRefData: public wxGDIRefData
 {
@@ -663,7 +682,7 @@ public:
 #endif // wxUSE_PALETTE
     
     wxMask *      m_bitmapMask; // Optional mask
-#if wxMAC_USE_CORE_GRAPHICS
+#ifdef __WXMAC_OSX__
     CGImageRef    CGImageCreate() const ;
 #endif
      
@@ -695,7 +714,7 @@ private :
     wxMemoryBuffer m_memBuf ;
     int           m_rawAccessCount ;
     bool          m_ok;
-#if wxMAC_USE_CORE_GRAPHICS
+#ifdef __WXMAC_OSX__
     mutable CGImageRef    m_cgImageRef ;
 #endif
     IconRef       m_iconRef ;
@@ -729,8 +748,21 @@ private :
     int m_height ;
 };
 
+// toplevel.cpp
+
+ControlRef wxMacFindControlUnderMouse( wxTopLevelWindowMac* toplevelWindow, Point location , WindowRef window , ControlPartCode *outPart ) ;
+
 #endif // wxUSE_GUI
 
+#define wxMAC_DEFINE_PROC_GETTER( UPP , x ) \
+UPP Get##x()                                \
+{                                           \
+    static UPP sHandler = NULL;             \
+    if ( sHandler == NULL )                 \
+        sHandler = New##UPP( x );           \
+    return sHandler;                        \
+}
+
 //---------------------------------------------------------------------------
 // wxMac string conversions
 //---------------------------------------------------------------------------
@@ -741,10 +773,6 @@ void wxMacCleanupConverters() ;
 void wxMacStringToPascal( const wxString&from , StringPtr to ) ;
 wxString wxMacMakeStringFromPascal( ConstStringPtr from ) ;
 
-// toplevel.cpp
-
-ControlRef wxMacFindControlUnderMouse( wxTopLevelWindowMac* toplevelWindow, Point location , WindowRef window , ControlPartCode *outPart ) ;
-
 // filefn.cpp
 
 wxString wxMacFSRefToPath( const FSRef *fsRef , CFStringRef additionalPathComponent = NULL ) ;