#ifndef BV_CHART_H #define BV_CHART_H /* * h/t https://ptomato.name/advanced-gtk-techniques/html/custom-container.html * for examples of how to make GTK widgets */ #include #include G_BEGIN_DECLS #define BV_CHART_TYPE (bv_chart_get_type()) #define BV_CHART(obj) \ (G_TYPE_CHECK_INSTANCE_CAST((obj), BV_CHART_TYPE, BVChart)) #define BV_CHART_CLASS(klass) \ (G_TYPE_CHECK_CLASS_CAST((klass), BV_CHART_TYPE, BVChartClass)) #define BV_IS_CHART(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), BV_CHART_TYPE)) #define BV_IS_CHART_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE((klass), BV_CHART_TYPE)) typedef struct _BVChart BVChart; typedef struct _BVChartClass BVChartClass; struct _BVChart { GtkDrawingArea parent_instance; }; struct _BVChartClass { GtkDrawingAreaClass parent_class; }; GType bv_chart_get_type(void) G_GNUC_CONST; GtkWidget *bv_chart_new(void); void bv_chart_add_point(BVChart *chart, float x, float y); G_END_DECLS #endif /* BV_CHART_H */