Clase wxBrush
Un pincel es una herramienta de dibujo para rellenar áreas.
Jerarquía:

Se utiliza para pintar el fondo de rectángulos, elipses, etc. Tiene un color y un estilo.
En una pantalla monocroma, wxWidgets muestra todos los pinceles como blancos a menos que el color sea realmente negro.
No se debe inicializar objetos en la pila antes de comenzar el programa, ya que otras estructuras necesarias pueden no haber sido configuradas todavía. En su lugar, definir punteros globales a los objetos y crearlos en wxApp::OnInit o cuando sea necesario.
Una aplicación puede desear crear pinceles con diferentes características dinámicamente, y existe el consiguiente peligro de que se cree un gran número de pinceles duplicados. Por lo tanto, una aplicación puede desear obtener un puntero a un pincel utilizando la lista global de pinceles wxTheBrushList, y llamando a la función miembro wxBrushList::FindOrCreateBrush().
Esta clase utiliza internamente el recuento de referencias y la copia en escritura para que las asignaciones entre dos instancias de esta clase sean muy baratas. Por lo tanto, se pueden utilizar objetos reales en lugar de punteros sin problemas de eficiencia. Si se cambia una instancia de esta clase, creará sus propios datos internamente de forma que otras instancias, que previamente compartían los datos usando el conteo de referencias, no se vean afectadas.
Objetos y punteros predefinidos
- wxNullBrush: Un pincel vacío. wxBrush::IsOk() siempre devuelve false para este objeto.
- wxBLACK_BRUSH: Pincel negro.
- wxBLUE_BRUSH: Pincel azul.
- wxCYAN_BRUSH: Pincel cian.
- wxGREEN_BRUSH: Pincel verde.
- wxYELLOW_BRUSH: Pincel amarillo.
- wxGREY_BRUSH: Pincel gris.
- wxLIGHT_GREY_BRUSH: Pincel gris claro.
- wxMEDIUM_GREY_BRUSH: Pincel gris medio.
- wxRED_BRUSH. Pincel rojo.
- wxTRANSPARENT_BRUSH: Pincel transparente.
- wxWHITE_BRUSH: Pincel blanco.
Excepto por el color, todos los pinceles excepto el vacío, tienen todos los atributos estándar (wxBRUSHSTYLE_SOLID, no stipple bitmap, etc...).
Funciones miembro
wxBrush()
wxBrush::wxBrush()
Constructor por defecto.
El pincel no se inicializará y wxBrush:IsOk() devolverá false.
wxBrush()
wxBrush::wxBrush( const wxColour & colour, wxBrushStyle style = wxBRUSHSTYLE_SOLID )
Construye un pincel a partir de un objeto de color y un estilo.
Parámetros
- colour
- Objeto de color.
- style
- Uno de los valores de la enumeración wxBrushStyle.
wxBrush()
wxBrush::wxBrush(const wxBitmap & stippleBitmap)
Construye un pincel punteado utilizando un mapa de bits.
El estilo del pincel será wxBRUSHSTYLE_STIPPLE.
wxBrush()
wxBrush::wxBrush(const wxBrush & brush)
Constructor copia, usa contador de referencias.
GetColour()
virtual wxColour wxBrush::GetColour() const
Devuelve una referencia al color del pincel.
GetStipple()
virtual wxBitmap* wxBrush::GetStipple() const
Obtiene un puntero al mapa de bits stipple.
Si el pincel no tiene un estilo wxBRUSHSTYLE_STIPPLE, este mapa de bits puede ser no nulo pero no inicializado (es decir, wxBitmap::IsOk() devuelve false).
GetStyle()
virtual wxBrushStyle wxBrush::GetStyle() const
Devuelve el estilo del pincel, uno de los valores wxBrushStyle.
IsHatch()
virtual bool wxBrush::IsHatch() const
Devuelve true si el estilo del pincel es alguno de los rellenos sombreados.
IsNonTransparent()
bool wxBrush::IsNonTransparent() const
Devuelve true si el pincel es un pincel no transparente válido.
Este método devuelve true si el objeto pincel está inicializado y tiene un estilo no transparente. Hay que tener en cuenta que esto se debe utilizar en lugar de simplemente probar si GetStyle() devuelve un estilo diferente de wxBRUSHSTYLE_TRANSPARENT si el pincel puede no ser válido como GetStyle() afirmaría en este caso.
IsOk()
virtual bool wxBrush::IsOk() const
Devuelve true si el pincel está inicializado.
Hay que tener en cuenta que un objeto pincel no inicializado no puede ser consultado por ninguna propiedad del pincel y todas las llamadas a los métodos de acceso sobre él resultarán en un fallo de assert.
IsTransparent()
bool wxBrush::IsTransparent() const
Devuelve true si el pincel es transparente.
Un pincel transparente es simplemente un pincel con estilo wxBRUSHSTYLE_TRANSPARENT.
Observar que esta función funciona incluso para pinceles no inicializados (para los que devuelve false) a diferencia de las pruebas de la forma GetStyle() == wxBRUSHSTYLE_TRANSPARENT que afirmarían si el pincel no es válido.
SetColour()
virtual void wxBrush::SetColour(const wxColour & colour)
Establece el color del pincel utilizando los valores rojo, verde y azul.
SetColour()
virtual void wxBrush::SetColour( unsigned char red, unsigned char green, unsigned char blue )
Establece el color del pincel utilizando los valores rojo, verde y azul.
SetStipple()
virtual void wxBrush::SetStipple(const wxBitmap & bitmap)
Establece el mapa de bits de punteado.
Parámetros
- bitmap
- El bitmap que se usará para el punteado.
Observaciones
El estilo será wxBRUSHSTYLE_STIPPLE, a menos que el bitmap tenga una máscara asociada, en cuyo caso el estilo será wxBRUSHSTYLE_STIPPLE_MASK_OPAQUE.
SetStyle()
virtual void wxBrush::SetStyle(wxBrushStyle style)
Establece el estilo del pincel.
Parámetros
- style
- Uno de los valores de wxBrushStyle.
Operadores
operator!=()
bool wxBrush::operator!=(const wxBrush & brush) const
Operador de desigualdad.
operator==()
bool wxBrush::operator==(const wxBrush & brush) const
Operador de igualdad.
Métodos y datos heredados
Esta clase hereda los métodos y datos miembro públicos y protegidos de wxGDIObject y wxObject.