Functions

qwt_painter.cpp File Reference

#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)

Function Documentation

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;
}
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines