summaryrefslogtreecommitdiff
path: root/frontends/amiga/plotters.h
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/amiga/plotters.h')
-rw-r--r--frontends/amiga/plotters.h33
1 files changed, 32 insertions, 1 deletions
diff --git a/frontends/amiga/plotters.h b/frontends/amiga/plotters.h
index c82208f53..4d2dc660c 100644
--- a/frontends/amiga/plotters.h
+++ b/frontends/amiga/plotters.h
@@ -34,6 +34,7 @@ struct gui_globals
APTR tmprasbuf;
struct Rectangle rect;
struct MinList *shared_pens;
+ bool managed_pen_list;
bool palette_mapped;
ULONG apen;
ULONG open;
@@ -50,8 +51,38 @@ void ami_plot_clear_bbox(struct RastPort *rp, struct IBox *bbox);
void ami_plot_release_pens(struct MinList *shared_pens);
bool ami_plot_screen_is_palettemapped(void);
-struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool force32bit);
+/* Plotter render area management */
+
+/**
+ * Alloc a plotter render area
+ * \param width of render bitmap
+ * \param height of render bitmap
+ * \param force32bit allocate a 32-bit bitmap even if this does not match the screen
+ * \param alloc_pen_list set to false to use own pen list (eg. if multiple pen lists will be required)
+ * \returns pointer to render area
+ */
+struct gui_globals *ami_plot_ra_alloc(ULONG width, ULONG height, bool force32bit, bool alloc_pen_list);
+
+/**
+ * Free a plotter render area
+ * \param gg render area to free
+ */
void ami_plot_ra_free(struct gui_globals *gg);
+
+/**
+ * Get a drawing BitMap associated with a render area
+ * \param gg render area
+ * \returns pointer to render area BitMap
+ */
struct BitMap *ami_plot_ra_get_bitmap(struct gui_globals *gg);
+/**
+ * Set a list of shared pens for a render area to use
+ * Only relevant for palette-mapped screens
+ * \param gg render area
+ * \param pen_list allocated by ami_AllocMinList()
+ */
+void ami_plot_ra_set_pen_list(struct gui_globals *gg, struct MinList *pen_list);
+
#endif
+