X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b9d29922de1ec34073c0093d75a9ec05ac117012..006b7af2b256afa8608630e796b6cf6a04b2bba5:/src/cocoa/stattext.mm?ds=sidebyside diff --git a/src/cocoa/stattext.mm b/src/cocoa/stattext.mm index d77446dcc2..4bba022c27 100644 --- a/src/cocoa/stattext.mm +++ b/src/cocoa/stattext.mm @@ -1,18 +1,20 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: cocoa/stattext.mm +// Name: src/cocoa/stattext.mm // Purpose: wxStaticText // Author: David Elliott // Modified by: // Created: 2003/02/15 -// RCS-ID: $Id: +// RCS-ID: $Id$ // Copyright: (c) 2003 David Elliott -// Licence: wxWidgets licence +// Licence: wxWidgets licence ///////////////////////////////////////////////////////////////////////////// #include "wx/wxprec.h" + +#include "wx/stattext.h" + #ifndef WX_PRECOMP #include "wx/app.h" - #include "wx/stattext.h" #include "wx/log.h" #endif //WX_PRECOMP @@ -71,15 +73,19 @@ void wxStaticText::SetLabel(const wxString& label) [GetNSTextField() setStringValue:wxNSStringWithWxString(label)]; NSRect oldFrameRect = [GetNSTextField() frame]; NSView *superview = [GetNSTextField() superview]; - wxLogTrace(wxTRACE_COCOA_Window_Size, "wxStaticText::SetLabel Old Position: (%d,%d)", GetPosition().x, GetPosition().y); + wxLogTrace(wxTRACE_COCOA_Window_Size, wxT("wxStaticText::SetLabel Old Position: (%d,%d)"), GetPosition().x, GetPosition().y); [GetNSTextField() sizeToFit]; NSRect newFrameRect = [GetNSTextField() frame]; + // Ensure new size is an integer so GetSize returns valid data + newFrameRect.size.height = ceil(newFrameRect.size.height); + newFrameRect.size.width = ceil(newFrameRect.size.width); if(![superview isFlipped]) { newFrameRect.origin.y = oldFrameRect.origin.y + oldFrameRect.size.height - newFrameRect.size.height; - [GetNSTextField() setFrame:newFrameRect]; } - wxLogTrace(wxTRACE_COCOA_Window_Size, "wxStaticText::SetLabel New Position: (%d,%d)", GetPosition().x, GetPosition().y); + [GetNSTextField() setFrame:newFrameRect]; + // New origin (wx coords) should always match old origin + wxLogTrace(wxTRACE_COCOA_Window_Size, wxT("wxStaticText::SetLabel New Position: (%d,%d)"), GetPosition().x, GetPosition().y); [[GetNSTextField() superview] setNeedsDisplayInRect:oldFrameRect]; [[GetNSTextField() superview] setNeedsDisplayInRect:newFrameRect]; @@ -88,4 +94,3 @@ void wxStaticText::SetLabel(const wxString& label) void wxStaticText::Cocoa_didChangeText(void) { } -