]> git.saurik.com Git - wxWidgets.git/commitdiff
cleanup for 10.5
authorStefan Csomor <csomor@advancedconcepts.ch>
Sat, 14 Oct 2006 16:18:09 +0000 (16:18 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sat, 14 Oct 2006 16:18:09 +0000 (16:18 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/carbon/choice.cpp
src/mac/carbon/dataobj.cpp
src/mac/carbon/listbox.cpp
src/mac/carbon/stattext.cpp
src/mac/carbon/toplevel.cpp

index f2173eb03ce648f273d0f1b15a4fab6d8b584a0e..8898554b2075eaeecaa8204b7430897adfa23371 100644 (file)
@@ -300,13 +300,16 @@ wxSize wxChoice::DoGetBestSize() const
     int wLine;
 
 #if TARGET_CARBON
-    long metric ;
+    SInt32 metric ;
 
     GetThemeMetric( kThemeMetricPopupButtonHeight , &metric );
     lbHeight = metric ;
 #endif
 
     {
+#if wxMAC_USE_CORE_GRAPHICS
+        wxClientDC dc(const_cast<wxChoice*>(this));
+#else
         wxMacPortStateHelper st( UMAGetWindowPort( (WindowRef) MacGetTopLevelWindowRef() ) ) ;
         if ( m_font.Ok() )
         {
@@ -320,12 +323,16 @@ wxSize wxChoice::DoGetBestSize() const
             ::TextSize( 9 ) ;
             ::TextFace( 0 ) ;
         }
-
+#endif
         // Find the widest line
         for(unsigned int i = 0; i < GetCount(); i++)
         {
             wxString str(GetString(i));
-
+#if wxMAC_USE_CORE_GRAPHICS
+            wxCoord width, height ;
+            dc.GetTextExtent( str , &width, &height);
+            wLine = width ;
+#else
 #if wxUSE_UNICODE
             Point bounds = { 0, 0 } ;
             SInt16 baseline ;
@@ -341,15 +348,20 @@ wxSize wxChoice::DoGetBestSize() const
 #else
             wLine = ::TextWidth( str.c_str() , 0 , str.length() ) ;
 #endif
-
+#endif
             lbWidth = wxMax( lbWidth, wLine ) ;
         }
 
         // Add room for the popup arrow
         lbWidth += 2 * lbHeight ;
-
+#if wxMAC_USE_CORE_GRAPHICS
+        wxCoord width, height ;
+        dc.GetTextExtent( wxT("X"), &width, &height);
+        int cx = width ;
+#else
         // And just a bit more
         int cx = ::TextWidth( "X" , 0 , 1 ) ;
+#endif
         lbWidth += cx ;
     }
 
index cc1c3522069fe596eefa075a3d2b2ca260678705..07a1e39a98d4c2141163a43683e6f35dd19904d2 100644 (file)
@@ -311,8 +311,10 @@ void wxBitmapDataObject::Clear()
 {
     if (m_pictHandle != NULL)
     {
+#ifndef __LP64__
         if (m_pictCreated)
             KillPicture( (PicHandle)m_pictHandle );
+#endif
         m_pictHandle = NULL;
     }
 
@@ -356,6 +358,7 @@ bool wxBitmapDataObject::SetData( size_t nSize, const void *pBuf )
 
     // ownership is transferred to the bitmap
     m_pictCreated = false;
+#ifndef __LP64__
     Rect frame;
     wxMacGetPictureBounds( picHandle, &frame );
 
@@ -366,6 +369,7 @@ bool wxBitmapDataObject::SetData( size_t nSize, const void *pBuf )
     mdc.SelectObject( m_bitmap );
     mf.Play( &mdc );
     mdc.SelectObject( wxNullBitmap );
+#endif
 
     return m_bitmap.Ok();
 }
index 35de39915c5470ee259b9accd6abe9bde51b2d3b..faf519d08a6de13ebde56cabe5e8f27fbc352bf3 100644 (file)
@@ -247,6 +247,9 @@ wxSize wxListBox::DoGetBestSize() const
     int wLine;
 
     {
+#if wxMAC_USE_CORE_GRAPHICS
+        wxClientDC dc(const_cast<wxListBox*>(this));
+#else
         wxMacPortStateHelper st( UMAGetWindowPort( (WindowRef)MacGetTopLevelWindowRef() ) );
 
         // TODO: clean this up
@@ -262,12 +265,16 @@ wxSize wxListBox::DoGetBestSize() const
             ::TextSize( 9 );
             ::TextFace( 0 );
         }
-
+#endif
         // Find the widest line
         for (unsigned int i = 0; i < GetCount(); i++)
         {
             wxString str( GetString( i ) );
-
+#if wxMAC_USE_CORE_GRAPHICS
+            wxCoord width, height ;
+            dc.GetTextExtent( str , &width, &height);
+            wLine = width ;
+#else
 #if wxUSE_UNICODE
             Point bounds = {0, 0};
             SInt16 baseline;
@@ -286,6 +293,7 @@ wxSize wxListBox::DoGetBestSize() const
 #endif
 
             lbWidth = wxMax( lbWidth, wLine );
+#endif
         }
 
         // Add room for the scrollbar
@@ -293,7 +301,13 @@ wxSize wxListBox::DoGetBestSize() const
 
         // And just a bit more
         int cy = 12;
+#if wxMAC_USE_CORE_GRAPHICS
+        wxCoord width, height ;
+        dc.GetTextExtent( wxT("X") , &width, &height);
+        int cx = width ;
+#else
         int cx = ::TextWidth( "X", 0, 1 );
+#endif
         lbWidth += cx;
 
         // don't make the listbox too tall (limit height to around 10 items)
index 0898022392ba27b2f0a050d48d7d625806d71e13..21ed1ed7717a393933d8caddd14f08647107f951 100644 (file)
@@ -91,6 +91,13 @@ wxSize wxStaticText::DoGetBestSize() const
     }
     else
     {
+#if wxMAC_USE_CORE_GRAPHICS
+        wxClientDC dc(const_cast<wxStaticText*>(this));
+        wxCoord width, height ;
+        dc.GetTextExtent( m_label , &width, &height);
+        bounds.h = width;
+        bounds.v = height;
+#else
         wxMacWindowStateSaver sv( this );
         ::TextFont( m_font.MacGetFontNum() );
         ::TextSize( (short)(m_font.MacGetFontSize()) );
@@ -100,6 +107,7 @@ wxSize wxStaticText::DoGetBestSize() const
             (!m_label.empty() ? (CFStringRef)str : CFSTR(" ")),
             kThemeCurrentPortFont, kThemeStateActive, false, &bounds, &baseline );
         verify_noerr( err );
+#endif
     }
 
     if ( m_label.empty() )
index 6a5284d6da69e2e28d53503c61f203f8bf2da855..e18ed8044b403600d0cb9953722ff67d9d19ac53 100644 (file)
@@ -130,7 +130,7 @@ static pascal OSStatus KeyboardEventHandler( EventHandlerCallRef handler , Event
     UInt32 when = EventTimeToTicks( GetEventTime( event ) ) ;
 
 #if wxUSE_UNICODE
-    UInt32 dataSize = 0 ;
+    ByteCount dataSize = 0 ;
     if ( GetEventParameter( event, kEventParamKeyUnicodes, typeUnicodeText, NULL, 0 , &dataSize, NULL ) == noErr )
     {
         UniChar buf[2] ;
@@ -359,7 +359,7 @@ static void SetupMouseEvent( wxMouseEvent &wxevent , wxMacCarbonEvent &cEvent )
             wxevent.SetEventType( wxEVT_MOUSEWHEEL ) ;
 
             // EventMouseWheelAxis axis = cEvent.GetParameter<EventMouseWheelAxis>(kEventParamMouseWheelAxis, typeMouseWheelAxis) ;
-            SInt32 delta = cEvent.GetParameter<SInt32>(kEventParamMouseWheelDelta, typeLongInteger) ;
+            SInt32 delta = cEvent.GetParameter<SInt32>(kEventParamMouseWheelDelta, typeSInt32) ;
 
             wxevent.m_wheelRotation = delta;
             wxevent.m_wheelDelta = 1;
@@ -467,7 +467,7 @@ pascal OSStatus wxMacTopLevelMouseEventHandler( EventHandlerCallRef handler , Ev
 
     if ( window )
     {
-        QDGlobalToLocalPoint( UMAGetWindowPort(window ) ,  &windowMouseLocation ) ;
+        wxMacGlobalToLocal( window,  &windowMouseLocation ) ;
 
         if ( wxApp::s_captureWindow
 #if !NEW_CAPTURE_HANDLING
@@ -980,10 +980,18 @@ void wxTopLevelWindowMac::Maximize(bool maximize)
     Point idealSize = { 0 , 0 } ;
     if ( maximize )
     {
+#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5
+        HIRect bounds ;
+        HIWindowGetAvailablePositioningBounds(kCGNullDirectDisplay,kHICoordSpace72DPIGlobal,
+            &bounds);
+        idealSize.h = bounds.size.width;
+        idealSize.v = bounds.size.height;
+#else
         Rect rect ;
         GetAvailableWindowPositioningBounds(GetMainDevice(),&rect) ;
         idealSize.h = rect.right - rect.left ;
         idealSize.v = rect.bottom - rect.top ;
+#endif
     }
     ZoomWindowIdeal( (WindowRef)m_macWindow , maximize ? inZoomOut : inZoomIn , &idealSize ) ;
 }
@@ -1157,8 +1165,12 @@ void  wxTopLevelWindowMac::MacCreateRealWindow(
     {
         WindowDefSpec customWindowDefSpec;
         customWindowDefSpec.defType = kWindowDefProcPtr;
-        customWindowDefSpec.u.defProc = NewWindowDefUPP(wxShapedMacWindowDef);
-
+        customWindowDefSpec.u.defProc = 
+#ifdef __LP64__
+            (WindowDefUPP) wxShapedMacWindowDef;
+#else
+            NewWindowDefUPP(wxShapedMacWindowDef);
+#endif
         err = ::CreateCustomWindow( &customWindowDefSpec, wclass,
                               attr, &theBoundsRect,
                               (WindowRef*) &m_macWindow);
@@ -1604,7 +1616,7 @@ bool wxTopLevelWindowMac::SetShape(const wxRegion& region)
         DisposeRgn(oldRgn);
 
     // Save the region so we can use it later
-    SetWRefCon((WindowRef)MacGetWindowRef(), (SInt32)shapeRegion);
+    SetWRefCon((WindowRef)MacGetWindowRef(), (URefCon)shapeRegion);
 
     // inform the window manager that the window has changed shape
     ReshapeCustomWindow((WindowRef)MacGetWindowRef());
@@ -1620,13 +1632,12 @@ bool wxTopLevelWindowMac::SetShape(const wxRegion& region)
 static void wxShapedMacWindowGetPos(WindowRef window, Rect* inRect)
 {
     GetWindowPortBounds(window, inRect);
-    Point pt = { inRect->left, inRect->top };
-
-    QDLocalToGlobalPoint( GetWindowPort(window), &pt ) ;
+    Point pt = { inRect->top ,inRect->left };
+    wxMacLocalToGlobal( window, &pt ) ;
+    inRect->bottom += pt.v - inRect->top;
+    inRect->right += pt.h - inRect->left;
     inRect->top = pt.v;
     inRect->left = pt.h;
-    inRect->bottom += pt.v;
-    inRect->right += pt.h;
 }
 
 static SInt32 wxShapedMacWindowGetFeatures(WindowRef window, SInt32 param)