brush.h

Clase wxBrush

Un pincel es una herramienta de dibujo para rellenar áreas.

Jerarquía:

Jerarquía de la clase wxBrush

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.