Speed up rendering of columns in sheet.
[pspp] / src / ui / gui / pspp-sheet-private.h
index 89e246dadc6917e66a887d5e38a8b3a3e3aa2dba..a19c7c5b783bf60bef8916a8616be49a091e86c8 100644 (file)
@@ -53,13 +53,6 @@ typedef enum
   PSPP_SHEET_VIEW_IN_COLUMN_DRAG = 1 << 7
 } PsppSheetViewFlags;
 
-typedef enum
-{
-  PSPP_SHEET_SELECT_MODE_TOGGLE = 1 << 0,
-  PSPP_SHEET_SELECT_MODE_EXTEND = 1 << 1
-}
-PsppSheetSelectMode;
-
 enum
 {
   DRAG_COLUMN_WINDOW_STATE_UNSET = 0,
@@ -240,7 +233,6 @@ struct _PsppSheetViewPrivate
 
   /* Grid and tree lines */
   PsppSheetViewGridLines grid_lines;
-  GdkGC *grid_line_gc[5];
 
   /* Special cells. */
   PsppSheetViewSpecialCells special_cells;
@@ -263,9 +255,6 @@ struct _PsppSheetViewPrivate
   /* for DnD */
   guint empty_view_drop : 1;
 
-  guint ctrl_pressed : 1;
-  guint shift_pressed : 1;
-
   guint init_hadjust_value : 1;
 
   guint in_top_row_to_dy : 1;
@@ -285,8 +274,16 @@ struct _PsppSheetViewPrivate
   guint post_validation_flag : 1;
 
   /* Whether our key press handler is to avoid sending an unhandled binding to the search entry */
+
   guint search_entry_avoid_unhandled_binding : 1;
-};
+  /* GtkScrollablePolicy needs to be checked when
+   * driving the scrollable adjustment values */
+  guint hscroll_policy : 1;
+  guint vscroll_policy : 1;
+
+  /* For optimisation of size allocate requests */
+  guint resized : 1;
+ };
 
 #ifdef __GNUC__
 
@@ -417,10 +414,9 @@ void              _pspp_sheet_selection_set_tree_view      (PsppSheetSelection *
                                                           PsppSheetView      *tree_view);
 
 void             _pspp_sheet_view_column_cell_render      (PsppSheetViewColumn  *tree_column,
-                                                         GdkWindow          *window,
+                                                           cairo_t *cr,
                                                          const GdkRectangle *background_area,
                                                          const GdkRectangle *cell_area,
-                                                         const GdkRectangle *expose_area,
                                                          guint               flags);
 void             _pspp_sheet_view_column_get_focus_area   (PsppSheetViewColumn  *tree_column,
                                                          const GdkRectangle *background_area,
@@ -431,10 +427,9 @@ gboolean     _pspp_sheet_view_column_cell_focus       (PsppSheetViewColumn  *tree_
                                                          gboolean            left,
                                                          gboolean            right);
 void             _pspp_sheet_view_column_cell_draw_focus  (PsppSheetViewColumn  *tree_column,
-                                                         GdkWindow          *window,
+                                                           cairo_t *cr,
                                                          const GdkRectangle *background_area,
                                                          const GdkRectangle *cell_area,
-                                                         const GdkRectangle *expose_area,
                                                          guint               flags);
 void             _pspp_sheet_view_column_cell_set_dirty         (PsppSheetViewColumn  *tree_column);
 void              _pspp_sheet_view_column_get_neighbor_sizes (PsppSheetViewColumn *column,