struct graphics_gc {
struct graphics_gc_priv *priv;
struct graphics_gc_methods meth;
+ struct graphics *gra;
};
struct graphics_image_methods {
/* prototypes */
enum attr_type;
+enum item_type;
enum draw_mode_num;
struct attr;
struct attr_iter;
void graphics_background_gc(struct graphics *this_, struct graphics_gc *gc);
char *graphics_icon_path(char *icon);
void graphics_draw_itemgra(struct graphics *gra, struct itemgra *itm, struct transformation *t);
-void graphics_displaylist_draw(struct graphics *gra, struct displaylist *displaylist, struct transformation *trans, struct layout *l, int callback);
-void graphics_draw(struct graphics *gra, struct displaylist *displaylist, struct mapset *mapset, struct transformation *trans, struct layout *l, int async, struct callback *cb);
+void graphics_displaylist_draw(struct graphics *gra, struct displaylist *displaylist, struct transformation *trans, struct layout *l, int flags);
+void graphics_draw(struct graphics *gra, struct displaylist *displaylist, struct mapset *mapset, struct transformation *trans, struct layout *l, int async, struct callback *cb, int flags);
int graphics_draw_cancel(struct graphics *gra, struct displaylist *displaylist);
struct displaylist_handle *graphics_displaylist_open(struct displaylist *displaylist);
struct displayitem *graphics_displaylist_next(struct displaylist_handle *dlh);
struct displaylist *graphics_displaylist_new(void);
struct item *graphics_displayitem_get_item(struct displayitem *di);
char *graphics_displayitem_get_label(struct displayitem *di);
+int graphics_displayitem_get_displayed(struct displayitem *di);
int graphics_displayitem_within_dist(struct displaylist *displaylist, struct displayitem *di, struct point *p, int dist);
-void graphics_add_selection(struct graphics *gra, struct item *item, struct displaylist *dl);
-void graphics_remove_selection(struct graphics *gra, struct item *item, struct displaylist *dl);
+void graphics_add_selection(struct graphics *gra, struct item *item, enum item_type type, struct displaylist *dl);
+void graphics_remove_selection(struct graphics *gra, struct item *item, enum item_type type, struct displaylist *dl);
void graphics_clear_selection(struct graphics *gra, struct displaylist *dl);
/* end of prototypes */
#ifdef __cplusplus