Implementations should override this method.
Care should be taken to not draw outside of the content area.