implement a ruler constrained to some (optional)  dragBounds