X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fgtksheet%2Fgtksheet.c;h=e8ca1658c24ae26c835bdb29c81d873c2a472f8b;hb=abaa4252a054287a9fdfe6fc3927bb18cf354d9f;hp=962ac621e65c1c61f88b2dc448b3c61910e32383;hpb=02351194a13ff724babc77e9c1da48ef0eed254f;p=pspp-builds.git diff --git a/lib/gtksheet/gtksheet.c b/lib/gtksheet/gtksheet.c index 962ac621..e8ca1658 100644 --- a/lib/gtksheet/gtksheet.c +++ b/lib/gtksheet/gtksheet.c @@ -154,9 +154,7 @@ min_fully_visible_row (const GtkSheet *sheet) static inline glong max_visible_row (const GtkSheet *sheet) { - return row_from_ypixel (sheet, - sheet->vadjustment->value + - sheet->vadjustment->page_size); + return row_from_ypixel (sheet, sheet->vadjustment->value + sheet->vadjustment->page_size); } @@ -200,9 +198,7 @@ min_fully_visible_column (const GtkSheet *sheet) static inline glong max_visible_column (const GtkSheet *sheet) { - return column_from_xpixel (sheet, - sheet->hadjustment->value + - sheet->hadjustment->page_size); + return column_from_xpixel (sheet, sheet->hadjustment->value + sheet->hadjustment->page_size); } static inline glong @@ -2144,7 +2140,6 @@ gtk_sheet_range_draw (GtkSheet *sheet, const GtkSheetRange *range) g_return_if_fail (drawing_range.rowi >= drawing_range.row0); g_return_if_fail (drawing_range.coli >= drawing_range.col0); - gdk_window_begin_paint_rect (sheet->sheet_window, &area); for (i = drawing_range.row0; i <= drawing_range.rowi; i++) @@ -3102,28 +3097,27 @@ gtk_sheet_expose (GtkWidget *widget, } - range.row0 = - row_from_ypixel (sheet, - event->area.y + sheet->vadjustment->value); - range.row0--; + { + gint y = event->area.y + sheet->vadjustment->value; + gint x = event->area.x + sheet->hadjustment->value; + + if ( sheet->column_titles_visible) + y -= sheet->column_title_area.height; + + if ( sheet->row_titles_visible) + x -= sheet->row_title_area.width; + + maximize_int (&x, 0); + maximize_int (&y, 0); - range.rowi = - row_from_ypixel (sheet, - event->area.y + - event->area.height + sheet->vadjustment->value); - range.rowi++; + range.row0 = row_from_ypixel (sheet, y); - range.col0 = - column_from_xpixel (sheet, - event->area.x + sheet->hadjustment->value); - range.col0--; + range.rowi = row_from_ypixel (sheet, y + event->area.height); - range.coli = - column_from_xpixel (sheet, - event->area.x + event->area.width + - sheet->hadjustment->value); - range.coli++; + range.col0 = column_from_xpixel (sheet, x); + range.coli = column_from_xpixel (sheet, x + event->area.width); + } if (event->window == sheet->sheet_window) {