X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=lib%2Fgtksheet%2Fpsppire-axis.h;h=3836ecf05175eda01a0e31374003c5f4a4d163eb;hb=3785800c7a660f059857b66ec36efec99af0d052;hp=72484773e895c88767b794887e065609440b46a6;hpb=ddd7c113f3e50c8d87f6a677856799d05a1f40c7;p=pspp-builds.git diff --git a/lib/gtksheet/psppire-axis.h b/lib/gtksheet/psppire-axis.h index 72484773..3836ecf0 100644 --- a/lib/gtksheet/psppire-axis.h +++ b/lib/gtksheet/psppire-axis.h @@ -22,11 +22,10 @@ #include #include -#include - G_BEGIN_DECLS + /* --- type macros --- */ #define G_TYPE_PSPPIRE_AXIS (psppire_axis_get_type ()) #define PSPPIRE_AXIS(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), G_TYPE_PSPPIRE_AXIS, PsppireAxis)) @@ -36,56 +35,69 @@ G_BEGIN_DECLS #define PSPPIRE_AXIS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), G_TYPE_PSPPIRE_AXIS, PsppireAxisClass)) - /* --- typedefs & structures --- */ typedef struct _PsppireAxis PsppireAxis; typedef struct _PsppireAxisClass PsppireAxisClass; -struct pool; - struct _PsppireAxis { GObject parent; - struct tower tower; - struct pool *pool; + glong min_extent; + gint default_size; }; struct _PsppireAxisClass { GObjectClass parent_class; - }; + GType psppire_axis_get_type (void); -PsppireAxis* psppire_axis_new (void); -/* Interface between sheet and axis */ -gint psppire_axis_unit_size (PsppireAxis *a, gint unit); +GType psppire_axis_iface_get_type (void); + +#define PSPPIRE_TYPE_AXIS_IFACE (psppire_axis_iface_get_type ()) + +typedef struct _PsppireAxisIface PsppireAxisIface; -gint psppire_axis_unit_count (PsppireAxis *a); +struct _PsppireAxisIface +{ + GTypeInterface g_iface; + + + /* Virtual Table */ + + gint (*unit_size) (const PsppireAxis *a, gint unit); + + gint (*unit_count) (const PsppireAxis *a); -glong psppire_axis_pixel_start (PsppireAxis *a, gint unit); + glong (*start_pixel) (const PsppireAxis *a, gint unit); -gint psppire_axis_get_unit_at_pixel (PsppireAxis *a, glong pixel); + gint (*unit_at_pixel) (const PsppireAxis *a, glong pixel); + glong (*total_size) (const PsppireAxis *a); -/* Interface between axis and model */ + void (*resize) (PsppireAxis *a, gint unit, glong pixels); +}; + + +/* Interface between sheet and axis */ -void psppire_axis_clear (PsppireAxis *a); +gint psppire_axis_unit_size (const PsppireAxis *a, gint unit); -void psppire_axis_append (PsppireAxis *a, gint size); +gint psppire_axis_unit_count (const PsppireAxis *a); -void psppire_axis_insert (PsppireAxis *a, gint size, gint posn); +glong psppire_axis_start_pixel (const PsppireAxis *a, gint unit); -void psppire_axis_remove (PsppireAxis *a, gint posn); +gint psppire_axis_unit_at_pixel (const PsppireAxis *a, glong pixel); -void psppire_axis_resize_unit (PsppireAxis *a, gint size, gint posn); +void psppire_axis_resize (PsppireAxis *a, gint unit, glong size); G_END_DECLS