Más allá de las grandes novedades incluidas en Xojo 2020r2, también se han añadido algunas nuevas propiedades y métodos a la clase Graphics que enriquecerán aun más el dibujado de tus controles.
Por ejemplo, ya no estás limitado al uso de líneas sólidas como única opción en el dibujado de los contornos de líneas, rectángulos, círculos, óvalos o trazados vectoriales. A partir de ahora podrás definir la propiedad LineDash con el patrón de línea que quieras, además de poder ajustar también las propiedades LineDashOffset, LineCap y LineJoin de entre los tipos soportados.
Además, el relleno de los dibujados tampoco tiene por qué limitarse al uso de colores sólidos de ahora en adelante. La clase Graphic incorpora ahora la propiedad Brush, de modo que puedas crear cualquiera de los tres tipos de pinceles soportados y asignarlos a dicha propiedad. Por ejemplo, puedes definir degradados de color de un modo realmente sencillo, creando para ello instancias a partir de las clases LinearGradientBrush o RadialGradientBrush, y asignar dicha instancia a la propiedad Brush. Por supuesto, puedes definir tantos puntos de parada como precises, con el color deseado en cada uno de ellos, para crear transiciones suaves de un color a otro en tu degradado durante el proceso de rellenado de color.
Y lo que es mejor, tampoco estás limitado al uso de colores sólidos o degradados de color para tus rellenos. El tercer tipo de instancia soportada y que puedes asignar a la propiedad Brush es la creada a partir de la clase PictureBrush. En esta puedes definir la imagen a utilizar para el rellenado, así como el modo de dibujado o repetición de entre las opciones disponibles: Pad, Tile o Mirror.
Por último, otra de las operaciones habituales en el dibujado es la de proporcionar un sombreado al texto o las formas dibujadas; y ahora también se puede realizar de forma notablemente sencilla gracias a la combinación de la propiedad ShadowBrush en la clase Graphics y la capacidad de crear nuevas instancias a partir de la clase ShadowBrush.
De hecho, cuando se utiliza el constructor por defecto de la clase ShadowBrush, ya tendrás todo lo necesario para aplicar la sombra: un color por defecto, el desplazamiento sobre las coordenadas X e Y, y también una cantidad de desenfoque predeterminada. Por supuesto, puedes definir cualquiera de estas propiedades con los valores que necesites en tus instancias de ShadowBrush.