<descrip>
<tag/Function/Draw an elliptic arc in the current color.
<tag/Header/<tt/<ref id="tgi.h" name="tgi.h">/
-<tag/Declaration/<tt/void __fastcall__ tgi_arc (int x, int y,
+<tag/Declaration/<tt/void __fastcall__ tgi_arc (int x, int y,
unsigned char rx, unsigned char ry, unsigned sa, unsigned ea);/
<tag/Description/The function draws an elliptic arc with center at x/y and
-radii rx/ry using the current drawing color. The arc covers the angle
+radii rx/ry using the current drawing color. The arc covers the angle
between sa and ea (startangle and endangle), which must be in the range
0..360.
<tag/Limits/<itemize>
<ref id="tgi_bar" name="tgi_bar">,
<ref id="tgi_circle" name="tgi_circle">,
<ref id="tgi_ellipse" name="tgi_ellipse">,
+<ref id="tgi_pieslice" name="tgi_pieslice">,
<ref id="tgi_setcolor" name="tgi_setcolor">
<tag/Example/<verb>
/* Draw the upper half of an ellipse */
<ref id="tgi_arc" name="tgi_arc">,
<ref id="tgi_bar" name="tgi_bar">,
<ref id="tgi_ellipse" name="tgi_ellipse">,
+<ref id="tgi_pieslice" name="tgi_pieslice">,
<ref id="tgi_setcolor" name="tgi_setcolor">
<tag/Example/<verb>
tgi_setcolor(TGI_COLOR_BLACK);
</descrip>
</quote>
+
<sect1>tgi_done<label id="tgi_done"><p>
<quote>
<ref id="tgi_arc" name="tgi_arc">,
<ref id="tgi_bar" name="tgi_bar">,
<ref id="tgi_circle" name="tgi_circle">,
+<ref id="tgi_pieslice" name="tgi_pieslice">,
<ref id="tgi_setcolor" name="tgi_setcolor">
<tag/Example/<verb>
tgi_setcolor(TGI_COLOR_RED);
</descrip>
</quote>
+
<sect1>tgi_ioctl<label id="tgi_ioctl"><p>
<quote>
</descrip>
</quote>
+
<sect1>tgi_line<label id="tgi_line"><p>
<quote>
</descrip>
</quote>
+
<sect1>tgi_lineto<label id="tgi_lineto"><p>
<quote>
</descrip>
</quote>
+
<sect1>tgi_load<label id="tgi_load"><p>
<quote>
</descrip>
</quote>
+
<sect1>tgi_load_driver<label id="tgi_load_driver"><p>
<quote>
</descrip>
</quote>
+
<sect1>tgi_outtext<label id="tgi_outtext"><p>
<quote>
</descrip>
</quote>
+
<sect1>tgi_outtextxy<label id="tgi_outtextxy"><p>
<quote>
</descrip>
</quote>
+
+<sect1>tgi_pieslice<label id="tgi_pieslice"><p>
+
+<quote>
+<descrip>
+<tag/Function/Draw an elliptic pie slice in the current color.
+<tag/Header/<tt/<ref id="tgi.h" name="tgi.h">/
+<tag/Declaration/<tt/void __fastcall__ tgi_pie slice (int x, int y,
+unsigned char rx, unsigned char ry, unsigned sa, unsigned ea);/
+<tag/Description/The function draws an elliptic pie slice with center at x/y
+and radii rx/ry using the current drawing color. The pie slice covers the angle
+between sa and ea (startangle and endangle), which must be in the range
+0..360.
+<tag/Limits/<itemize>
+<item>The function is only available as fastcall function, so it may only
+be used in presence of a prototype.
+<item>The function behaves unexpectedly or may crash if the angles are out
+of range.
+</itemize>
+<tag/Availability/cc65
+<tag/See also/
+<ref id="tgi_bar" name="tgi_arc">,
+<ref id="tgi_bar" name="tgi_bar">,
+<ref id="tgi_circle" name="tgi_circle">,
+<ref id="tgi_ellipse" name="tgi_ellipse">,
+<ref id="tgi_setcolor" name="tgi_setcolor">
+<tag/Example/<verb>
+/* Draw the closed upper half of an ellipse */
+tgi_setcolor(TGI_COLOR_BLUE);
+tgi_pieslice (50, 50, 40, 20, 0, 180);
+</verb>
+</descrip>
+</quote>
+
+
<sect1>tgi_setcolor<label id="tgi_setcolor"><p>
<quote>
--- /dev/null
+/*****************************************************************************/
+/* */
+/* tgi_pieslice.c */
+/* */
+/* Draw an ellipic pie slice */
+/* */
+/* */
+/* */
+/* (C) 2009, Ullrich von Bassewitz */
+/* Roemerstrasse 52 */
+/* D-70794 Filderstadt */
+/* EMail: uz@cc65.org */
+/* */
+/* */
+/* This software is provided 'as-is', without any expressed or implied */
+/* warranty. In no event will the authors be held liable for any damages */
+/* arising from the use of this software. */
+/* */
+/* Permission is granted to anyone to use this software for any purpose, */
+/* including commercial applications, and to alter it and redistribute it */
+/* freely, subject to the following restrictions: */
+/* */
+/* 1. The origin of this software must not be misrepresented; you must not */
+/* claim that you wrote the original software. If you use this software */
+/* in a product, an acknowledgment in the product documentation would be */
+/* appreciated but is not required. */
+/* 2. Altered source versions must be plainly marked as such, and must not */
+/* be misrepresented as being the original software. */
+/* 3. This notice may not be removed or altered from any source */
+/* distribution. */
+/* */
+/*****************************************************************************/
+
+
+
+#include <tgi.h>
+#include <tgi/tgi-kernel.h>
+#include <cc65.h>
+
+
+
+/*****************************************************************************/
+/* Code */
+/*****************************************************************************/
+
+
+
+void __fastcall__ tgi_pieslice (int x, int y, unsigned char rx, unsigned char ry,
+ unsigned sa, unsigned ea)
+/* Draw an ellipse pie slice with center at x/y and radii rx/ry using the
+ * current drawing color. The pie slice covers the angle between sa and ea
+ * (startangle and endangle), which must be in the range 0..360 (otherwise the
+ * function may behave unextectedly).
+ */
+{
+ /* Draw an arc ... */
+ tgi_arc (x, y, rx, ry, sa, ea);
+
+ /* ... and close it */
+ tgi_line (x, y, x + tgi_imulround (rx, cc65_cos (sa)), y - tgi_imulround (ry, cc65_sin (sa)));
+ tgi_line (x, y, x + tgi_imulround (rx, cc65_cos (ea)), y - tgi_imulround (ry, cc65_sin (ea)));
+}
+
+
+