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:
Robert Roebling
2002-03-29 18:01:50 +00:00
parent af1d24da23
commit b5a49d4c52
6 changed files with 29 additions and 23 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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)

View File

@@ -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+ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",
" ++++++ ++++++++++++++++++ ++++ ",

View File

@@ -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

View File

@@ -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