¿Cuál es la mejor alternativa a `canvas.clipRect` con` Region.Op.REPLACE`?

Fond

Estoy trabajando en una biblioteca que tiene muchos dibujos de lienzo en lugar de múltiples vistas (disponibleaqu).

El problem

Mientras trabajo para mejorarlo y hacerlo funcionar para nuestras necesidades de la aplicación (necesito algo de personalización), noté que hay algunas líneas que están marcadas como obsoletas:

canvas.clipRect(0f, mHeaderHeight + mHeaderRowPadding * 2, mHeaderColumnWidth, height.toFloat(), Region.Op.REPLACE)

Thing es que no creo que haya un buen candidato para reemplazar esta línea de código con las API más nuevas

Lo que he encontrado

Mirando athe docs, esto es lo que está escrito:

Este método fue desaprobado en el nivel 26 de API. Los valores de Region.Op que no sean INTERSECT y DIFFERENCE tienen la capacidad de expandir el clip. Las API de recorte de lienzo están destinadas a expandir solo el clip como resultado de una operación de restauración. Esto permite que una vista principal recorte un lienzo para definir claramente el área de dibujo máxima de sus elementos secundarios. Las llamadas alternativas recomendadas son clipRect (RectF) y clipOutRect (RectF);

sí que intenté usar cualquiera de esas funciones, pero ambas causaron problemas con el dibujo de cómo solía ser.

irando la depreciación, parece que la función en sí está marcada, pero no Region.Op.REPLACE:

Así que tal vez realmente no tiene una alternativa ...

Las preguntaCuál es la mejor alternativa en este caso? ¿Por qué exactamente fue desaprobado?A diferencia de algunas funciones obsoletas, supongo que esta debería ser segura de usar en caso de que no pueda encontrar una alternativa, ¿verdad?

Respuestas a la pregunta(1)

Su respuesta a la pregunta