#pragma interface "textctrl.h"
#endif
+#if wxUSE_SYSTEM_OPTIONS
+ // set this to true if you want to use the 'classic' mlte based implementation
+ // instead of the HIView based implementation in 10.3 and upwards, the former
+ // has more features (backgrounds etc.) but may show redraw artefacts and other
+ // problems depending on your usage, default is 'false'
+ #define wxMAC_TEXTCONTROL_USE_MLTE _T("mac.textcontrol-use-mlte")
+#endif
+
#include "wx/control.h"
WXDLLEXPORT_DATA(extern const wxChar*) wxTextCtrlNameStr;
#include "wx/settings.h"
#include "wx/filefn.h"
#include "wx/utils.h"
+#include "wx/sysopt.h"
#if defined(__BORLANDC__) && !defined(__WIN32__)
#include <alloc.h>
#ifdef __WXMAC_OSX__
#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_2
- if ( UMAGetSystemVersion() >= 0x1050 )
+
+ bool tryHIView = UMAGetSystemVersion() >= 0x1030 ;
+#if wxUSE_SYSTEM_OPTIONS
+ if ( (wxSystemOptions::HasOption(wxMAC_TEXTCONTROL_USE_MLTE) ) && ( wxSystemOptions::GetOptionInt( wxMAC_TEXTCONTROL_USE_MLTE ) == 1) )
+ {
+ tryHIView = false ;
+ }
+#endif
+ if ( tryHIView )
{
m_peer = new wxMacMLTEHIViewControl( this , str , pos , size , style ) ;
}
destRect.bottom = destRect.top + 0x40000000 ;
SectRect( &viewRect , &visBounds , &viewRect ) ;
- TXNSetRectBounds( m_txn , &viewRect , &destRect , false ) ;
+ TXNSetRectBounds( m_txn , &viewRect , &destRect , true ) ;
/*
TXNSetFrameBounds( m_txn, m_txnControlBounds.top, m_txnControlBounds.left,
m_txnControlBounds.bottom - ( m_sbHorizontal ? 14 : 0 ) , m_txnControlBounds.right - ( m_sbVertical ? 14 : 0 ), m_txnFrameID);