]>
git.saurik.com Git - wxWidgets.git/blob - src/mac/statbrma.cpp
1 ///////////////////////////////////////////////////////////////////////////////
3 // Purpose: native implementation of wxStatusBar (optional)
8 // Copyright: (c) 1998 AUTHOR
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
13 #pragma implementation "statusbr.h"
16 // ----------------------------------------------------------------------------
18 // ----------------------------------------------------------------------------
20 #include "wx/statusbr.h"
22 #include "wx/dcclient.h"
24 #if !USE_SHARED_LIBRARY
25 IMPLEMENT_DYNAMIC_CLASS(wxStatusBarMac
, wxStatusBarGeneric
);
27 BEGIN_EVENT_TABLE(wxStatusBarMac
, wxStatusBarGeneric
)
28 EVT_PAINT(wxStatusBarMac::OnPaint
)
30 #endif //USE_SHARED_LIBRARY
33 // ============================================================================
35 // ============================================================================
37 // ----------------------------------------------------------------------------
38 // wxStatusBarMac class
39 // ----------------------------------------------------------------------------
41 wxStatusBarMac::wxStatusBarMac()
46 wxStatusBarMac::~wxStatusBarMac()
50 bool wxStatusBarMac::Create(wxWindow
*parent
, wxWindowID id
,
54 return wxStatusBarGeneric::Create( parent
, id
, style
, name
) ;
57 void wxStatusBarMac::DrawFieldText(wxDC
& dc
, int i
)
62 GetFieldRect(i
, rect
);
64 wxString
text(GetStatusText(i
));
68 dc
.GetTextExtent(text
, &x
, &y
);
70 int xpos
= rect
.x
+ leftMargin
+ 1 ;
73 dc
.SetClippingRegion(rect
.x
, 0, rect
.width
, m_height
);
75 dc
.DrawText(text
, xpos
, ypos
);
77 dc
.DestroyClippingRegion();
80 void wxStatusBarMac::DrawField(wxDC
& dc
, int i
)
85 void wxStatusBarMac::OnPaint(wxPaintEvent
& WXUNUSED(event
) )
88 wxPen
black( wxBLACK
, 1 , wxSOLID
) ;
89 wxPen
white( wxWHITE
, 1 , wxSOLID
) ;
100 if ( GetFont().Ok() )
101 dc
.SetFont(GetFont());
102 dc
.SetBackgroundMode(wxTRANSPARENT
);
104 for ( i
= 0; i
< m_nFields
; i
++ )
108 dc
.SetFont(wxNullFont
);