mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
First pass at buffers - not quite right yet, but I lost the last one I made so now I have to refigure it out....
git-svn-id: http://svn.osgeo.org/qgis/trunk/qgis@1971 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
1a23d87125
commit
32459b98f5
@ -143,12 +143,6 @@ void QgsLabel::renderLabel( QPainter * painter, QgsRect *viewExtent,
|
||||
font.setUnderline ( (bool) value.toInt() );
|
||||
}
|
||||
|
||||
value = fieldValue ( Color, feature );
|
||||
if ( value.isEmpty() ) {
|
||||
pen.setColor ( mLayerAttributes->color() );
|
||||
} else {
|
||||
pen.setColor ( QColor(value) );
|
||||
}
|
||||
|
||||
/* Coordinates */
|
||||
double x, y, xoffset, yoffset, ang;
|
||||
@ -240,9 +234,25 @@ void QgsLabel::renderLabel( QPainter * painter, QgsRect *viewExtent,
|
||||
|
||||
painter->save();
|
||||
painter->setFont ( font );
|
||||
painter->setPen ( pen );
|
||||
painter->translate ( x, y );
|
||||
painter->rotate ( -ang );
|
||||
//draw the buffer if needed
|
||||
if (mLayerAttributes->bufferSizeIsSet())
|
||||
{
|
||||
pen.setColor ( mLayerAttributes->bufferColor() );
|
||||
painter->setPen ( pen );
|
||||
for (int x = 0 - mLayerAttributes->bufferSize(); x < mLayerAttributes->bufferSize(); x++)
|
||||
for (int y = 0 - mLayerAttributes->bufferSize(); y < mLayerAttributes->bufferSize(); y++)
|
||||
painter->drawText ( dx+x, dy+y, text );
|
||||
}
|
||||
//revert to main font colour
|
||||
value = fieldValue ( Color, feature );
|
||||
if ( value.isEmpty() ) {
|
||||
pen.setColor ( mLayerAttributes->color() );
|
||||
} else {
|
||||
pen.setColor ( QColor(value) );
|
||||
}
|
||||
painter->setPen ( pen );
|
||||
painter->drawText ( dx, dy, text );
|
||||
painter->restore();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user