NetSurf
Data Structures | Macros | Functions | Variables
plotters.c File Reference
#include "amiga/os3support.h"
#include <proto/exec.h>
#include <proto/intuition.h>
#include <proto/layers.h>
#include <proto/graphics.h>
#include <intuition/intuition.h>
#include <graphics/rpattr.h>
#include <graphics/gfxmacros.h>
#include <graphics/gfxbase.h>
#include <math.h>
#include <assert.h>
#include <stdlib.h>
#include "utils/nsoption.h"
#include "utils/utils.h"
#include "utils/log.h"
#include "netsurf/css.h"
#include "netsurf/mouse.h"
#include "netsurf/window.h"
#include "amiga/plotters.h"
#include "amiga/bitmap.h"
#include "amiga/font.h"
#include "amiga/gui.h"
#include "amiga/memory.h"
#include "amiga/misc.h"
#include "amiga/rtg.h"
#include "amiga/utf8.h"
Include dependency graph for plotters.c:

Go to the source code of this file.

Data Structures

struct  bfbitmap
 
struct  ami_plot_pen
 
struct  bez_point
 
struct  gui_globals
 

Macros

#define M_PI   3.14159265358979323846
 
#define PATT_DOT   0xAAAA
 
#define PATT_DASH   0xCCCC
 
#define PATT_LINE   0xFFFF
 
#define AREA_SIZE   25000
 

Functions

 HOOKF (void, ami_bitmap_tile_hook, struct RastPort *, rp, struct BackFillMessage *)
 
struct gui_globalsami_plot_ra_alloc (ULONG width, ULONG height, bool force32bit, bool alloc_pen_list)
 Alloc a plotter render area. More...
 
void ami_plot_ra_free (struct gui_globals *gg)
 Free a plotter render area. More...
 
struct RastPort * ami_plot_ra_get_rastport (struct gui_globals *gg)
 Get RastPort associated with a render area. More...
 
struct BitMap * ami_plot_ra_get_bitmap (struct gui_globals *gg)
 Get a drawing BitMap associated with a render area. More...
 
void ami_plot_ra_get_size (struct gui_globals *gg, int *width, int *height)
 Get size of BitMap associated with a render area. More...
 
void ami_plot_ra_set_pen_list (struct gui_globals *gg, struct MinList *pen_list)
 Set a list of shared pens for a render area to use Only relevant for palette-mapped screens. More...
 
void ami_clearclipreg (struct gui_globals *gg)
 
static ULONG ami_plot_obtain_pen (struct MinList *shared_pens, ULONG colr)
 
void ami_plot_release_pens (struct MinList *shared_pens)
 
static void ami_plot_setapen (struct gui_globals *glob, struct RastPort *rp, ULONG colr)
 
static void ami_plot_setopen (struct gui_globals *glob, struct RastPort *rp, ULONG colr)
 
void ami_plot_clear_bbox (struct RastPort *rp, struct IBox *bbox)
 
static void ami_arc_gfxlib (struct RastPort *rp, int x, int y, int radius, int angle1, int angle2)
 
static nserror ami_bitmap (struct gui_globals *glob, int x, int y, int width, int height, struct bitmap *bitmap)
 
static void ami_bezier (struct bez_point *restrict a, struct bez_point *restrict b, struct bez_point *restrict c, struct bez_point *restrict d, float t, struct bez_point *restrict p)
 
bool ami_plot_screen_is_palettemapped (void)
 
static nserror ami_clip (const struct redraw_context *ctx, const struct rect *clip)
 Sets a clip rectangle for subsequent plot operations. More...
 
static nserror ami_arc (const struct redraw_context *ctx, const plot_style_t *style, int x, int y, int radius, int angle1, int angle2)
 Plots an arc. More...
 
static nserror ami_disc (const struct redraw_context *ctx, const plot_style_t *style, int x, int y, int radius)
 Plots a circle. More...
 
static nserror ami_line (const struct redraw_context *ctx, const plot_style_t *style, const struct rect *line)
 Plots a line. More...
 
static nserror ami_rectangle (const struct redraw_context *ctx, const plot_style_t *style, const struct rect *rect)
 Plots a rectangle. More...
 
static nserror ami_polygon (const struct redraw_context *ctx, const plot_style_t *style, const int *p, unsigned int n)
 Plot a polygon. More...
 
static nserror ami_path (const struct redraw_context *ctx, const plot_style_t *pstyle, const float *p, unsigned int n, const float transform[6])
 Plots a path. More...
 
static nserror ami_bitmap_tile (const struct redraw_context *ctx, struct bitmap *bitmap, int x, int y, int width, int height, colour bg, bitmap_flags_t flags)
 Plot a bitmap. More...
 
static nserror ami_text (const struct redraw_context *ctx, const struct plot_font_style *fstyle, int x, int y, const char *text, size_t length)
 Text plotting. More...
 

Variables

static int init_layers_count = 0
 
static APTR pool_pens = NULL
 
static bool palette_mapped = true
 
const struct plotter_table amiplot
 

Macro Definition Documentation

◆ AREA_SIZE

#define AREA_SIZE   25000

Definition at line 111 of file plotters.c.

◆ M_PI

#define M_PI   3.14159265358979323846

Definition at line 101 of file plotters.c.

◆ PATT_DASH

#define PATT_DASH   0xCCCC

Definition at line 105 of file plotters.c.

◆ PATT_DOT

#define PATT_DOT   0xAAAA

Definition at line 104 of file plotters.c.

◆ PATT_LINE

#define PATT_LINE   0xFFFF

Definition at line 106 of file plotters.c.

Function Documentation

◆ ami_arc()

static nserror ami_arc ( const struct redraw_context ctx,
const plot_style_t style,
int  x,
int  y,
int  radius,
int  angle1,
int  angle2 
)
static

Plots an arc.

plot an arc segment around (x,y), anticlockwise from angle1 to angle2. Angles are measured anticlockwise from horizontal, in degrees.

Parameters
ctxThe current redraw context.
styleStyle controlling the arc plot.
xThe x coordinate of the arc.
yThe y coordinate of the arc.
radiusThe radius of the arc.
angle1The start angle of the arc.
angle2The finish angle of the arc.
Returns
NSERROR_OK on success else error code.

Definition at line 671 of file plotters.c.

References ami_arc_gfxlib(), ami_plot_setapen(), plot_style_s::fill_colour, NSERROR_OK, NSLOG, redraw_context::priv, and gui_globals::rp.

Here is the call graph for this function:

◆ ami_arc_gfxlib()

static void ami_arc_gfxlib ( struct RastPort *  rp,
int  x,
int  y,
int  radius,
int  angle1,
int  angle2 
)
static

Definition at line 421 of file plotters.c.

References M_PI.

Referenced by ami_arc().

Here is the caller graph for this function:

◆ ami_bezier()

static void ami_bezier ( struct bez_point *restrict  a,
struct bez_point *restrict  b,
struct bez_point *restrict  c,
struct bez_point *restrict  d,
float  t,
struct bez_point *restrict  p 
)
static

Definition at line 602 of file plotters.c.

Referenced by ami_path().

Here is the caller graph for this function:

◆ ami_bitmap()

static nserror ami_bitmap ( struct gui_globals glob,
int  x,
int  y,
int  width,
int  height,
struct bitmap bitmap 
)
static

Definition at line 449 of file plotters.c.

References ami_bitmap_get_mask(), ami_bitmap_get_native(), ami_bitmap_is_nativebm(), ami_gui_get_screen(), ami_rtg_freebitmap(), amiga_bitmap_get_opaque(), BLITA_MaskPlane, BLITA_UseSrcAlpha, height, MINTERM_SRCMASK, NSERROR_OK, NSLOG, gui_globals::palette_mapped, gui_globals::rect, gui_globals::rp, scrn, and width.

Referenced by ami_bitmap_tile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_bitmap_tile()

static nserror ami_bitmap_tile ( const struct redraw_context ctx,
struct bitmap bitmap,
int  x,
int  y,
int  width,
int  height,
colour  bg,
bitmap_flags_t  flags 
)
static

Plot a bitmap.

Tiled plot of a bitmap image. (x,y) gives the top left coordinate of an explicitly placed tile. From this tile the image can repeat in all four directions – up, down, left and right – to the extents given by the current clip rectangle.

The bitmap_flags say whether to tile in the x and y directions. If not tiling in x or y directions, the single image is plotted. The width and height give the dimensions the image is to be scaled to.

Parameters
ctxThe current redraw context.
bitmapThe bitmap to plot
xThe x coordinate to plot the bitmap
yThe y coordiante to plot the bitmap
widthThe width of area to plot the bitmap into
heightThe height of area to plot the bitmap into
bgthe background colour to alpha blend into
flagsthe flags controlling the type of plot operation
Returns
NSERROR_OK on success else error code.
Todo:
is this logic logical?

Definition at line 1034 of file plotters.c.

References ami_bitmap(), ami_bitmap_get_mask(), ami_bitmap_get_native(), ami_bitmap_is_nativebm(), ami_rtg_freebitmap(), amiga_bitmap_get_opaque(), bitmap_get_height(), bitmap_get_width(), BITMAPF_REPEAT_X, BITMAPF_REPEAT_Y, bfbitmap::bm, bfbitmap::height, height, bfbitmap::mask, NSERROR_OK, NSLOG, bfbitmap::offsetx, bfbitmap::offsety, bfbitmap::palette_mapped, gui_globals::palette_mapped, redraw_context::priv, gui_globals::rect, gui_globals::rp, bfbitmap::width, and width.

Here is the call graph for this function:

◆ ami_clearclipreg()

void ami_clearclipreg ( struct gui_globals gg)

Definition at line 311 of file plotters.c.

References ami_gui_get_screen(), gui_globals::apen, gui_globals::apen_num, gui_globals::open, gui_globals::open_num, gui_globals::rect, gui_globals::rp, and scrn.

Referenced by ami_cw_redraw_rect(), ami_do_redraw_tiled(), bitmap_render(), and gui_window_new_content().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_clip()

static nserror ami_clip ( const struct redraw_context ctx,
const struct rect clip 
)
static

Sets a clip rectangle for subsequent plot operations.

Parameters
ctxThe current redraw context.
clipThe rectangle to limit all subsequent plot operations within.
Returns
NSERROR_OK on success else error code.

Definition at line 626 of file plotters.c.

References clip(), NSERROR_OK, NSLOG, redraw_context::priv, gui_globals::rect, and gui_globals::rp.

Here is the call graph for this function:

◆ ami_disc()

static nserror ami_disc ( const struct redraw_context ctx,
const plot_style_t style,
int  x,
int  y,
int  radius 
)
static

Plots a circle.

Plot a circle centered on (x,y), which is optionally filled.

Parameters
ctxThe current redraw context.
styleStyle controlling the circle plot.
xx coordinate of circle centre.
yy coordinate of circle centre.
radiuscircle radius.
Returns
NSERROR_OK on success else error code.

Definition at line 703 of file plotters.c.

References ami_plot_setapen(), plot_style_s::fill_colour, plot_style_s::fill_type, NSERROR_OK, NSLOG, PLOT_OP_TYPE_NONE, redraw_context::priv, gui_globals::rp, plot_style_s::stroke_colour, and plot_style_s::stroke_type.

Here is the call graph for this function:

◆ ami_line()

static nserror ami_line ( const struct redraw_context ctx,
const plot_style_t style,
const struct rect line 
)
static

Plots a line.

plot a line from (x0,y0) to (x1,y1). Coordinates are at centre of line width/thickness.

Parameters
ctxThe current redraw context.
styleStyle controlling the line plot.
lineA rectangle defining the line to be drawn
Returns
NSERROR_OK on success else error code.

< Solid colour

< Doted plot

< dashed plot

Definition at line 738 of file plotters.c.

References ami_plot_setapen(), line(), NSERROR_OK, NSLOG, PATT_DASH, PATT_DOT, PATT_LINE, PLOT_OP_TYPE_DASH, PLOT_OP_TYPE_DOT, PLOT_OP_TYPE_SOLID, plot_style_fixed_to_int, redraw_context::priv, gui_globals::rp, plot_style_s::stroke_colour, plot_style_s::stroke_type, and plot_style_s::stroke_width.

Here is the call graph for this function:

◆ ami_path()

static nserror ami_path ( const struct redraw_context ctx,
const plot_style_t pstyle,
const float *  p,
unsigned int  n,
const float  transform[6] 
)
static

Plots a path.

Path plot consisting of cubic Bezier curves. Line and fill colour is controlled by the plot style.

Parameters
ctxThe current redraw context.
pstyleStyle controlling the path plot.
pelements of path
nnunber of elements on path
transformA transform to apply to the path.
Returns
NSERROR_OK on success else error code.

Definition at line 896 of file plotters.c.

References ami_bezier(), ami_plot_setapen(), ami_plot_setopen(), plot_style_s::fill_colour, NS_TRANSPARENT, NSERROR_INVALID, NSERROR_OK, NSLOG, PLOTTER_PATH_BEZIER, PLOTTER_PATH_CLOSE, PLOTTER_PATH_LINE, PLOTTER_PATH_MOVE, redraw_context::priv, gui_globals::rp, plot_style_s::stroke_colour, bez_point::x, and bez_point::y.

Here is the call graph for this function:

◆ ami_plot_clear_bbox()

void ami_plot_clear_bbox ( struct RastPort *  rp,
struct IBox *  bbox 
)

Definition at line 412 of file plotters.c.

Referenced by ami_switch_tab().

Here is the caller graph for this function:

◆ ami_plot_obtain_pen()

static ULONG ami_plot_obtain_pen ( struct MinList *  shared_pens,
ULONG  colr 
)
static

Definition at line 330 of file plotters.c.

References ami_gui_get_screen(), ami_memory_itempool_alloc, ami_plot_pen::node, NSLOG, ami_plot_pen::pen, pool_pens, and scrn.

Referenced by ami_plot_setapen(), and ami_plot_setopen().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_plot_ra_alloc()

struct gui_globals * ami_plot_ra_alloc ( ULONG  width,
ULONG  height,
bool  force32bit,
bool  alloc_pen_list 
)

Alloc a plotter render area.

Parameters
widthof render bitmap
heightof render bitmap
force32bitallocate a 32-bit bitmap even if this does not match the screen
alloc_pen_listset to false to use own pen list (eg. if multiple pen lists will be required)
Returns
pointer to render area

Definition at line 113 of file plotters.c.

References ami_AllocMinList(), ami_gui_get_screen(), ami_memory_chip_alloc, ami_memory_itempool_create, ami_rtg_allocbitmap(), amiga_warn_user(), gui_globals::apen, gui_globals::apen_num, AREA_SIZE, gui_globals::areabuf, BGBACKFILL, BITMAP_LAYOUT_ARGB8888, bitmap_set_format(), gui_globals::bm, gui_globals::height, height, init_layers_count, gui_globals::layerinfo, gui_globals::managed_pen_list, NSLOG, nsoption_bool, nsoption_int, nsoption_set_bool, gui_globals::open, gui_globals::open_num, gui_globals::palette_mapped, palette_mapped, pool_pens, gui_globals::rp, scrn, gui_globals::shared_pens, gui_globals::tmprasbuf, gui_globals::width, and width.

Referenced by ami_corewindow_init(), ami_openscreenfirst(), ami_print_begin(), and bitmap_render().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_plot_ra_free()

void ami_plot_ra_free ( struct gui_globals gg)

Free a plotter render area.

Parameters
ggrender area to free

Definition at line 258 of file plotters.c.

References ami_memory_chip_free, ami_memory_itempool_delete, ami_plot_release_pens(), ami_rtg_freebitmap(), gui_globals::areabuf, gui_globals::bm, init_layers_count, gui_globals::layerinfo, gui_globals::managed_pen_list, pool_pens, gui_globals::rp, gui_globals::shared_pens, and gui_globals::tmprasbuf.

Referenced by ami_corewindow_fini(), ami_print_end(), bitmap_render(), and gui_quit().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_plot_ra_get_bitmap()

struct BitMap * ami_plot_ra_get_bitmap ( struct gui_globals gg)

Get a drawing BitMap associated with a render area.

Parameters
ggrender area
Returns
pointer to render area BitMap

Definition at line 295 of file plotters.c.

References gui_globals::bm.

Referenced by ami_cw_redraw_rect(), ami_do_redraw_tiled(), and bitmap_render().

Here is the caller graph for this function:

◆ ami_plot_ra_get_rastport()

struct RastPort * ami_plot_ra_get_rastport ( struct gui_globals gg)

Get RastPort associated with a render area.

Parameters
ggrender area
Returns
pointer to render area BitMap

Definition at line 290 of file plotters.c.

References gui_globals::rp.

Referenced by ami_print_dump().

Here is the caller graph for this function:

◆ ami_plot_ra_get_size()

void ami_plot_ra_get_size ( struct gui_globals gg,
int *  width,
int *  height 
)

Get size of BitMap associated with a render area.

Parameters
ggrender area
widthupdated to BitMap width
heightupdated to BitMap height

Definition at line 300 of file plotters.c.

References gui_globals::height, height, gui_globals::width, and width.

Referenced by ami_cw_redraw_rect(), and ami_do_redraw_tiled().

Here is the caller graph for this function:

◆ ami_plot_ra_set_pen_list()

void ami_plot_ra_set_pen_list ( struct gui_globals gg,
struct MinList *  pen_list 
)

Set a list of shared pens for a render area to use Only relevant for palette-mapped screens.

Parameters
ggrender area
pen_listallocated by ami_AllocMinList()

Definition at line 306 of file plotters.c.

References gui_globals::shared_pens.

Referenced by ami_do_redraw_tiled().

Here is the caller graph for this function:

◆ ami_plot_release_pens()

void ami_plot_release_pens ( struct MinList *  shared_pens)

Definition at line 356 of file plotters.c.

References ami_gui_get_screen(), ami_memory_itempool_free, GetHead(), GetSucc(), IsMinListEmpty, ami_plot_pen::node, pool_pens, and scrn.

Referenced by ami_plot_ra_free(), ami_switch_tab(), gui_window_destroy(), and gui_window_new_content().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_plot_screen_is_palettemapped()

bool ami_plot_screen_is_palettemapped ( void  )

Definition at line 610 of file plotters.c.

References palette_mapped.

Referenced by ami_gui_opts_open(), ami_theme_throbber_setup(), gui_search_web_provider_update(), and gui_window_set_icon().

Here is the caller graph for this function:

◆ ami_plot_setapen()

static void ami_plot_setapen ( struct gui_globals glob,
struct RastPort *  rp,
ULONG  colr 
)
static

Definition at line 374 of file plotters.c.

References ami_plot_obtain_pen(), gui_globals::apen, gui_globals::apen_num, ns_color_to_nscss, gui_globals::palette_mapped, ami_plot_pen::pen, RPTAG_APenColor, and gui_globals::shared_pens.

Referenced by ami_arc(), ami_disc(), ami_line(), ami_path(), ami_polygon(), ami_rectangle(), and ami_text().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_plot_setopen()

static void ami_plot_setopen ( struct gui_globals glob,
struct RastPort *  rp,
ULONG  colr 
)
static

Definition at line 393 of file plotters.c.

References ami_plot_obtain_pen(), ns_color_to_nscss, gui_globals::open, gui_globals::open_num, gui_globals::palette_mapped, ami_plot_pen::pen, and gui_globals::shared_pens.

Referenced by ami_path().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ami_polygon()

static nserror ami_polygon ( const struct redraw_context ctx,
const plot_style_t style,
const int *  p,
unsigned int  n 
)
static

Plot a polygon.

Plots a filled polygon with straight lines between points. The lines around the edge of the ploygon are not plotted. The polygon is filled with the non-zero winding rule.

Parameters
ctxThe current redraw context.
styleStyle controlling the polygon plot.
pverticies of polygon
nnumber of verticies.
Returns
NSERROR_OK on success else error code.

Definition at line 853 of file plotters.c.

References ami_plot_setapen(), plot_style_s::fill_colour, NSERROR_OK, NSLOG, redraw_context::priv, and gui_globals::rp.

Here is the call graph for this function:

◆ ami_rectangle()

static nserror ami_rectangle ( const struct redraw_context ctx,
const plot_style_t style,
const struct rect rect 
)
static

Plots a rectangle.

The rectangle can be filled an outline or both controlled by the plot style The line can be solid, dotted or dashed. Top left corner at (x0,y0) and rectangle has given width and height.

Parameters
ctxThe current redraw context.
styleStyle controlling the rectangle plot.
rectA rectangle defining the line to be drawn
Returns
NSERROR_OK on success else error code.

< Solid colour

< Dotted plot

< dashed plot

Definition at line 790 of file plotters.c.

References ami_plot_setapen(), plot_style_s::fill_colour, plot_style_s::fill_type, NSERROR_OK, NSLOG, PATT_DASH, PATT_DOT, PATT_LINE, PLOT_OP_TYPE_DASH, PLOT_OP_TYPE_DOT, PLOT_OP_TYPE_NONE, PLOT_OP_TYPE_SOLID, plot_style_fixed_to_int, redraw_context::priv, gui_globals::rp, plot_style_s::stroke_colour, plot_style_s::stroke_type, plot_style_s::stroke_width, rect::x0, rect::x1, rect::y0, and rect::y1.

Here is the call graph for this function:

◆ ami_text()

static nserror ami_text ( const struct redraw_context ctx,
const struct plot_font_style fstyle,
int  x,
int  y,
const char *  text,
size_t  length 
)
static

Text plotting.

Parameters
ctxThe current redraw context.
fstyleplot style for this text
xx coordinate
yy coordinate
textUTF-8 string to plot
lengthlength of string, in bytes
Returns
NSERROR_OK on success else error code.

Definition at line 1159 of file plotters.c.

References ami_nsfont, ami_plot_setapen(), plot_font_style::foreground, NSERROR_OK, NSLOG, nsoption_bool, redraw_context::priv, gui_globals::rp, text(), and ami_font_functions::text.

Here is the call graph for this function:

◆ HOOKF()

HOOKF ( void  ,
ami_bitmap_tile_hook  ,
struct RastPort *  ,
rp  ,
struct BackFillMessage  
)

Definition at line 538 of file plotters.c.

References ami_gui_get_screen(), BLITA_MaskPlane, BLITA_UseSrcAlpha, bfbitmap::bm, bfbitmap::height, bfbitmap::mask, MINTERM_SRCMASK, bfbitmap::offsetx, bfbitmap::offsety, bfbitmap::palette_mapped, scrn, and bfbitmap::width.

Here is the call graph for this function:

Variable Documentation

◆ amiplot

const struct plotter_table amiplot
Initial value:
= {
.rectangle = ami_rectangle,
.line = ami_line,
.polygon = ami_polygon,
.clip = ami_clip,
.text = ami_text,
.disc = ami_disc,
.arc = ami_arc,
.bitmap = ami_bitmap_tile,
.path = ami_path,
.option_knockout = true,
}
static nserror ami_disc(const struct redraw_context *ctx, const plot_style_t *style, int x, int y, int radius)
Plots a circle.
Definition: plotters.c:703
static nserror ami_polygon(const struct redraw_context *ctx, const plot_style_t *style, const int *p, unsigned int n)
Plot a polygon.
Definition: plotters.c:853
static nserror ami_arc(const struct redraw_context *ctx, const plot_style_t *style, int x, int y, int radius, int angle1, int angle2)
Plots an arc.
Definition: plotters.c:671
static nserror ami_rectangle(const struct redraw_context *ctx, const plot_style_t *style, const struct rect *rect)
Plots a rectangle.
Definition: plotters.c:790
static nserror ami_line(const struct redraw_context *ctx, const plot_style_t *style, const struct rect *line)
Plots a line.
Definition: plotters.c:738
static nserror ami_path(const struct redraw_context *ctx, const plot_style_t *pstyle, const float *p, unsigned int n, const float transform[6])
Plots a path.
Definition: plotters.c:896
static nserror ami_text(const struct redraw_context *ctx, const struct plot_font_style *fstyle, int x, int y, const char *text, size_t length)
Text plotting.
Definition: plotters.c:1159
static nserror ami_bitmap_tile(const struct redraw_context *ctx, struct bitmap *bitmap, int x, int y, int width, int height, colour bg, bitmap_flags_t flags)
Plot a bitmap.
Definition: plotters.c:1034
static nserror ami_clip(const struct redraw_context *ctx, const struct rect *clip)
Sets a clip rectangle for subsequent plot operations.
Definition: plotters.c:626

Definition at line 1180 of file plotters.c.

Referenced by ami_cw_redraw_rect(), ami_do_redraw(), ami_do_redraw_limits(), and bitmap_render().

◆ init_layers_count

int init_layers_count = 0
static

Definition at line 96 of file plotters.c.

Referenced by ami_plot_ra_alloc(), and ami_plot_ra_free().

◆ palette_mapped

bool palette_mapped = true
static

◆ pool_pens

APTR pool_pens = NULL
static