;Assembler header file for NumberRange
;written by DefMod (Oct 26 2000) on Tue Dec 12 19:35:22 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_Gadget
        GBLS    Get_Gadget
        ]
        [       :LNOT: :DEF: Gadget_Hdr
Get_Gadget                      SETS    "GET OSLib:oslib.Hdr.Gadget"
        |
Get_Gadget                      SETS    ""
        ]
        $Get_Gadget

        [       :LNOT: :DEF: NumberRange_Hdr
        GBLS    NumberRange_Hdr

;Symbols for constants
Class_NumberRange               *       &340
NumberRange_GenerateValueChanged *       &1
NumberRange_Writable            *       &4
NumberRange_HasNumericalDisplay *       &8
NumberRange_Adjusters           *       &10
NumberRange_SliderType          *       &E0
NumberRange_SliderTypeShift     *       5
NumberRange_SliderTypeNone      *       0
NumberRange_SliderTypeRight     *       1
NumberRange_SliderTypeLeft      *       2
NumberRange_RJustified          *       &100
NumberRange_HCentred            *       &200
NumberRange_KnobColour          *       &F000
NumberRange_KnobColourShift     *       12
NumberRange_WellColour          *       &F0000
NumberRange_WellColourShift     *       16
NumberRange_GetNumericalField   *       &1
NumberRange_GetLeftAdjuster     *       &2
NumberRange_GetRightAdjuster    *       &4
NumberRange_GetSlider           *       &8
NumberRange_BoundLower          *       &1
NumberRange_BoundUpper          *       &2
NumberRange_BoundStep           *       &4
NumberRange_BoundPrecision      *       &8
Action_NumberRangeValueChanged  *       &8288D

;Symbols for structure offsets and sizes
                                ^       0
NumberRange_Gadget_lower_bound  #       Int
NumberRange_Gadget_upper_bound  #       Int
NumberRange_Gadget_step_size    #       Int
NumberRange_Gadget_initial_value #       Int
NumberRange_Gadget_precision    #       Int
NumberRange_Gadget_prev         #       Toolbox_C
NumberRange_Gadget_next         #       Toolbox_C
NumberRange_Gadget_display_length #       Int
NumberRange_Gadget              *       @

                                ^       0
NumberRange_Object_lower_bound  #       Int
NumberRange_Object_upper_bound  #       Int
NumberRange_Object_step_size    #       Int
NumberRange_Object_initial_value #       Int
NumberRange_Object_precision    #       Int
NumberRange_Object_prev         #       Toolbox_C
NumberRange_Object_next         #       Toolbox_C
NumberRange_Object_display_length #       Int
NumberRange_Object              *       @

NumberRange_BoundsFlags         *       Bits

                                ^       0
NumberRange_ActionValueChanged_new_value #       Int
NumberRange_ActionValueChanged  *       @

                                ^       0
NumberRange_ActionValueChangedBlock_new_value #       Int
NumberRange_ActionValueChangedBlock *       @


;Symbols for SWI's and SWI reason codes
NumberRange_SetValue            *       &340
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = window (Toolbox_O)
   ;  R2 = &340
   ;  R3 = number_range (Toolbox_C)
   ;  R4 = value (Int)

NumberRange_GetValue            *       &341
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = window (Toolbox_O)
   ;  R2 = &341
   ;  R3 = number_range (Toolbox_C)
   ;Exit
   ;  R0 = value (Int)

NumberRange_SetBounds           *       &342
   ;Entry
   ;  R0 = flags (NumberRange_BoundsFlags)
   ;  R1 = window (Toolbox_O)
   ;  R2 = &342
   ;  R3 = number_range (Toolbox_C)
   ;  R4 = lower_bound (Int)
   ;  R5 = upper_bound (Int)
   ;  R6 = step_size (Int)
   ;  R7 = precision (Int)

NumberRange_GetBounds           *       &343
   ;Entry
   ;  R0 = flags (NumberRange_BoundsFlags)
   ;  R1 = window (Toolbox_O)
   ;  R2 = &343
   ;  R3 = number_range (Toolbox_C)
   ;Exit
   ;  R0 = lower_bound (Int)
   ;  R1 = upper_bound (Int)
   ;  R2 = step_size (Int)
   ;  R3 = precision (Int)

NumberRange_GetComponents       *       &344
   ;Entry
   ;  R0 = flags (Bits)
   ;  R1 = window (Toolbox_O)
   ;  R2 = &344
   ;  R3 = number_range (Toolbox_C)
   ;Exit
   ;  R0 = numeric_field (Toolbox_C)
   ;  R1 = down (Toolbox_C)
   ;  R2 = up (Toolbox_C)
   ;  R3 = slider (Toolbox_C)

        ]
        END
