diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2017-02-13 18:09:43 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2017-02-13 18:09:43 +0000 |
commit | 593ec1fbeab32d598bc4cc5de42bb0887ad0d520 (patch) | |
tree | d7f95372c4caf1a860d414a67bb8fb78a6df0820 /frontends/amiga/plotters.h | |
parent | 075e9c0258bd75307a90b3e6bd576742bf212b08 (diff) | |
download | netsurf-593ec1fbeab32d598bc4cc5de42bb0887ad0d520.tar.gz netsurf-593ec1fbeab32d598bc4cc5de42bb0887ad0d520.tar.bz2 |
Manage shared pens internally unless we need multiple lists (eg. per browser_window)
Diffstat (limited to 'frontends/amiga/plotters.h')
-rw-r--r-- | frontends/amiga/plotters.h | 33 |
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 + |