enum MnState { MN_STATE_NORMAL, MN_STATE_DISABLED, MN_STATE_ACTIVE, MN_STATE_HOVER }; enum MnFlags { MN_STATE_FOCUS = 1 << 0, MN_STATE_CHECKED = 1 << 1 }; MnWidget { MnContext *parent; gchar *id; gchar *class; gchar *type; MnState state; MnFlags flags; }; void mn_widget_paint_button (MnWidget *context, cairo_t *cr, double y, double x, double width, double height); enum MnScrollbarPart { MN_SCROLLBAR_STEPPER_UP, MN_SCROLLBAR_STEPPER_DOWN, MN_SCROLLBAR_STEPPER_LEFT, MN_SCROLLBAR_STEPPER_RIGHT, MN_SCROLLBAR_TROUGH, MN_SCROLLBAR_SLIDER } void mn_widget_paint_scrollbar (MnWidget *widget, MnScrollbarPart part, cairo_t *cr, double x, double y, double width, double height); void mn_widget_paint_check_box (MnWidget *widget, cairo_t *cr, double x, double y, double width, double height); void mn_widget_paint_radio_button (MnWidget *widget, cairo_t *cr, double x, double y, double width, double height);