A bit of scrolling works under GTK 2.0
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -87,12 +87,9 @@
|
||||
#define NOTEBOOK_PANEL(nb) GTK_NOTEBOOK(nb)->panel
|
||||
#endif
|
||||
|
||||
// VZ: I _think_ that in GTK+ 2.0 the scroll type is passed to the
|
||||
// value_changed callback as a 2nd argument but I'm not at all sure about
|
||||
// it, if this is false all occurences of this macro must be changed!
|
||||
#ifdef __WXGTK20__
|
||||
#define SCROLLBAR_CBACK_ARG GtkScrollType scrollType,
|
||||
#define GET_SCROLL_TYPE(w) scrollType
|
||||
#define SCROLLBAR_CBACK_ARG
|
||||
#define GET_SCROLL_TYPE(w) GTK_SCROLL_JUMP
|
||||
#else
|
||||
#define SCROLLBAR_CBACK_ARG
|
||||
#define GET_SCROLL_TYPE(w) GTK_RANGE((w))->scroll_type
|
||||
|
@@ -87,12 +87,9 @@
|
||||
#define NOTEBOOK_PANEL(nb) GTK_NOTEBOOK(nb)->panel
|
||||
#endif
|
||||
|
||||
// VZ: I _think_ that in GTK+ 2.0 the scroll type is passed to the
|
||||
// value_changed callback as a 2nd argument but I'm not at all sure about
|
||||
// it, if this is false all occurences of this macro must be changed!
|
||||
#ifdef __WXGTK20__
|
||||
#define SCROLLBAR_CBACK_ARG GtkScrollType scrollType,
|
||||
#define GET_SCROLL_TYPE(w) scrollType
|
||||
#define SCROLLBAR_CBACK_ARG
|
||||
#define GET_SCROLL_TYPE(w) GTK_SCROLL_JUMP
|
||||
#else
|
||||
#define SCROLLBAR_CBACK_ARG
|
||||
#define GET_SCROLL_TYPE(w) GTK_RANGE((w))->scroll_type
|
||||
|
@@ -74,6 +74,8 @@ public:
|
||||
|
||||
void OnPaint( wxPaintEvent &event );
|
||||
void OnEraseBackground( wxEraseEvent &event );
|
||||
|
||||
wxBitmap m_bitmap;
|
||||
|
||||
private:
|
||||
DECLARE_EVENT_TABLE()
|
||||
@@ -174,6 +176,10 @@ MyCanvas::MyCanvas( MyFrame *parent )
|
||||
wxScrolledWindowStyle|wxNO_FULL_REPAINT_ON_RESIZE|wxSUNKEN_BORDER )
|
||||
{
|
||||
SetScrollbars( 10, 10, 40, 100, 0, 0 );
|
||||
|
||||
m_bitmap = wxBitmap( mondrian_xpm );
|
||||
|
||||
new wxStaticBitmap( this, -1, m_bitmap, wxPoint(80,20) );
|
||||
}
|
||||
|
||||
void MyCanvas::OnPaint( wxPaintEvent &event )
|
||||
@@ -181,6 +187,11 @@ void MyCanvas::OnPaint( wxPaintEvent &event )
|
||||
wxPaintDC dc(this);
|
||||
PrepareDC( dc );
|
||||
|
||||
dc.SetBrush( *wxBLACK_BRUSH );
|
||||
dc.DrawRectangle( 0,0,200,50 );
|
||||
|
||||
dc.DrawBitmap( m_bitmap, 10, 20, TRUE );
|
||||
|
||||
#if 0
|
||||
wxRegionIterator upd( GetUpdateRegion() );
|
||||
while (upd)
|
||||
|
@@ -1,13 +1,14 @@
|
||||
/* XPM */
|
||||
static char *mondrian_xpm[] = {
|
||||
/* columns rows colors chars-per-pixel */
|
||||
"32 32 6 1",
|
||||
"32 32 7 1",
|
||||
" c Black",
|
||||
". c Blue",
|
||||
"X c #00bf00",
|
||||
"o c Red",
|
||||
"O c Yellow",
|
||||
"+ c Gray100",
|
||||
"a c None",
|
||||
/* pixels */
|
||||
" ",
|
||||
" oooooo +++++++++++++++++++++++ ",
|
||||
@@ -20,13 +21,13 @@ static char *mondrian_xpm[] = {
|
||||
" ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ +aaaaaaaaaaaaaaaa+ .... ",
|
||||
" ++++++ +aaaaaaaaaaaaaaaa+ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ .... ",
|
||||
" ++++++ ++++++++++++++++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ +aaaaaaaaaaaaaaaa+ ",
|
||||
" ++++++ +aaaaaaaaaaaaaaaa+ ++++ ",
|
||||
" ++++++ +aaaaaaaaaaaaaaaa+ ++++ ",
|
||||
" ++++++ +aaaaaaaaaaaaaaaa+ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
" ++++++ ++++++++++++++++++ ++++ ",
|
||||
|
@@ -4092,10 +4092,10 @@ void wxWindowGTK::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
|
||||
m_clipPaintRegion = FALSE;
|
||||
#else
|
||||
|
||||
gdk_window_scroll( GTK_PIZZA(m_wxwindow)->bin_window, -dx, -dy );
|
||||
gdk_window_scroll( GTK_PIZZA(m_wxwindow)->bin_window, dx, dy );
|
||||
|
||||
GTK_PIZZA(m_wxwindow)->xoffset -= dx;
|
||||
GTK_PIZZA(m_wxwindow)->yoffset -= dy;
|
||||
GTK_PIZZA(m_wxwindow)->xoffset += dx;
|
||||
GTK_PIZZA(m_wxwindow)->yoffset += dy;
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -4092,10 +4092,10 @@ void wxWindowGTK::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
|
||||
m_clipPaintRegion = FALSE;
|
||||
#else
|
||||
|
||||
gdk_window_scroll( GTK_PIZZA(m_wxwindow)->bin_window, -dx, -dy );
|
||||
gdk_window_scroll( GTK_PIZZA(m_wxwindow)->bin_window, dx, dy );
|
||||
|
||||
GTK_PIZZA(m_wxwindow)->xoffset -= dx;
|
||||
GTK_PIZZA(m_wxwindow)->yoffset -= dy;
|
||||
GTK_PIZZA(m_wxwindow)->xoffset += dx;
|
||||
GTK_PIZZA(m_wxwindow)->yoffset += dy;
|
||||
|
||||
#endif
|
||||
|
||||
|
Reference in New Issue
Block a user