
View/Controller
	View
	Cursor
		Position(inDocument)
		VPosition(visible document position)
		MouseInput
		KeyInput
		Selected(Change Bacgkround/Text colors)
	Scrollbar
		Lensbar

	ColorHilighting
	OverlayView

Document
	+PieceTree
	+
	Event
	BackupThread
	Undo/Redo with Tree


Color Hilighting
	Hilight Background(like selected)
	Text Color
	

Caret Type
	yt: y of line
	y:  yt + config_.ByteMargin.top()

* focus
	Line:		Fill(x, y, width, height) = (x, yt, 1px, byteHeight())
	Block:		Fill(x, y, width, height) = (x, yt, charWidth(1), byteHeight())
* not
	MiniBlock:	Fill(x, y, width, height) = (x, yt + byteHeight() / 3, charWidth(1), byteHeight() - (byteHeight() / 3))
	Wall:		Line(x, yt,                x + charWidth(), y)                horizon
				Line(x, yt + byteHeight(), x + charWidth(), y + byteHeight()) horizon

				Line(x,               yt, x,               yt + charWidth())  vertical
				Line(x + byteWidth(), yt, x + byteWidth(), yt + charWidth())  vertical

