]> git.saurik.com Git - wxWidgets.git/commitdiff
A bit of scrolling works under GTK 2.0
authorRobert Roebling <robert@roebling.de>
Fri, 29 Mar 2002 18:01:50 +0000 (18:01 +0000)
committerRobert Roebling <robert@roebling.de>
Fri, 29 Mar 2002 18:01:50 +0000 (18:01 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk/private.h
include/wx/gtk1/private.h
samples/erase/erase.cpp
samples/erase/mondrian.xpm
src/gtk/window.cpp
src/gtk1/window.cpp

index aa0dd2841e8a1d66666dcefc1b98d2be08831dd8..93ea5878c49002ea1c05cacc3686f35b1342a30c 100644 (file)
     #define NOTEBOOK_PANEL(nb)  GTK_NOTEBOOK(nb)->panel
 #endif
 
     #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__
 #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
 #else
     #define SCROLLBAR_CBACK_ARG
     #define GET_SCROLL_TYPE(w)   GTK_RANGE((w))->scroll_type
index aa0dd2841e8a1d66666dcefc1b98d2be08831dd8..93ea5878c49002ea1c05cacc3686f35b1342a30c 100644 (file)
     #define NOTEBOOK_PANEL(nb)  GTK_NOTEBOOK(nb)->panel
 #endif
 
     #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__
 #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
 #else
     #define SCROLLBAR_CBACK_ARG
     #define GET_SCROLL_TYPE(w)   GTK_RANGE((w))->scroll_type
index 9f159bbebcd3e0cc558fd27caad150e51b12be31..d9f5cfc0415be27d41c45c88e4208fb824683e32 100644 (file)
@@ -74,6 +74,8 @@ public:
     
     void OnPaint( wxPaintEvent &event );
     void OnEraseBackground( wxEraseEvent &event );
     
     void OnPaint( wxPaintEvent &event );
     void OnEraseBackground( wxEraseEvent &event );
+    
+    wxBitmap    m_bitmap;
 
 private:
     DECLARE_EVENT_TABLE()
 
 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 );
                     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 )
 }
 
 void MyCanvas::OnPaint( wxPaintEvent &event )
@@ -181,6 +187,11 @@ void MyCanvas::OnPaint( wxPaintEvent &event )
     wxPaintDC dc(this);
     PrepareDC( dc );
     
     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)
 #if 0  
     wxRegionIterator upd( GetUpdateRegion() );
     while (upd)
index 409f27a843c6abed643830de7a9578af298e8923..ad2e33a2b54335165a25082f6a4e8368d5da3de6 100644 (file)
@@ -1,13 +1,14 @@
 /* XPM */
 static char *mondrian_xpm[] = {
 /* columns rows colors chars-per-pixel */
 /* 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",
 "  c Black",
 ". c Blue",
 "X c #00bf00",
 "o c Red",
 "O c Yellow",
 "+ c Gray100",
+"a c None",
 /* pixels */
 "                                ",
 " oooooo +++++++++++++++++++++++ ",
 /* pixels */
 "                                ",
 " oooooo +++++++++++++++++++++++ ",
@@ -20,13 +21,13 @@ static char *mondrian_xpm[] = {
 "                                ",
 " ++++++ ++++++++++++++++++ .... ",
 " ++++++ ++++++++++++++++++ .... ",
 "                                ",
 " ++++++ ++++++++++++++++++ .... ",
 " ++++++ ++++++++++++++++++ .... ",
+" ++++++ +aaaaaaaaaaaaaaaa+ .... ",
+" ++++++ +aaaaaaaaaaaaaaaa+ .... ",
 " ++++++ ++++++++++++++++++ .... ",
 " ++++++ ++++++++++++++++++ .... ",
-" ++++++ ++++++++++++++++++ .... ",
-" ++++++ ++++++++++++++++++ .... ",
-" ++++++ ++++++++++++++++++      ",
-" ++++++ ++++++++++++++++++ ++++ ",
-" ++++++ ++++++++++++++++++ ++++ ",
-" ++++++ ++++++++++++++++++ ++++ ",
+" ++++++ +aaaaaaaaaaaaaaaa+      ",
+" ++++++ +aaaaaaaaaaaaaaaa+ ++++ ",
+" ++++++ +aaaaaaaaaaaaaaaa+ ++++ ",
+" ++++++ +aaaaaaaaaaaaaaaa+ ++++ ",
 " ++++++ ++++++++++++++++++ ++++ ",
 " ++++++ ++++++++++++++++++ ++++ ",
 " ++++++ ++++++++++++++++++ ++++ ",
 " ++++++ ++++++++++++++++++ ++++ ",
 " ++++++ ++++++++++++++++++ ++++ ",
 " ++++++ ++++++++++++++++++ ++++ ",
index 17175ec63dfb5833a2184db28202fd11a062f021..38b3a20847411bd3d23381b98a33d79d77099177 100644 (file)
@@ -4092,10 +4092,10 @@ void wxWindowGTK::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
     m_clipPaintRegion = FALSE;
 #else
 
     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    
    
     
 #endif    
    
index 17175ec63dfb5833a2184db28202fd11a062f021..38b3a20847411bd3d23381b98a33d79d77099177 100644 (file)
@@ -4092,10 +4092,10 @@ void wxWindowGTK::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
     m_clipPaintRegion = FALSE;
 #else
 
     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    
    
     
 #endif