Skip to content

Arcs, segments, and sectors#40

Open
stevesims wants to merge 4 commits intoavalonbits:mainfrom
stevesims:arcs-segments-sectors
Open

Arcs, segments, and sectors#40
stevesims wants to merge 4 commits intoavalonbits:mainfrom
stevesims:arcs-segments-sectors

Conversation

@stevesims
Copy link
Contributor

Adds support for drawing arcs, filled segments and filled sectors

Parameters for these functions essentially match the style of Acorn's equivalent PLOT calls

also includes code from #39

for clarity of the git commit history I'd recommend merging using a merge commit rather than using a "squash". the commits in this PR individually add functionality for each new feature

Canvas gets several new calls:

`setLinePattern` accepts a LinePattern object for setting a pattern a line can optionally use

`setLinePatternLength` allows the length of the line pattern to be set

`setLinePatternOffset` allows the offset within the pattern to be adjusted

`setLineOptions` sets whether a line should be drawn as a dotted line, and whether its first and/or last points should be omitted

BitmappedDisplayController’s `PaintState` object now includes `linePattern`, `lineOptions` and `linePatternLength`.

`genericAbsDrawLine` now looks at the `lineOptions` in the current paint state to determine whether a dotted line should be drawn, and whether first or last points should be omitted

fabutils gains a `getBit` function which will get a bit at an index within an array of uint8_t numbers.  the position is in “most significant bit” order, i.e. bitIndex 0 is the bit representing 128 in the first byte in the array
basic arc support for all screen depths

NB there is no compensation in these for non-square pixel modes, i.e. the circle that arc follows assumes squareness
adds the ability to draw filled segments

builds on work to draw arcs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant