mirror of
https://github.com/tumic0/GPXSee.git
synced 2024-12-04 08:19:10 +01:00
Compare commits
2 Commits
f5d4974d57
...
04ef7ba092
Author | SHA1 | Date | |
---|---|---|---|
04ef7ba092 | |||
f683525fce |
@ -118,6 +118,7 @@ MapView::MapView(Map *map, POI *poi, QWidget *parent) : QGraphicsView(parent)
|
|||||||
_showPosition = false;
|
_showPosition = false;
|
||||||
_showPositionCoordinates = false;
|
_showPositionCoordinates = false;
|
||||||
_showMotionInfo = false;
|
_showMotionInfo = false;
|
||||||
|
_infoBackground = false;
|
||||||
|
|
||||||
_opengl = false;
|
_opengl = false;
|
||||||
_plot = false;
|
_plot = false;
|
||||||
@ -156,6 +157,8 @@ PathItem *MapView::addTrack(const Track &track)
|
|||||||
ti->setVisible(_showTracks);
|
ti->setVisible(_showTracks);
|
||||||
ti->setDigitalZoom(_digitalZoom);
|
ti->setDigitalZoom(_digitalZoom);
|
||||||
ti->setMarkerColor(_markerColor);
|
ti->setMarkerColor(_markerColor);
|
||||||
|
ti->setMarkerBackgroundColor(_backgroundColor);
|
||||||
|
ti->drawMarkerBackground(_infoBackground);
|
||||||
ti->showMarker(_showMarkers);
|
ti->showMarker(_showMarkers);
|
||||||
ti->showMarkerInfo(_markerInfoType);
|
ti->showMarkerInfo(_markerInfoType);
|
||||||
ti->showTicks(_showPathTicks);
|
ti->showTicks(_showPathTicks);
|
||||||
@ -186,6 +189,8 @@ PathItem *MapView::addRoute(const Route &route)
|
|||||||
ri->showWaypointIcons(_showWaypointIcons);
|
ri->showWaypointIcons(_showWaypointIcons);
|
||||||
ri->setDigitalZoom(_digitalZoom);
|
ri->setDigitalZoom(_digitalZoom);
|
||||||
ri->setMarkerColor(_markerColor);
|
ri->setMarkerColor(_markerColor);
|
||||||
|
ri->setMarkerBackgroundColor(_backgroundColor);
|
||||||
|
ri->drawMarkerBackground(_infoBackground);
|
||||||
ri->showMarker(_showMarkers);
|
ri->showMarker(_showMarkers);
|
||||||
ri->showMarkerInfo(_markerInfoType);
|
ri->showMarkerInfo(_markerInfoType);
|
||||||
ri->showTicks(_showPathTicks);
|
ri->showTicks(_showPathTicks);
|
||||||
@ -1086,6 +1091,11 @@ void MapView::setBackgroundColor(const QColor &color)
|
|||||||
_positionCoordinates->setBackgroundColor(color);
|
_positionCoordinates->setBackgroundColor(color);
|
||||||
_motionInfo->setBackgroundColor(color);
|
_motionInfo->setBackgroundColor(color);
|
||||||
|
|
||||||
|
for (int i = 0; i < _tracks.size(); i++)
|
||||||
|
_tracks.at(i)->setMarkerBackgroundColor(color);
|
||||||
|
for (int i = 0; i < _routes.size(); i++)
|
||||||
|
_routes.at(i)->setMarkerBackgroundColor(color);
|
||||||
|
|
||||||
reloadMap();
|
reloadMap();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1378,9 +1388,16 @@ void MapView::setInfoColor(const QColor &color)
|
|||||||
|
|
||||||
void MapView::drawInfoBackground(bool draw)
|
void MapView::drawInfoBackground(bool draw)
|
||||||
{
|
{
|
||||||
|
_infoBackground = draw;
|
||||||
|
|
||||||
_cursorCoordinates->drawBackground(draw);
|
_cursorCoordinates->drawBackground(draw);
|
||||||
_positionCoordinates->drawBackground(draw);
|
_positionCoordinates->drawBackground(draw);
|
||||||
_motionInfo->drawBackground(draw);
|
_motionInfo->drawBackground(draw);
|
||||||
|
|
||||||
|
for (int i = 0; i < _tracks.size(); i++)
|
||||||
|
_tracks.at(i)->drawMarkerBackground(draw);
|
||||||
|
for (int i = 0; i < _routes.size(); i++)
|
||||||
|
_routes.at(i)->drawMarkerBackground(draw);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MapView::setHidpi(bool hidpi)
|
void MapView::setHidpi(bool hidpi)
|
||||||
|
@ -203,6 +203,7 @@ private:
|
|||||||
int _waypointSize, _poiSize;
|
int _waypointSize, _poiSize;
|
||||||
QColor _backgroundColor, _waypointColor, _poiColor, _markerColor;
|
QColor _backgroundColor, _waypointColor, _poiColor, _markerColor;
|
||||||
qreal _areaOpacity;
|
qreal _areaOpacity;
|
||||||
|
bool _infoBackground;
|
||||||
|
|
||||||
int _digitalZoom;
|
int _digitalZoom;
|
||||||
bool _plot;
|
bool _plot;
|
||||||
|
@ -13,6 +13,8 @@ CoordinatesFormat MarkerInfoItem::_format = DecimalDegrees;
|
|||||||
MarkerInfoItem::MarkerInfoItem(QGraphicsItem *parent) : QGraphicsItem(parent)
|
MarkerInfoItem::MarkerInfoItem(QGraphicsItem *parent) : QGraphicsItem(parent)
|
||||||
{
|
{
|
||||||
_color = Qt::red;
|
_color = Qt::red;
|
||||||
|
_bgColor = Qt::white;
|
||||||
|
_drawBackground = false;
|
||||||
|
|
||||||
_font.setPixelSize(FONT_SIZE);
|
_font.setPixelSize(FONT_SIZE);
|
||||||
_font.setFamily(FONT_FAMILY);
|
_font.setFamily(FONT_FAMILY);
|
||||||
@ -62,13 +64,15 @@ void MarkerInfoItem::paint(QPainter *painter, const QStyleOptionGraphicsItem
|
|||||||
QRectF r2(OFFSET, 0, fm.boundingRect(_s2).width(), fm.height()
|
QRectF r2(OFFSET, 0, fm.boundingRect(_s2).width(), fm.height()
|
||||||
- fm.descent());
|
- fm.descent());
|
||||||
|
|
||||||
painter->setPen(Qt::NoPen);
|
if (_drawBackground) {
|
||||||
QColor bc(painter->background().color());
|
painter->setPen(Qt::NoPen);
|
||||||
bc.setAlpha(196);
|
QColor bc(_bgColor);
|
||||||
painter->setBrush(QBrush(bc));
|
bc.setAlpha(196);
|
||||||
painter->drawRect(r2);
|
painter->setBrush(QBrush(bc));
|
||||||
painter->drawRect(r1);
|
painter->drawRect(r2);
|
||||||
painter->setBrush(Qt::NoBrush);
|
painter->drawRect(r1);
|
||||||
|
painter->setBrush(Qt::NoBrush);
|
||||||
|
}
|
||||||
|
|
||||||
painter->setFont(_font);
|
painter->setFont(_font);
|
||||||
painter->setPen(_color);
|
painter->setPen(_color);
|
||||||
@ -84,3 +88,15 @@ void MarkerInfoItem::setColor(const QColor &color)
|
|||||||
_color = color;
|
_color = color;
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MarkerInfoItem::setBackgroundColor(const QColor &color)
|
||||||
|
{
|
||||||
|
_bgColor = color;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void MarkerInfoItem::drawBackground(bool draw)
|
||||||
|
{
|
||||||
|
_drawBackground = draw;
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
@ -26,6 +26,8 @@ public:
|
|||||||
void setCoordinates(const Coordinates &c);
|
void setCoordinates(const Coordinates &c);
|
||||||
|
|
||||||
void setColor(const QColor &color);
|
void setColor(const QColor &color);
|
||||||
|
void setBackgroundColor(const QColor &color);
|
||||||
|
void drawBackground(bool draw);
|
||||||
|
|
||||||
static void setCoordinatesFormat(const CoordinatesFormat &format)
|
static void setCoordinatesFormat(const CoordinatesFormat &format)
|
||||||
{_format = format;}
|
{_format = format;}
|
||||||
@ -35,8 +37,9 @@ private:
|
|||||||
|
|
||||||
QString _s1, _s2;
|
QString _s1, _s2;
|
||||||
QRectF _boundingRect;
|
QRectF _boundingRect;
|
||||||
QColor _color;
|
QColor _color, _bgColor;
|
||||||
QFont _font;
|
QFont _font;
|
||||||
|
bool _drawBackground;
|
||||||
|
|
||||||
static CoordinatesFormat _format;
|
static CoordinatesFormat _format;
|
||||||
};
|
};
|
||||||
|
@ -365,6 +365,16 @@ void PathItem::setMarkerColor(const QColor &color)
|
|||||||
_markerInfo->setColor(color);
|
_markerInfo->setColor(color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PathItem::setMarkerBackgroundColor(const QColor &color)
|
||||||
|
{
|
||||||
|
_markerInfo->setBackgroundColor(color);
|
||||||
|
}
|
||||||
|
|
||||||
|
void PathItem::drawMarkerBackground(bool draw)
|
||||||
|
{
|
||||||
|
_markerInfo->drawBackground(draw);
|
||||||
|
}
|
||||||
|
|
||||||
void PathItem::hover(bool hover)
|
void PathItem::hover(bool hover)
|
||||||
{
|
{
|
||||||
if (hover) {
|
if (hover) {
|
||||||
|
@ -41,6 +41,8 @@ public:
|
|||||||
void setPenStyle(Qt::PenStyle style);
|
void setPenStyle(Qt::PenStyle style);
|
||||||
void setDigitalZoom(int zoom);
|
void setDigitalZoom(int zoom);
|
||||||
void setMarkerColor(const QColor &color);
|
void setMarkerColor(const QColor &color);
|
||||||
|
void setMarkerBackgroundColor(const QColor &color);
|
||||||
|
void drawMarkerBackground(bool draw);
|
||||||
void showMarker(bool show);
|
void showMarker(bool show);
|
||||||
void showMarkerInfo(MarkerInfoItem::Type type);
|
void showMarkerInfo(MarkerInfoItem::Type type);
|
||||||
void showTicks(bool show);
|
void showTicks(bool show);
|
||||||
|
@ -10,7 +10,7 @@ using namespace Mapsforge;
|
|||||||
#define PATHS_EXTENT 20
|
#define PATHS_EXTENT 20
|
||||||
#define SEARCH_EXTENT -0.5
|
#define SEARCH_EXTENT -0.5
|
||||||
|
|
||||||
static double limit = cos(deg2rad(170));
|
static double LIMIT = cos(deg2rad(170));
|
||||||
|
|
||||||
static qreal area(const QPainterPath &polygon)
|
static qreal area(const QPainterPath &polygon)
|
||||||
{
|
{
|
||||||
@ -78,7 +78,7 @@ static QPainterPath parallelPath(const QPainterPath &p, double dy)
|
|||||||
|
|
||||||
if (k == 0)
|
if (k == 0)
|
||||||
continue;
|
continue;
|
||||||
if (u.at(k).x() * u.at(k-1).x() + u.at(k).y() * u.at(k-1).y() < limit)
|
if (u.at(k).x() * u.at(k-1).x() + u.at(k).y() * u.at(k-1).y() < LIMIT)
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -127,9 +127,8 @@ void RasterTile::processPointLabels(const QList<MapData::Point> &points,
|
|||||||
if ((lbl = label(ri->key(), point.tags))) {
|
if ((lbl = label(ri->key(), point.tags))) {
|
||||||
if (si && si->id() != ri->symbolId())
|
if (si && si->id() != ri->symbolId())
|
||||||
continue;
|
continue;
|
||||||
|
if (!ti || ti->priority() < ri->priority())
|
||||||
ti = ri;
|
ti = ri;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user