ScrollableWindow::doit:
		link	$1
		pToa	scrollLeft
		bnt	code_00a7
		dpToa	scrollLeft
		pushi	$2d9		; 729, scrollTo
		push1
		pushi	$6		; maxScale
		self	$6
		bnot
code_00a7:	pToa	pChanged
		bnt	code_00b8
		push2
		pushi	$14		; 20, nsRight
		pTos	kWindow
		callk	kernel_76, $4
		bnot
		ldi	$0
		aTop	pChanged
code_00b8:	ret

ScrollableWindow::setSize:
		ret

ScrollableWindow::draw:
		pushi	$75		; 117, 'u', show
		push0
		self	$4
		bnot
		ret

ScrollableWindow::contains:
		link	$1
		lsp	param[$0]
		ldi	$2
		eq?
		bnt	code_00e5
		pTos	top
		lap	param[$2]
		le?
		bnt	code_014c
		pprev
		pToa	bottom
		le?
		bnt	code_014c
		pTos	left
		lap	param[$1]
		le?
		bnt	code_014c
		pprev
		pToa	right
		le?
		jmp	code_014c

code_00e5:	pushi	$99		; 153, respondsTo
		push1
		push1
		lap	param[$1]
		send	$6
		bnot
		bnt	code_0116
		pushi	$99		; 153, respondsTo
		push1
		push2
		lap	param[$1]
		send	$6
		bnot
		bnt	code_0116
		pushi	$a3		; 163, contains
		push2
		push1
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		push2
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		self	$8
		bnot
		jmp	code_014c

code_0116:	pTos	top
		pushi	$89		; 137, top
		push0
		lap	param[$1]
		send	$4
		bnot
		le?
		bnt	code_014c
		pTos	bottom
		pushi	$8a		; 138, bottom
		push0
		lap	param[$1]
		send	$4
		bnot
		ge?
		bnt	code_014c
		pTos	left
		pushi	$87		; 135, left
		push0
		lap	param[$1]
		send	$4
		bnot
		le?
		bnt	code_014c
		pTos	right
		pushi	$88		; 136, right
		push0
		lap	param[$1]
		send	$4
		bnot
		ge?
code_014c:	ret

ScrollableWindow::init:
		link	$1
		pushi	$9f		; 159, add
		push1
		pushSelf
		class	GlobalDemons
		send	$6
		bnot
		pToa	scrollSpeed
		aTop	seconds
		lap	param[$0]
		bnt	code_0192
		push
		ldi	$1
		eq?
		bnt	code_016d
		lap	param[$1]
		aTop	maxItems
		jmp	code_0192

code_016d:	ldi	$0
		lapi	param[$1]
		aTop	left
		ldi	$1
		lapi	param[$1]
		aTop	top
		ldi	$2
		lapi	param[$1]
		aTop	right
		ldi	$3		; z
		lapi	param[$1]
		aTop	bottom
		lsp	param[$0]
		ldi	$4		; scaleX
		gt?
		bnt	code_0192
		ldi	$4		; scaleX
		lapi	param[$1]
		aTop	maxItems
code_0192:	pToa	plane
		not
		bnt	code_01c3
		pushi	$8d		; 141, new
		push0
		class	Plane
		send	$4
		bnot
		aTop	plane
		pushi	$6d		; 109, 'm', picture
		push1
		pushi	$fe		; 254, strIndex
		pushi	$94		; 148, init
		push0
		pToa	plane
		send	$a
		bnot
		pushi	$b5		; 181, set
		pushi	$4		; scaleX
		pTos	left
		pTos	top
		pTos	right
		pTos	bottom
		pToa	plane
		send	$c
		bnot
code_01c3:	pushi	$3		; z
		push0
		pushSelf
		pTos	maxItems
		callk	kernel_76, $6
		bnot
		aTop	kWindow
		pushi	$8d		; 141, new
		push0
		class	Rect
		send	$4
		bnot
		sat	temp[$0]
		pushi	$e5		; 229, sizeToStr
		push2
		lofsa	string_004a	; "MMM"
		push
		pTos	font
		lat	temp[$0]
		send	$8
		bnot
		pushi	$e1		; 225, height
		push0
		lat	temp[$0]
		send	$4
		bnot
		push
		ldi	$3		; z
		add
		aTop	lineHeight
		pTos	bottom
		pToa	top
		sub
		push
		pushi	$3		; z
		pushi	$e1		; 225, height
		push0
		lat	temp[$0]
		send	$4
		bnot
		add
		div
		push
		ldi	$2
		add
		aTop	numLines
		pushi	$95		; 149, dispose
		push0
		lat	temp[$0]
		send	$4
		bnot
		pushi	$75		; 117, 'u', show
		push0
		self	$4
		bnot
		ret

ScrollableWindow::handleEvent:
		link	$1
		pushi	$2b		; 43, '+', type
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$4		; scaleX
		and
		bnt	code_0304
		pushi	$31		; 49, '1', message
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$4700		; 18176
		eq?
		bnt	code_0256
		pushi	$50		; 80, 'P', claimed
		push1
		push1
		lap	param[$1]
		send	$6
		bnot
		pushi	$2d9		; 729, scrollTo
		push1
		pushi	$7		; priority
		self	$6
		bnot
		jmp	code_0304

code_0256:	pushi	$31		; 49, '1', message
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$4900		; 18688
		eq?
		bnt	code_027a
		pushi	$50		; 80, 'P', claimed
		push1
		push1
		lap	param[$1]
		send	$6
		bnot
		pushi	$2d9		; 729, scrollTo
		push1
		pushi	$3		; z
		self	$6
		bnot
		jmp	code_0304

code_027a:	pushi	$31		; 49, '1', message
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$4800		; 18432
		eq?
		bnt	code_029d
		pushi	$50		; 80, 'P', claimed
		push1
		push1
		lap	param[$1]
		send	$6
		bnot
		pushi	$2d9		; 729, scrollTo
		push1
		pushi	$5		; scaleY
		self	$6
		bnot
		jmp	code_0304

code_029d:	pushi	$31		; 49, '1', message
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$5000		; 20480
		eq?
		bnt	code_02c0
		pushi	$50		; 80, 'P', claimed
		push1
		push1
		lap	param[$1]
		send	$6
		bnot
		pushi	$2d9		; 729, scrollTo
		push1
		pushi	$6		; maxScale
		self	$6
		bnot
		jmp	code_0304

code_02c0:	pushi	$31		; 49, '1', message
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$5100		; 20736
		eq?
		bnt	code_02e3
		pushi	$50		; 80, 'P', claimed
		push1
		push1
		lap	param[$1]
		send	$6
		bnot
		pushi	$2d9		; 729, scrollTo
		push1
		pushi	$4		; scaleX
		self	$6
		bnot
		jmp	code_0304

code_02e3:	pushi	$31		; 49, '1', message
		push0
		lap	param[$1]
		send	$4
		bnot
		push
		ldi	$4f00		; 20224
		eq?
		bnt	code_0304
		pushi	$50		; 80, 'P', claimed
		push1
		push1
		lap	param[$1]
		send	$6
		bnot
		pushi	$2d9		; 729, scrollTo
		push1
		pushi	$8		; fixPriority
		self	$6
		bnot
code_0304:	pushi	$50		; 80, 'P', claimed
		push0
		lap	param[$1]
		send	$4
		bnot
		ret

ScrollableWindow::show:
		push2
		pushi	$10		; 16, cel
		pTos	kWindow
		callk	kernel_76, $4
		bnot
		ret

ScrollableWindow::hide:
		push2
		pushi	$f		; 15, loop
		pTos	kWindow
		callk	kernel_76, $4
		bnot
		ret

ScrollableWindow::addString:
		link	$7
		lsp	param[$0]
		ldi	$1
		gt?
		bnt	code_0356
		lap	param[$2]
		sat	temp[$3]
		lsp	param[$0]
		ldi	$2
		gt?
		bnt	code_034c
		lap	param[$3]
		sat	temp[$2]
		lsp	param[$0]
		ldi	$3		; z
		gt?
		bnt	code_0346
		lap	param[$4]
		sat	temp[$1]
		jmp	code_0362

code_0346:	ldi	$0
		sat	temp[$1]
		jmp	code_0362

code_034c:	pToa	mode
		sat	temp[$2]
		ldi	$0
		sat	temp[$1]
		jmp	code_0362

code_0356:	ldi	$0
		sat	temp[$1]
		pToa	fore
		sat	temp[$3]
		pToa	mode
		sat	temp[$2]
code_0362:	pToa	itemList
		not
		bnt	code_0379
		pushi	$9f		; 159, add
		push0
		pushi	$8d		; 141, new
		push0
		class	List
		send	$4
		bnot
		aTop	itemList
		send	$4
		bnot
code_0379:	pushi	$5a		; 90, 'Z', size
		push0
		pToa	itemList
		send	$4
		bnot
		push
		pToa	maxItems
		eq?
		bnt	code_03a4
		pushi	$2d6		; 726, deleteString
		push1
		pushi	$4b		; 75, 'K', at
		push1
		push0
		pToa	itemList
		send	$6
		bnot
		sat	temp[$0]
		push
		self	$6
		bnot
		pushi	$58		; 88, 'X', delete
		push1
		lst	temp[$0]
		pToa	itemList
		send	$6
		bnot
code_03a4:	pushi	$9f		; 159, add
		push1
		pushi	$7		; priority
		push1
		pTos	kWindow
		lsp	param[$1]
		pTos	font
		lst	temp[$3]
		lst	temp[$2]
		lst	temp[$1]
		callk	kernel_76, $e
		bnot
		push
		pToa	itemList
		send	$6
		bnot
		pushi	$2d9		; 729, scrollTo
		push1
		pushi	$8		; fixPriority
		self	$6
		bnot
		ldi	$1
		aTop	pChanged
		ret

ScrollableWindow::deleteString:
		ldi	$1
		aTop	pChanged
		pushi	$3		; z
		pushi	$d		; 13, seenRect
		pTos	kWindow
		lsp	param[$1]
		callk	kernel_76, $6
		bnot
		ret

ScrollableWindow::modifyString:
		ret

ScrollableWindow::insertString:
		ldi	$1
		aTop	pChanged
		pushi	$3		; z
		pushi	$c		; 12, inBottom
		pTos	kWindow
		lsp	param[$1]
		&rest	$2
		callk	kernel_76, $6
		bnot
		ret

ScrollableWindow::erase:
		push2
		push2
		pTos	kWindow
		callk	kernel_76, $4
		bnot
		ret

ScrollableWindow::scrollTo:
		lsp	param[$1]
		ldi	$b		; 11, inRight
		eq?
		bnt	code_0414
		pushi	$4		; scaleX
		pushi	$b		; 11, inRight
		pTos	kWindow
		lsp	param[$2]
		lsp	param[$3]
		callk	kernel_76, $8
		bnot
		jmp	code_041d

code_0414:	push2
		lsp	param[$1]
		pTos	kWindow
		callk	kernel_76, $4
		bnot
code_041d:	ldi	$1
		aTop	pChanged
		ret

ScrollableWindow::move:
		lsp	param[$0]
		ldi	$2
		gt?
		bnt	code_044b
		lap	param[$3]
		bnt	code_044b
		pTos	left
		lap	param[$1]
		add
		aTop	left
		pTos	right
		lap	param[$1]
		add
		aTop	right
		pTos	top
		lap	param[$2]
		add
		aTop	top
		pTos	bottom
		lap	param[$2]
		add
		aTop	bottom
		jmp	code_0467

code_044b:	pTos	right
		lsp	param[$1]
		pToa	left
		sub
		add
		aTop	right
		pTos	bottom
		lsp	param[$2]
		pToa	top
		sub
		add
		aTop	bottom
		lap	param[$1]
		aTop	left
		lap	param[$2]
		aTop	top
code_0467:	pushi	$3		; z
		pushi	$9		; inLeft
		pTos	kWindow
		pushSelf
		callk	kernel_76, $6
		bnot
		ret

ScrollableWindow::resize:
		lsp	param[$0]
		ldi	$2
		gt?
		bnt	code_048e
		lap	param[$3]
		bnt	code_048e
		pTos	right
		lap	param[$1]
		add
		aTop	right
		pTos	bottom
		lap	param[$2]
		add
		aTop	bottom
		jmp	code_04a4

code_048e:	pTos	left
		lap	param[$1]
		add
		push
		ldi	$ff		; 255, asInteger
		add
		aTop	right
		pTos	top
		lap	param[$2]
		add
		push
		ldi	$ff		; 255, asInteger
		add
		aTop	bottom
code_04a4:	pushi	$3		; z
		pushi	$9		; inLeft
		pTos	kWindow
		pushSelf
		callk	kernel_76, $6
		bnot
		ret

ScrollableWindow::where:
		pushi	$3		; z
		pushi	$a		; 10, inTop
		pTos	kWindow
		lsp	param[$1]
		callk	kernel_76, $6
		bnot
		ret

ScrollableWindow::dispose:
		pushi	$58		; 88, 'X', delete
		push1
		pushSelf
		class	GlobalDemons
		send	$6
		bnot
		pToa	itemList
		bnt	code_04d5
		pushi	$a6		; 166, release
		push0
		pushi	$95		; 149, dispose
		push0
		send	$8
		bnot
code_04d5:	push2
		pushi	$11		; 17, bitmap
		pTos	kWindow
		callk	kernel_76, $4
		bnot
		pushi	$95		; 149, dispose
		push0
		super	Obj, $4
		bnot
		ret

