 * $Revision Header *** Header built automatically - do not edit! ***********
 *
 *	(C) Copyright 1991 by Torsten Jürgeleit
 *
 *	Name .....: libstubs.asm
 *	Created ..: Sunday 22-Dec-91 20:35:14
 *	Revision .: 0
 *
 *	Date        Author                 Comment
 *	=========   ====================   ====================
 *	22-Dec-91   Torsten Jürgeleit      Created this file!
 *
 ****************************************************************************
 *
 *	Damned library stub codes needed, to save a4 (data segment ptr) +
 *	a6 (scratch reg for #pragma amicall) and call _geta4(), because
 *	Manx v5.0d #pragma intfunc don't work, arrgh !!!
 *
 * $Revision Header ********************************************************

;---------------------------------------------------------------------------
; External definitions
;---------------------------------------------------------------------------

	XDEF	_IGetRenderInfo
	XDEF	_IFreeRenderInfo
	XDEF	_IOpenWindow
	XDEF	_IClearWindow
	XDEF	_ICloseWindow
	XDEF	_IAvailFonts
	XDEF	_IAskFont
	XDEF	_IOpenFont

	XDEF	_IDisplayTexts
	XDEF	_IPrintText
	XDEF	_IConvertUnsignedDec
	XDEF	_IConvertSignedDec
	XDEF	_IConvertHex
	XDEF	_IConvertBin

	XDEF	_IDisplayBorders
	XDEF	_IDrawBorder

	XDEF	_ICreateGadgets
	XDEF	_IFreeGadgets
	XDEF	_IDisplayGadgets
	XDEF	_IRefreshGadgets
	XDEF	_ISetGadgetAttributes
	XDEF	_IActivateInputGadget
	XDEF	_IGadgetAddress
	XDEF	_IRemoveGadgets
	XDEF	_IGetMsg
	XDEF	_IReplyMsg

	XDEF	_IAutoRequest
	XDEF	_IDisplayRequester
	XDEF	_IRemoveRequester

	XDEF	_ICreateMenu
	XDEF	_IAttachMenu
	XDEF	_IMenuItemAddress
	XDEF	_IRemoveMenu
	XDEF	_IFreeMenu

	XDEF	_IOpenTextFile
	XDEF	_IReadTextLine
	XDEF	_ICloseTextFile

	XDEF	_IBuildLanguageTextArray
	XDEF	_IGetLanguageText
	XDEF	_IFreeLanguageTextArray

	XDEF	_IChangeMousePointer
	XDEF	_IRestoreMousePointer
	XDEF	_IMoveMousePointer

;---------------------------------------------------------------------------
; Support macros
;---------------------------------------------------------------------------

CALL	MACRO
	XREF	\1
	jsr	\1
	ENDM

PUSH	MACRO
	movem.l	\1,-(sp)
	ENDM

PULL	MACRO
	movem.l	(sp)+,\1
	ENDM

;---------------------------------------------------------------------------
; Render functions
;---------------------------------------------------------------------------

_IGetRenderInfo:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_get_render_info
	PULL	a4/a6
	rts

_IFreeRenderInfo:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_free_render_info
	PULL	a4/a6
	rts

_IOpenWindow:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_open_window
	PULL	a4/a6
	rts

_IClearWindow:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_clear_window
	PULL	a4/a6
	rts

_ICloseWindow:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_close_window
	PULL	a4/a6
	rts

_IAvailFonts:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_avail_fonts
	PULL	a4/a6
	rts

_IAskFont:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_ask_font
	PULL	a4/a6
	rts

_IOpenFont:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_open_font
	PULL	a4/a6
	rts

;---------------------------------------------------------------------------
; Text functions
;---------------------------------------------------------------------------

_IDisplayTexts:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_display_texts
	PULL	a4/a6
	rts

_IPrintText:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_print_text
	PULL	a4/a6
	rts

_IConvertUnsignedDec:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_convert_unsigned_dec
	PULL	a4/a6
	rts

_IConvertSignedDec:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_convert_signed_dec
	PULL	a4/a6
	rts

_IConvertHex:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_convert_hex
	PULL	a4/a6
	rts

_IConvertBin:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_convert_bin
	PULL	a4/a6
	rts

;---------------------------------------------------------------------------
; Border functions
;---------------------------------------------------------------------------

_IDisplayBorders:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_display_borders
	PULL	a4/a6
	rts

_IDrawBorder:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_draw_border
	PULL	a4/a6
	rts

;---------------------------------------------------------------------------
; Gadget functions
;---------------------------------------------------------------------------

_ICreateGadgets:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_create_gadgets
	PULL	a4/a6
	rts

_IFreeGadgets:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_free_gadgets
	PULL	a4/a6
	rts

_IDisplayGadgets:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_display_gadgets
	PULL	a4/a6
	rts

_IRefreshGadgets:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_refresh_gadgets
	PULL	a4/a6
	rts

_ISetGadgetAttributes:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_set_gadget_attributes
	PULL	a4/a6
	rts

_IActivateInputGadget:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_activate_input_gadget
	PULL	a4/a6
	rts

_IGadgetAddress:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_gadget_address
	PULL	a4/a6
	rts

_IRemoveGadgets:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_remove_gadgets
	PULL	a4/a6
	rts

_IGetMsg:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_get_msg
	PULL	a4/a6
	rts

_IReplyMsg:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_reply_msg
	PULL	a4/a6
	rts

;---------------------------------------------------------------------------
; Requester functions
;---------------------------------------------------------------------------

_IAutoRequest:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_auto_request
	PULL	a4/a6
	rts

_IDisplayRequester:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_display_requester
	PULL	a4/a6
	rts

_IRemoveRequester:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_remove_requester
	PULL	a4/a6
	rts

;---------------------------------------------------------------------------
; Menu functions
;---------------------------------------------------------------------------

_ICreateMenu:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_create_menu
	PULL	a4/a6
	rts

_IAttachMenu:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_attach_menu
	PULL	a4/a6
	rts

_IMenuItemAddress:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_menu_item_address
	PULL	a4/a6
	rts

_IRemoveMenu:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_remove_menu
	PULL	a4/a6
	rts

_IFreeMenu:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_free_menu
	PULL	a4/a6
	rts

;---------------------------------------------------------------------------
; Text file functions
;---------------------------------------------------------------------------

_IOpenTextFile:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_open_text_file
	PULL	a4/a6
	rts

_IReadTextLine:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_read_text_line
	PULL	a4/a6
	rts

_ICloseTextFile:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_close_text_file
	PULL	a4/a6
	rts

;---------------------------------------------------------------------------
; Language functions
;---------------------------------------------------------------------------

_IBuildLanguageTextArray:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_build_language_text_array
	PULL	a4/a6
	rts

_IGetLanguageText:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_get_language_text
	PULL	a4/a6
	rts

_IFreeLanguageTextArray:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_free_language_text_array
	PULL	a4/a6
	rts

;---------------------------------------------------------------------------
; Mouse pointer functions
;---------------------------------------------------------------------------

_IChangeMousePointer:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_change_mouse_pointer
	PULL	a4/a6
	rts

_IRestoreMousePointer:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_restore_mouse_pointer
	PULL	a4/a6
	rts

_IMoveMousePointer:
	PUSH	a4/a6
	CALL	_geta4
	CALL	_move_mouse_pointer
	PULL	a4/a6
	rts


	END
