;Assembler header file for FontDbox
;written by DefMod (Oct 26 2000) on Tue Dec 12 19:35:26 2000
;Jonathan Coxhead, jonathan@doves.demon.co.uk, 5 Sept 1995

        [       :LNOT: :DEF: Get_Types
        GBLS    Get_Types
        ]
        [       :LNOT: :DEF: Types_Hdr
Get_Types                       SETS    "GET OSLib:oslib.Hdr.Types"
        |
Get_Types                       SETS    ""
        ]
        $Get_Types

        [       :LNOT: :DEF: Get_Toolbox
        GBLS    Get_Toolbox
        ]
        [       :LNOT: :DEF: Toolbox_Hdr
Get_Toolbox                     SETS    "GET OSLib:oslib.Hdr.Toolbox"
        |
Get_Toolbox                     SETS    ""
        ]
        $Get_Toolbox

        [       :LNOT: :DEF: Get_Window
        GBLS    Get_Window
        ]
        [       :LNOT: :DEF: Window_Hdr
Get_Window                      SETS    "GET OSLib:oslib.Hdr.Window"
        |
Get_Window                      SETS    ""
        ]
        $Get_Window

        [       :LNOT: :DEF: FontDbox_Hdr
        GBLS    FontDbox_Hdr

;Symbols for constants
Class_FontDbox                  *       &82A00
FontDbox_SetHeight              *       &1
FontDbox_SetAspect              *       &2
FontDbox_GenerateAboutToBeShown *       &1
FontDbox_GenerateDialogueCompleted *       &2
FontDbox_IncludeSystemFont      *       &4
FontDbox_Apply                  *       &82A0000
FontDbox_Cancel                 *       &82A0001
FontDbox_Try                    *       &82A0002
FontDbox_TryString              *       &82A0003
FontDbox_AspectRatio            *       &82A0004
FontDbox_Height                 *       &82A0005
FontDbox_StandardSize0          *       &82A0006
FontDbox_StandardSize1          *       &82A0007
FontDbox_StandardSize2          *       &82A0008
FontDbox_StandardSize3          *       &82A0009
FontDbox_StandardSize4          *       &82A000A
FontDbox_StandardSize5          *       &82A000B
FontDbox_StandardSize6          *       &82A000C
FontDbox_StandardSize7          *       &82A000D
FontDbox_StandardSize8          *       &82A000E
FontDbox_StandardSize9          *       &82A000F
FontDbox_Style                  *       &82A0010
FontDbox_Weight                 *       &82A0011
FontDbox_Font                   *       &82A0012
Action_FontDboxAboutToBeShown   *       &82A00
Action_FontDboxDialogueCompleted *       &82A01
Action_FontDboxApplyFont        *       &82A02
Error_FontDboxTasksActive       *       &80AF00
Error_FontDboxAllocFailed       *       &80AF01
Error_FontDboxShortBuffer       *       &80AF02
Error_FontDboxNoSuchTask        *       &80AF11
Error_FontDboxNoSuchMethod      *       &80AF12
Error_FontDboxNoSuchMiscOpMethod *       &80AF13
Error_FontDboxNoSuchFont        *       &80AF14
Error_FontDboxNoFonts           *       &80AF21
Error_FontDboxOutOfMessageSpace *       &80AF31

;Symbols for structure offsets and sizes
FontDbox_Flags                  *       Bits

                                ^       0
FontDbox_Font_font              #       Toolbox_StringReference
FontDbox_Font_height            #       Int
FontDbox_Font_aspect            #       Int
FontDbox_Font                   *       @

                                ^       0
FontDbox_Object_flags           #       FontDbox_Flags
FontDbox_Object_title           #       Toolbox_MsgReference
FontDbox_Object_title_limit     #       Int
FontDbox_Object_initial         #       FontDbox_Font
FontDbox_Object_try_string      #       Toolbox_MsgReference
FontDbox_Object_alternative_window_name #       Toolbox_StringReference
FontDbox_Object                 *       @

                                ^       0
FontDbox_ObjectTemplate_objectflags #       FontDbox_Flags
FontDbox_ObjectTemplate_title   #       Toolbox_MsgReference
FontDbox_ObjectTemplate_title_limit #       Int
FontDbox_ObjectTemplate_initial #       FontDbox_Font
FontDbox_ObjectTemplate_try_string #       Toolbox_MsgReference
FontDbox_ObjectTemplate_alternative_window_name #       Toolbox_StringReference
FontDbox_ObjectTemplate         *       @

FontDbox_Full                   *       Toolbox_Full

                                ^       0
FontDbox_ActionAboutToBeShown_tag #       Toolbox_PositionTag
FontDbox_ActionAboutToBeShown_position *       @
FontDbox_ActionAboutToBeShown_position_top_left #       OS_Coord
                                ^       FontDbox_ActionAboutToBeShown_position
FontDbox_ActionAboutToBeShown_position_full #       FontDbox_Full
FontDbox_ActionAboutToBeShown   *       @

                                ^       0
FontDbox_ActionAboutToBeShownBlock_tag #       Toolbox_PositionTag
FontDbox_ActionAboutToBeShownBlock_position *       @
FontDbox_ActionAboutToBeShownBlock_position_top_left #       OS_Coord
                                ^       FontDbox_ActionAboutToBeShownBlock_position
FontDbox_ActionAboutToBeShownBlock_position_full #       FontDbox_Full
FontDbox_ActionAboutToBeShownBlock *       @

FontDbox_ActionDialogueCompletedBlock *       Toolbox_ActionHeaderBase

                                ^       0
FontDbox_ActionApplyFont_height #       Int
FontDbox_ActionApplyFont_aspect #       Int
FontDbox_ActionApplyFont_font   #       208*Char
FontDbox_ActionApplyFont        *       @

                                ^       0
FontDbox_ActionApplyFontBlock_height #       Int
FontDbox_ActionApplyFontBlock_aspect #       Int
FontDbox_ActionApplyFontBlock_font #       208*Char
FontDbox_ActionApplyFontBlock   *       @


;Symbols for SWI's and SWI reason codes
XFontDbox_ClassSWI              *       &A2A00
FontDbox_ClassSWI               *       &82A00

XFontDbox_PostFilter            *       &A2A01
FontDbox_PostFilter             *       &82A01

XFontDbox_PreFilter             *       &A2A02
FontDbox_PreFilter              *       &82A02

FontDbox_GetWindowId            *       &0
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = font_dbox (Toolbox_O)
   ;  R2 = &0
   ;Exit
   ;  R0 = window (Toolbox_O)

FontDbox_SetFont                *       &1
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = font_dbox (Toolbox_O)
   ;  R2 = &1
   ;  R3 -> font_identifier (String)

FontDbox_GetFont                *       &2
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = font_dbox (Toolbox_O)
   ;  R2 = &2
   ;  R3 = buffer (pointer to String)
   ;  R4 = size (Int)
   ;Exit
   ;  R4 = used (Int)

FontDbox_SetSize                *       &3
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = font_dbox (Toolbox_O)
   ;  R2 = &3
   ;  R3 = height (Int)
   ;  R4 = aspect (Int)

FontDbox_GetSize                *       &4
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = font_dbox (Toolbox_O)
   ;  R2 = &4
   ;Exit
   ;  R0 = height (Int)
   ;  R1 = aspect (Int)

FontDbox_SetTryString           *       &5
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = font_dbox (Toolbox_O)
   ;  R2 = &5
   ;  R3 -> try_string (String)

FontDbox_GetTryString           *       &6
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = font_dbox (Toolbox_O)
   ;  R2 = &6
   ;  R3 = buffer (pointer to String)
   ;  R4 = size (Int)
   ;Exit
   ;  R4 = used (Int)

FontDbox_SetTitle               *       &7
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = font_dbox (Toolbox_O)
   ;  R2 = &7
   ;  R3 -> title (String)

FontDbox_GetTitle               *       &8
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = font_dbox (Toolbox_O)
   ;  R2 = &8
   ;  R3 = buffer (pointer to String)
   ;  R4 = size (Int)
   ;Exit
   ;  R4 = used (Int)

        ]
        END
