Set widget rectangle to specified value and layout widget contents. (Step 2 of two phase layout).
Measure widget according to desired width and height constraints. (Step 1 of two phase layout).
Draw widget at its position to buffer
process mouse event; return true if event is processed by widget.