;* */
;* */
;* */
-;* (C) 2002-2004 Ullrich von Bassewitz */
-;* Römerstraße 52 */
-;* D-70794 Filderstadt */
-;* EMail: uz@cc65.org */
+;* (C) 2002-2009, Ullrich von Bassewitz */
+;* Roemerstrasse 52 */
+;* D-70794 Filderstadt */
+;* EMail: uz@cc65.org */
;* */
;* */
;* This software is provided 'as-is', without any expressed or implied */
YRES .word 1 ; Y resolution
COLORCOUNT .byte 1 ; Number of available colors
PAGECOUNT .byte 1 ; Number of screens available
- FONTSIZE_X .byte 1 ; System font size in X direction
- FONTSIZE_Y .byte 1 ; System font size in Y direction
+ FONTWIDTH .byte 1 ; System font width
+ FONTHEIGHT .byte 1 ; System font height
ASPECTRATIO .word 1 ; Fixed point 8.8 format
.endstruct
JUMPTAB .struct
TGI_API_VERSION = $03
;------------------------------------------------------------------------------
-; Text style constants
+; Color and text constants
+
+TGI_COLOR_BLACK = 0
+TGI_COLOR_WHITE = 1
+
+TGI_FONT_BITMAP = 0
+TGI_FONT_VECTOR = 1
TGI_TEXT_HORIZONTAL = 0
TGI_TEXT_VERTICAL = 1
;------------------------------------------------------------------------------
-; Variables
+; C accessible Variables
.global _tgi_drv ; Pointer to driver
.global _tgi_error ; Last error code
.global _tgi_curx ; Current drawing cursor X
.global _tgi_cury ; Current drawing cursor Y
.global _tgi_color ; Current drawing color
+ .global _tgi_font ; Which font to use
.global _tgi_textdir ; Current text direction
- .global _tgi_textmagx ; Text magnification in X dir
- .global _tgi_textmagy ; Text magnification in Y dir
+ .global _tgi_vectorfont ; Pointer to vector font
+ .global _tgi_textscalew ; Text magnification for the width
+ .global _tgi_textscaleh ; Text magnification for the height
+ .global _tgi_charwidth ; Width of scaled system font char
+ .global _tgi_charheight ; Height of scaled system font char
.global _tgi_xres ; X resolution of the current mode
.global _tgi_yres ; Y resolution of the current mode
+ .global _tgi_xmax ; Maximum X coordinate
+ .global _tgi_ymax ; Maximum Y coordinate
.global _tgi_colorcount ; Number of available colors
.global _tgi_pagecount ; Number of available screen pages
- .global _tgi_fontsizex ; System font X size
- .global _tgi_fontsizey ; System font Y size
+ .global _tgi_fontwidth ; System font width
+ .global _tgi_fontheight ; System font height
.global _tgi_aspectratio ; Aspect ratio, fixed point 8.8
+;------------------------------------------------------------------------------
+; ASM accessible Variables
+
+ .global tgi_clip_x1 ; Coordinate for line clipper
+ .global tgi_clip_y1 ; Coordinate for line clipper
+ .global tgi_clip_x2 ; Coordinate for line clipper
+ .global tgi_clip_y2 ; Coordinate for line clipper
+
;------------------------------------------------------------------------------
; Driver entry points
;------------------------------------------------------------------------------
; ASM functions
+ .global tgi_clippedline
+ .global tgi_curtoxy
.global tgi_getset
.global tgi_inv_arg
.global tgi_inv_drv
.global tgi_linepop
- .global tgi_set_ptr
.global tgi_popxy
.global tgi_popxy2
- .global tgi_curtoxy
+ .global tgi_set_ptr
;------------------------------------------------------------------------------
; C callable functions
- .global _tgi_load
- .global _tgi_load_driver
- .global _tgi_unload
- .global _tgi_install
- .global _tgi_uninstall
- .global _tgi_init
- .global _tgi_ioctl
+ .global _tgi_arc
+ .global _tgi_bar
+ .global _tgi_circle
+ .global _tgi_clear
.global _tgi_done
+ .global _tgi_ellipse
+ .global _tgi_getcolor
+ .global _tgi_getcolorcount
+ .global _tgi_getdefpalette
.global _tgi_geterror
.global _tgi_geterrormsg
- .global _tgi_clear
- .global _tgi_getpagecount
- .global _tgi_setviewpage
- .global _tgi_setdrawpage
- .global _tgi_getcolorcount
.global _tgi_getmaxcolor
- .global _tgi_setcolor
- .global _tgi_getcolor
- .global _tgi_setpalette
- .global _tgi_getpalette
- .global _tgi_getdefpalette
- .global _tgi_getxres
.global _tgi_getmaxx
- .global _tgi_getyres
.global _tgi_getmaxy
+ .global _tgi_getpagecount
+ .global _tgi_getpalette
.global _tgi_getpixel
- .global _tgi_setpixel
+ .global _tgi_getxres
+ .global _tgi_getyres
.global _tgi_gotoxy
+ .global _tgi_imulround
+ .global _tgi_init
+ .global _tgi_install
+ .global _tgi_install_vectorfont
+ .global _tgi_ioctl
.global _tgi_line
.global _tgi_lineto
- .global _tgi_circle
- .global _tgi_bar
- .global _tgi_textstyle
- .global _tgi_textwidth
- .global _tgi_textheight
+ .global _tgi_load
+ .global _tgi_load_driver
.global _tgi_outtext
.global _tgi_outtextxy
-
-
+ .global _tgi_pieslice
+ .global _tgi_setcolor
+ .global _tgi_setdrawpage
+ .global _tgi_setpalette
+ .global _tgi_setpixel
+ .global _tgi_setviewpage
+ .global _tgi_textheight
+ .global _tgi_textscale
+ .global _tgi_textstyle
+ .global _tgi_textwidth
+ .global _tgi_uninstall
+ .global _tgi_unload