QGIS/external/qwt-6.3.0/qwt_plot_svgitem.cpp
Juergen E. Fischer 33fc476d89 * replace external qwtpolar with qwt 6.3
* require qwt >=6.2 (and fallback to internal 6.3 if system's qwt doesn't suffice)
* debian doesn't have qwt for Qt6 and won't have it for trixie
2025-07-23 07:11:51 +10:00

92 lines
1.7 KiB
C++

/******************************************************************************
* Qwt Widget Library
* Copyright (C) 1997 Josef Wilgen
* Copyright (C) 2002 Uwe Rathmann
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the Qwt License, Version 1.0
*****************************************************************************/
#include "qwt_plot_svgitem.h"
#include "qwt_text.h"
#include "qwt_graphic.h"
#include <qsvgrenderer.h>
/*!
\brief Constructor
\param title Title
*/
QwtPlotSvgItem::QwtPlotSvgItem( const QString& title )
: QwtPlotGraphicItem( QwtText( title ) )
{
}
/*!
\brief Constructor
\param title Title
*/
QwtPlotSvgItem::QwtPlotSvgItem( const QwtText& title )
: QwtPlotGraphicItem( title )
{
}
//! Destructor
QwtPlotSvgItem::~QwtPlotSvgItem()
{
}
/*!
Load a SVG file
\param rect Bounding rectangle
\param fileName SVG file name
\return true, if the SVG file could be loaded
*/
bool QwtPlotSvgItem::loadFile( const QRectF& rect,
const QString& fileName )
{
QwtGraphic graphic;
QSvgRenderer renderer;
const bool ok = renderer.load( fileName );
if ( ok )
{
QPainter p( &graphic );
renderer.render( &p );
}
setGraphic( rect, graphic );
return ok;
}
/*!
Load SVG data
\param rect Bounding rectangle
\param data in SVG format
\return true, if the SVG data could be loaded
*/
bool QwtPlotSvgItem::loadData( const QRectF& rect,
const QByteArray& data )
{
QwtGraphic graphic;
QSvgRenderer renderer;
const bool ok = renderer.load( data );
if ( ok )
{
QPainter p( &graphic );
renderer.render( &p );
}
setGraphic( rect, graphic );
return ok;
}