Marble
7 #include "ScreenOverlayGraphicsItem.h"
10 #include "GeoDataScreenOverlay.h"
11 #include "GeoPainter.h"
15 ScreenOverlayGraphicsItem::ScreenOverlayGraphicsItem(
const GeoDataScreenOverlay *screenOverlay ) :
16 m_screenOverlay( screenOverlay )
19 setSize(
QSizeF( m_screenOverlay->size().x(), m_screenOverlay->size().y() ) );
21 if ( !m_screenOverlay->icon().isNull() ) {
26 const GeoDataScreenOverlay *ScreenOverlayGraphicsItem::screenOverlay()
const
28 return m_screenOverlay;
35 setPosition(
QPointF( pixelValue( m_screenOverlay->screenXY().xunit(),
38 m_screenOverlay->screenXY().x() ),
39 viewport->height()-pixelValue( m_screenOverlay->screenXY().yunit(),
42 m_screenOverlay->screenXY().y() ) ) );
45 qreal ScreenOverlayGraphicsItem::pixelValue( GeoDataVec2::Unit unit, qreal screenSize, qreal imageSize, qreal value )
48 case GeoDataVec2::Pixels:
50 case GeoDataVec2::Fraction:
51 return value * screenSize;
52 case GeoDataVec2::InsetPixels:
53 return screenSize - imageSize - value;
60 void ScreenOverlayGraphicsItem::paint(
QPainter *painter )
62 if ( m_pixmap.isNull() ) {
63 painter->
setBrush( m_screenOverlay->color() );
QPixmap fromImage(const QImage &image, Qt::ImageConversionFlags flags)
void drawPixmap(const QRectF &target, const QPixmap &pixmap, const QRectF &source)
void drawRect(const QRectF &rectangle)
Binds a QML item to a specific geodetic location in screen coordinates.
void setBrush(const QBrush &brush)
Q_INVOKABLE void setProjection(uint proj)
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Oct 4 2023 04:09:43 by
doxygen 1.8.17 written
by
Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.