class
	WEL_SCROLLER

General
	cluster: wel
	description: "This class processes the scroll messages associated to a window."
	create: make_with_options, make

Ancestors
	ANY
	WEL_SB_CONSTANTS
	WEL_SCROLL_BAR_CONSTANTS

Queries
	horizontal_line: INTEGER_32
	horizontal_page: INTEGER_32
	horizontal_position: INTEGER_32
	maximal_horizontal_position: INTEGER_32
	maximal_vertical_position: INTEGER_32
	minimal_horizontal_position: INTEGER_32
	minimal_vertical_position: INTEGER_32
	valid_maximal_horizontal_position (a_position: INTEGER_32): BOOLEAN
	valid_maximal_vertical_position (a_position: INTEGER_32): BOOLEAN
	vertical_line: INTEGER_32
	vertical_page: INTEGER_32
	vertical_position: INTEGER_32
	window: WEL_COMPOSITE_WINDOW

Commands
	horizontal_update (inc, position: INTEGER_32)
	make (a_window: WEL_COMPOSITE_WINDOW; horizontal_size, vertical_size, line, page: INTEGER_32)
	make_with_options (a_window: WEL_COMPOSITE_WINDOW; a_minimal_horizontal_position, a_maximal_horizontal_position, a_minimal_vertical_position, a_maximal_vertical_position, a_horizontal_line, a_horizontal_page, a_vertical_line, a_vertical_page: INTEGER_32)
	on_horizontal_scroll (scroll_code, pos: INTEGER_32)
	on_vertical_scroll (scroll_code, pos: INTEGER_32)
	set_horizontal_line (unit: INTEGER_32)
	set_horizontal_page (page_magnitude: INTEGER_32)
	set_horizontal_position (position: INTEGER_32)
	set_horizontal_range (minimum, maximum: INTEGER_32)
	set_vertical_line (unit: INTEGER_32)
	set_vertical_page (page_magnitude: INTEGER_32)
	set_vertical_position (position: INTEGER_32)
	set_vertical_range (minimum, maximum: INTEGER_32)
	vertical_update (inc, position: INTEGER_32)

Constraints
	window not void
	horizontal position small enough
	horizontal position large enough
	vertical position small enough
	vertical position large enough
	consistent horizontal range
	consistent vertical range
	positive horizontal line
	positive vertical line
	positive horizontal page
	positive vertical page