com.trolltech.qt.gui
Class QBrush

java.lang.Object
  extended by com.trolltech.qt.internal.QSignalEmitterInternal
      extended by com.trolltech.qt.QSignalEmitter
          extended by com.trolltech.qt.QtJambiObject
              extended by com.trolltech.qt.gui.QBrush
All Implemented Interfaces:
QtJambiInterface, java.lang.Cloneable

public class QBrush
extends QtJambiObject
implements java.lang.Cloneable

The QBrush class defines the fill pattern of shapes drawn by QPainter. A brush has a style, a color, a gradient and a texture.

The brush style() defines the fill pattern using the Qt::BrushStyle enum. The default brush style is Qt::NoBrush (depending on how you construct a brush). This style tells the painter to not fill shapes. The standard style for filling is Qt::SolidPattern . The style can be set when the brush is created using the appropriate constructor, and in addition the setStyle() function provides means for altering the style once the brush is constructed.


The brush color() defines the color of the fill pattern. The color can either be one of Qt's predefined colors, Qt::GlobalColor , or any other custom QColor. The currently set color can be retrieved and altered using the color() and setColor() functions, respectively.

The gradient() defines the gradient fill used when the current style is either Qt::LinearGradientPattern , Qt::RadialGradientPattern or Qt::ConicalGradientPattern . Gradient brushes are created by giving a QGradient as a constructor argument when creating the QBrush. Qt provides three different gradients: QLinearGradient, QConicalGradient, and QRadialGradient - all of which inherit QGradient.

        QRadialGradient gradient =
            new QRadialGradient(50, 50, 50, 50, 50);
        gradient.setColorAt(0, QColor.fromRgbF(0, 1, 0, 1));
        gradient.setColorAt(1, QColor.fromRgbF(0, 0, 0, 0));

        QBrush brush = new QBrush(gradient);
        
The texture() defines the pixmap used when the current style is Qt::TexturePattern . You can create a brush with a texture by providing the pixmap when the brush is created or by using setTexture().

Note that applying setTexture() makes style() == Qt::TexturePattern , regardless of previous style settings. Also, calling setColor() will not make a difference if the style is a gradient. The same is the case if the style is Qt::TexturePattern style unless the current texture is a QBitmap.

The isOpaque() function returns true if the brush is fully opaque otherwise false. A brush is considered opaque if:



To specify the style and color of lines and outlines, use the QPainter's pen combined with Qt::PenStyle and Qt::GlobalColor :
        QPainter painter = new QPainter(this);

        painter.setBrush(QColor.cyan);
        painter.setPen(QColor.darkCyan);
        painter.drawRect(0, 0, 100,100);

        painter.setBrush(QBrush.NoBrush);
        painter.setPen(QColor.darkGreen);
        painter.drawRect(40, 40, 100, 100);
Note that, by default, QPainter renders the outline (using the currently set pen) when drawing shapes. Use painter.setPen(Qt::NoPen) painter.setPen(Qt::NoPen) to disable this behavior.
For more information about painting in general, see The Paint System documentation.

See also:
Qt::BrushStyle , QPainter, and QColor.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.AbstractSignal, QSignalEmitter.PrivateSignal0, QSignalEmitter.PrivateSignal1, QSignalEmitter.PrivateSignal2, QSignalEmitter.PrivateSignal3, QSignalEmitter.PrivateSignal4, QSignalEmitter.PrivateSignal5, QSignalEmitter.PrivateSignal6, QSignalEmitter.PrivateSignal7, QSignalEmitter.PrivateSignal8, QSignalEmitter.PrivateSignal9, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9
 
Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal
 
Field Summary
static QBrush NoBrush
           
 
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
currentSender
 
Constructor Summary
QBrush()
          Constructs a default black brush with the style Qt::NoBrush (i.e.
QBrush(QBrush brush)
          Constructs a copy of other.
QBrush(QColor color)
          Constructs a brush with the given color and style.
QBrush(QColor color, QPixmap pixmap)
          Constructs a brush with the given color and the custom pattern stored in pixmap.
QBrush(QColor color, Qt.BrushStyle bs)
          Constructs a brush with the given color and style.
QBrush(QGradient gradient)
          Constructs a brush based on the given gradient.
QBrush(QImage image)
          Constructs a brush with a black color and a texture set to the given image.
QBrush(QPixmap pixmap)
          Constructs a brush with a black color and a texture set to the given pixmap.
QBrush(Qt.BrushStyle bs)
          Constructs a black brush with the given style.
QBrush(Qt.GlobalColor color, QPixmap pixmap)
          Constructs a brush with the given color and the custom pattern stored in pixmap.
 
Method Summary
 QBrush clone()
          This method is reimplemented for internal reasons
 QColor color()
          Returns the brush color.
 QGradient gradient()
          Returns the gradient describing this brush.
 boolean isOpaque()
          Returns true if the brush is fully opaque otherwise false.
 QMatrix matrix()
          Returns the current transformation matrix for the brush.
 void readFrom(QDataStream arg__1)
          Reads a QBrush
 void setColor(QColor color)
          Sets the brush color to the given color.
 void setColor(Qt.GlobalColor color)
          This is an overloaded member function, provided for convenience.
 void setMatrix(QMatrix mat)
          Sets matrix as an explicit transformation matrix on the current brush.
 void setStyle(Qt.BrushStyle arg__1)
          Sets the brush style to style.
 void setTexture(QPixmap pixmap)
          Sets the brush pixmap to pixmap.
 void setTextureImage(QImage image)
          Sets the brush image to image.
 void setTransform(QTransform arg__1)
          Sets matrix as an explicit transformation matrix on the current brush.
 Qt.BrushStyle style()
          Returns the brush style.
 QPixmap texture()
          Returns the custom brush pattern, or a null pixmap if no custom brush pattern has been set.
 QImage textureImage()
          Returns the custom brush pattern, or a null image if no custom brush pattern has been set.
 java.lang.String toString()
          Returns a string representation of the this QBrush.
 QTransform transform()
          Returns the current transformation matrix for the brush.
 void writeTo(QDataStream arg__1)
          Writes thisQBrush
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread
 
Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
__qt_signalInitialization
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Field Detail

NoBrush

public static final QBrush NoBrush
Constructor Detail

QBrush

public QBrush()
Constructs a default black brush with the style Qt::NoBrush (i.e. this brush will not fill shapes).


QBrush

public QBrush(Qt.BrushStyle bs)
Constructs a black brush with the given style.

See also:
setStyle().


QBrush

public QBrush(Qt.GlobalColor color,
              QPixmap pixmap)
Constructs a brush with the given color and the custom pattern stored in pixmap.

The style is set to Qt::TexturePattern . The color will only have an effect for QBitmaps.

See also:
setColor(), and setPixmap().


QBrush

public QBrush(QBrush brush)
Constructs a copy of other.


QBrush

public QBrush(QColor color)
Constructs a brush with the given color and style.

See also:
setColor(), and setStyle().


QBrush

public QBrush(QColor color,
              Qt.BrushStyle bs)
Constructs a brush with the given color and style.

See also:
setColor(), and setStyle().


QBrush

public QBrush(QColor color,
              QPixmap pixmap)
Constructs a brush with the given color and the custom pattern stored in pixmap.

The style is set to Qt::TexturePattern . The color will only have an effect for QBitmaps.

See also:
setColor(), and setPixmap().


QBrush

public QBrush(QGradient gradient)
Constructs a brush based on the given gradient.

The brush style is set to the corresponding gradient style (either Qt::LinearGradientPattern , Qt::RadialGradientPattern or Qt::ConicalGradientPattern ).


QBrush

public QBrush(QImage image)
Constructs a brush with a black color and a texture set to the given image. The style is set to Qt::TexturePattern .

See also:
setTextureImage().


QBrush

public QBrush(QPixmap pixmap)
Constructs a brush with a black color and a texture set to the given pixmap. The style is set to Qt::TexturePattern .

See also:
setTexture().

Method Detail

color

public final QColor color()
Returns the brush color.

See also:
setColor().


gradient

public final QGradient gradient()
Returns the gradient describing this brush.


isOpaque

public final boolean isOpaque()
Returns true if the brush is fully opaque otherwise false. A brush is considered opaque if:


matrix

public final QMatrix matrix()
Returns the current transformation matrix for the brush.

See also:
setMatrix().


writeTo

public final void writeTo(QDataStream arg__1)
Writes thisQBrush


readFrom

public final void readFrom(QDataStream arg__1)
Reads a QBrush


setColor

public final void setColor(Qt.GlobalColor color)
This is an overloaded member function, provided for convenience.

Sets the brush color to the given color.


setColor

public final void setColor(QColor color)
Sets the brush color to the given color.

Note that calling setColor() will not make a difference if the style is a gradient. The same is the case if the style is Qt::TexturePattern style unless the current texture is a QBitmap.

See also:
color().


setMatrix

public final void setMatrix(QMatrix mat)
Sets matrix as an explicit transformation matrix on the current brush. The brush transformation matrix is merged with QPainter transformation matrix to produce the final result.

See also:
matrix().


setStyle

public final void setStyle(Qt.BrushStyle arg__1)
Sets the brush style to style.

See also:
style().


setTexture

public final void setTexture(QPixmap pixmap)
Sets the brush pixmap to pixmap. The style is set to Qt::TexturePattern .

The current brush color will only have an effect for monochrome pixmaps, i.e. for QPixmap::depth() == 1 (QBitmaps).

See also:
texture().


setTextureImage

public final void setTextureImage(QImage image)
Sets the brush image to image. The style is set to Qt::TexturePattern .

Note the current brush color will not have any affect on monochrome images, as opposed to calling setTexture() with a QBitmap. If you want to change the color of monochrome image brushes, either convert the image to QBitmap with QBitmap::fromImage() and set the resulting QBitmap as a texture, or change the entries in the color table for the image.

See also:
textureImage(), and setTexture().


setTransform

public final void setTransform(QTransform arg__1)
Sets matrix as an explicit transformation matrix on the current brush. The brush transformation matrix is merged with QPainter transformation matrix to produce the final result.

See also:
transform().


style

public final Qt.BrushStyle style()
Returns the brush style.

See also:
setStyle().


texture

public final QPixmap texture()
Returns the custom brush pattern, or a null pixmap if no custom brush pattern has been set.

See also:
setTexture().


textureImage

public final QImage textureImage()
Returns the custom brush pattern, or a null image if no custom brush pattern has been set.

If the texture was set as a QPixmap it will be converted to a QImage.

See also:
setTextureImage().


transform

public final QTransform transform()
Returns the current transformation matrix for the brush.

See also:
setTransform().


toString

public java.lang.String toString()
Returns a string representation of the this QBrush.

Overrides:
toString in class java.lang.Object

clone

public QBrush clone()
This method is reimplemented for internal reasons

Overrides:
clone in class java.lang.Object