protected fun setWidth(width: Int): Unit
Can be called by subclasses whose width is guaranteed to never change, so we can cache this value. For window surfaces, this should not be called.