Moved fixed point multiplication and rounding into an asm module.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4447 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2009-11-05 20:16:43 +00:00
parent de6050f21d
commit 787f069738
6 changed files with 75 additions and 17 deletions

View File

@@ -218,6 +218,14 @@ void __fastcall__ tgi_ellipse (int x, int y, unsigned char rx, unsigned char ry)
* drawing color.
*/
void __fastcall__ tgi_arc (int x, int y, unsigned char rx, unsigned char ry,
unsigned sa, unsigned ea);
/* Draw an ellipse arc with center at x/y and 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 (otherwise the function may
* bevave unextectedly).
*/
void __fastcall__ tgi_bar (int x1, int y1, int x2, int y2);
/* Draw a bar (a filled rectangle) using the current color. */

View File

@@ -44,7 +44,7 @@
/* TGI kernel variables */
/* TGI kernel variables */
extern void* tgi_drv; /* Pointer to driver */
extern unsigned char tgi_error; /* Last error code */
extern unsigned char tgi_gmode; /* Flag: Graphics mode active */
@@ -68,6 +68,11 @@ extern unsigned tgi_aspectratio;/* Aspect ratio as fixed point 8.8 */
const char* __fastcall__ tgi_map_mode (unsigned char mode);
/* Map a tgi mode to a driver name. Returns NULL if no driver available. */
int __fastcall__ tgi_imulround (int rhs, int lhs);
/* Helper function for functions using sine/cosine: Multiply two values, one
* being an 8.8 fixed point one, and return the rounded and scaled result.
*/
/* End of tgi-kernel.h */