#include <qwindowdefs.h>#include <qwidget.h>#include <qrect.h>#include <qpainter.h>#include <qpalette.h>#include <qpaintdevice.h>#include <qpixmap.h>#include <qstyle.h>#include <qsimplerichtext.h>#include "qwt_math.h"#include "qwt_clipper.h"#include "qwt_color_map.h"#include "qwt_scale_map.h"#include "qwt_painter.h"Go to the source code of this file.
Functions | |
| static bool | isClippingNeeded (const QPainter *painter, QRect &clipRect) |
| static bool isClippingNeeded | ( | const QPainter * | painter, |
| QRect & | clipRect | ||
| ) | [inline, static] |
Definition at line 47 of file qwt_painter.cpp.
References QwtPainter::deviceClipping(), and QwtPainter::deviceClipRect().
Referenced by QwtPainter::drawEllipse(), QwtPainter::drawLine(), QwtPainter::drawPie(), QwtPainter::drawPoint(), QwtPainter::drawPolygon(), QwtPainter::drawPolyline(), QwtPainter::drawRect(), QwtPainter::drawText(), and QwtPainter::fillRect().
{
bool doClipping = false;
#if QT_VERSION >= 0x040000
const QPaintEngine *pe = painter->paintEngine();
if ( pe && pe->type() == QPaintEngine::SVG )
#else
if ( painter->device()->devType() == QInternal::Picture )
#endif
{
// The SVG paint engine ignores any clipping,
if ( painter->hasClipping() )
{
doClipping = true;
clipRect = painter->clipRegion().boundingRect();
}
}
if ( QwtPainter::deviceClipping() )
{
if (painter->device()->devType() == QInternal::Widget ||
painter->device()->devType() == QInternal::Pixmap )
{
if ( doClipping )
{
clipRect &= QwtPainter::deviceClipRect();
}
else
{
doClipping = true;
clipRect = QwtPainter::deviceClipRect();
}
}
}
return doClipping;
}
1.7.2