X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fgtksheet%2Fpsppire-axis.h;h=4ec23137967b9d442cdb1bd7b30d81542cc1b2bc;hb=f79c3114efb645934af16035e489fdedc4cab85e;hp=ef4b2908ab0f99b35954d5ebb3e879102c745bef;hpb=4179d3233e97505ed3def53dc02b6a778057d439;p=pspp-builds.git diff --git a/lib/gtksheet/psppire-axis.h b/lib/gtksheet/psppire-axis.h index ef4b2908..4ec23137 100644 --- a/lib/gtksheet/psppire-axis.h +++ b/lib/gtksheet/psppire-axis.h @@ -27,6 +27,7 @@ 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,20 +37,14 @@ 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; }; @@ -59,34 +54,46 @@ 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 ()) -gint psppire_axis_unit_count (PsppireAxis *a); +typedef struct _PsppireAxisIface PsppireAxisIface; + +struct _PsppireAxisIface +{ + GTypeInterface g_iface; -glong psppire_axis_pixel_start (PsppireAxis *a, gint unit); -gint psppire_axis_get_unit_at_pixel (PsppireAxis *a, glong pixel); + /* Virtual Table */ + gint (*unit_size) (const PsppireAxis *a, gint unit); + gint (*unit_count) (const PsppireAxis *a); -/* Interface between axis and model */ + glong (*pixel_start) (const PsppireAxis *a, gint unit); -void psppire_axis_clear (PsppireAxis *a); + gint (*get_unit_at_pixel) (const PsppireAxis *a, glong pixel); + + glong (*total_size ) (const PsppireAxis *a); +}; + + +/* Interface between sheet and axis */ -void psppire_axis_append (PsppireAxis *a, gint size); +gint psppire_axis_unit_size (const PsppireAxis *a, gint unit); -void psppire_axis_insert (PsppireAxis *a, gint size, gint posn); +gint psppire_axis_unit_count (const PsppireAxis *a); -void psppire_axis_remove (PsppireAxis *a, gint posn); +glong psppire_axis_pixel_start (const PsppireAxis *a, gint unit); -void psppire_axis_resize_unit (PsppireAxis *a, gint size, gint posn); +gint psppire_axis_get_unit_at_pixel (const PsppireAxis *a, glong pixel); G_END_DECLS