mirror of
https://github.com/tumic0/GPXSee.git
synced 2025-01-18 03:42:09 +01:00
Drawing performance improvement
This commit is contained in:
parent
eeed5ceba3
commit
ebf3c3bc14
@ -34,6 +34,8 @@ AxisItem::AxisItem(Type type, QGraphicsItem *parent) : QGraphicsItem(parent)
|
||||
{
|
||||
_type = type;
|
||||
_size = 0;
|
||||
|
||||
setCacheMode(QGraphicsItem::DeviceCoordinateCache);
|
||||
}
|
||||
|
||||
void AxisItem::setRange(const RangeF &range)
|
||||
|
@ -53,6 +53,7 @@ RouteItem::RouteItem(const Route &route, QGraphicsItem *parent)
|
||||
setToolTip(toolTip());
|
||||
setCursor(Qt::ArrowCursor);
|
||||
setAcceptHoverEvents(true);
|
||||
setCacheMode(QGraphicsItem::DeviceCoordinateCache);
|
||||
|
||||
updateShape();
|
||||
|
||||
|
@ -17,6 +17,8 @@ ScaleItem::ScaleItem(QGraphicsItem *parent) : QGraphicsItem(parent)
|
||||
_units = Metric;
|
||||
_zoom = ZOOM_MIN;
|
||||
_lat = 0;
|
||||
|
||||
setCacheMode(QGraphicsItem::DeviceCoordinateCache);
|
||||
}
|
||||
|
||||
void ScaleItem::updateBoundingRect()
|
||||
@ -112,9 +114,10 @@ void ScaleItem::computeScale()
|
||||
}
|
||||
}
|
||||
|
||||
void ScaleItem::setLatitude(qreal lat)
|
||||
void ScaleItem::setZoom(int z, qreal lat)
|
||||
{
|
||||
prepareGeometryChange();
|
||||
_zoom = z;
|
||||
_lat = lat;
|
||||
computeScale();
|
||||
updateBoundingRect();
|
||||
|
@ -13,8 +13,8 @@ public:
|
||||
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
|
||||
QWidget *widget);
|
||||
|
||||
void setLatitude(qreal lat);
|
||||
void setZoom(int z);
|
||||
void setZoom(int z, qreal lat);
|
||||
void setUnits(enum Units units);
|
||||
|
||||
private:
|
||||
|
@ -53,6 +53,7 @@ TrackItem::TrackItem(const Track &track, QGraphicsItem *parent)
|
||||
setToolTip(toolTip());
|
||||
setCursor(Qt::ArrowCursor);
|
||||
setAcceptHoverEvents(true);
|
||||
setCacheMode(QGraphicsItem::DeviceCoordinateCache);
|
||||
|
||||
updateShape();
|
||||
|
||||
|
@ -136,8 +136,7 @@ void TrackView::loadGPX(const GPX &gpx)
|
||||
_scene->setSceneRect(ba);
|
||||
centerOn(ba.center());
|
||||
|
||||
_mapScale->setLatitude(-(br.center().ry() * _scale));
|
||||
_mapScale->setZoom(_zoom);
|
||||
_mapScale->setZoom(_zoom, -(br.center().ry() * _scale));
|
||||
if (_mapScale->scene() != _scene)
|
||||
_scene->addItem(_mapScale);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user