# Changes

## gc:fillArc

, 11:37, 13 February 2019
See Also my edit at gc:drawArc. The original article stated that the last argument was the ending angle, however, this is the angle over which the rountine turns, so 180 will always result in a semicircle)
Line 3: Line 3:
gc:'''fillArc''' is a function that is part of [[:Category:gc|gc]] (Graphics Context).

gc:'''fillArc''' is a function that is part of [[:Category:gc|gc]] (Graphics Context).

Draws a color-filled arc in the rectangle with upper left corner (x,y) and pixel ''width'' and ''height''. The arc is drawn beginning at ''startAngle'' degrees and ending at ''endAngle''.<br />
+

+
Draws a color-filled arc in the rectangle with upper left corner (x,y) and pixel ''width'' and ''height''. The arc is drawn beginning at ''startAngle'' degrees and turns over ''turnAngle'' degrees.<br />

Zero degrees points to the right and 90 degrees points up (standard mathematical practice but worth mentioning since the y axis is inverted).

Zero degrees points to the right and 90 degrees points up (standard mathematical practice but worth mentioning since the y axis is inverted).
+

{{Since|3.0}}

{{Since|3.0}}

== Syntax  ==

== Syntax  ==
gc:'''fillArc'''(x, y, width, height, start angle, finish angle)
+
gc:'''fillArc'''(x, y, width, height, start angle, turn angle)

{| class="wikitable"

{| class="wikitable"
Line 23: Line 25:
| <u><center>height</center></u> || number || Height of the rectangle containing the arc

| <u><center>height</center></u> || number || Height of the rectangle containing the arc

|-

|-
| <u><center>start angle</center></u> || number || start angle
+
| <u><center>start angle</center></u> || number || The starting angle of the arc

|-

|-
| <u><center>finish angle</center></u> || number || finish angle
+
| <u><center>turning angle</center></u> || number || The angle over which the arc turns

|}

|}
−
== Example ==
+
In this syntax ''turnAngle'' can be negative. This means the arc will be drawn clockwise, whereas a positive number results in an arc turning counterclockwise. (Standard mathematical practice as well.)
<syntaxhighlight>gc:fillArc(10, 10, 20, 30, 0, 120)</syntaxhighlight>
+

+
== Examples ==
+
<syntaxhighlight>gc:drawArc(10, 10, 20, 30, 0, 120)</syntaxhighlight>
+
The syntax above fills an arc from the right to the point turned 120 degrees.
+
<br /><br />
+
<syntaxhighlight>gc:drawArc(50, 50, 25, 25, 90, 180)</syntaxhighlight>
+
The syntax above fills a semicircle from the top to the bottom, turning counterclockwise while doing so. Resulting in the semicircle being on the left side.
+
<syntaxhighlight>gc:drawArc(50, 50, 25, 25, 90, -180)</syntaxhighlight>
+
The syntax above fills a semicircle as well. Again from the top to the bottom. This time however, the routine will turn the arc clockwise, resulting in the semicircle being on the right side.

== Good to know ==

== Good to know ==
To draw a circle, the width and height must be equal length and the start and end angles must be 0 and 360. If width and height are different lengths, this routine will draw an oval.
+
To draw a circle, the width and height must be equal length and the turning angle must be 360. If width and height are different lengths, this routine will draw an oval. It is standard procedure to set the starting angle at 0 degrees. However, this is not necessary.
+

+

+
Any number over 360 set for ''startAngle'' will roll back to be within the domain of [0,360].
+

+
Any number over 360 set for ''turnAngle'' will have no influence. All numbers higher than 360 will result in a circle.