#include "wx/settings.h"
#endif
+#include "wx/math.h"
#include "wx/osx/private.h"
@interface wxNSScroller : NSScroller
virtual wxInt32 GetValue() const
{
- return [(wxNSScroller*) m_osxView floatValue] * m_maximum;
+ return wxRound([(wxNSScroller*) m_osxView floatValue] * m_maximum);
}
virtual wxInt32 GetMaximum() const
return m_maximum;
}
- virtual void clickedAction(WXWidget slf, void* _cmd, void *sender);
+ virtual void controlAction(WXWidget slf, void* _cmd, void *sender);
virtual void mouseEvent(WX_NSEvent event, WXWidget slf, void* _cmd);
protected:
wxInt32 m_maximum;
// to thumbtrack and only after super mouseDown
// returns we will call the thumbrelease
-void wxOSXScrollBarCocoaImpl::clickedAction( WXWidget slf, void *_cmd, void *sender)
+void wxOSXScrollBarCocoaImpl::controlAction( WXWidget WXUNUSED(slf), void *WXUNUSED(_cmd), void *WXUNUSED(sender))
{
wxEventType scrollEvent = wxEVT_NULL;
switch ([(NSScroller*)m_osxView hitPart])
}
wxWidgetImplType* wxWidgetImpl::CreateScrollBar( wxWindowMac* wxpeer,
- wxWindowMac* parent,
- wxWindowID id,
+ wxWindowMac* WXUNUSED(parent),
+ wxWindowID WXUNUSED(id),
const wxPoint& pos,
const wxSize& size,
long style,
- long extraStyle)
+ long WXUNUSED(extraStyle))
{
NSRect r = wxOSXGetFrameForControl( wxpeer, pos , size ) ;
- wxNSScroller* v = [[wxNSScroller alloc] initWithFrame:r];
+ // the creation rect defines the orientation
+ NSRect createRect = ( style & wxSB_HORIZONTAL ) ? NSMakeRect(r.origin.x, r.origin.y , 17, 16) :
+ NSMakeRect(r.origin.x, r.origin.y , 16, 17);
+ wxNSScroller* v = [[wxNSScroller alloc] initWithFrame:createRect];
+ [v setFrame:r];
wxWidgetCocoaImpl* c = new wxOSXScrollBarCocoaImpl( wxpeer, v );
[v setEnabled:YES];