1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2024-11-24 03:35:53 +01:00

Reintroduce the IMG icon padding

(but this time properly)
This commit is contained in:
Martin Tůma 2022-03-26 17:20:16 +01:00
parent a6390bf8a5
commit b2bcea5e78
3 changed files with 11 additions and 8 deletions

View File

@ -11,6 +11,8 @@
using namespace IMG;
#define ICON_PADDING 2
#define AREA(rect) \
(rect.size().width() * rect.size().height())
@ -450,7 +452,8 @@ void RasterTile::processPoints(QList<TextItem*> &textItems)
continue;
TextPointItem *item = new TextPointItem(QPoint(point.coordinates.lon(),
point.coordinates.lat()), label, fnt, img, color, &haloColor);
point.coordinates.lat()), label, fnt, img, color, &haloColor, 0,
ICON_PADDING);
if (item->isValid() && !item->collides(textItems))
textItems.append(item);
else

View File

@ -18,7 +18,7 @@ static void expand(QRectF &rect, int width)
TextPointItem::TextPointItem(const QPoint &point, const QString *text,
const QFont *font, const QImage *img, const QColor *color,
const QColor *haloColor, const QColor *bgColor)
const QColor *haloColor, const QColor *bgColor, int padding)
: TextItem(font ? text : 0), _font(font), _img(img), _color(color),
_haloColor(haloColor), _bgColor(bgColor)
{
@ -32,10 +32,10 @@ TextPointItem::TextPointItem(const QPoint &point, const QString *text,
expand(_textRect, _font->pixelSize() * MIN_BOX_WIDTH);
}
setPos(point);
setPos(point, padding);
}
void TextPointItem::setPos(const QPoint &point)
void TextPointItem::setPos(const QPoint &point, int padding)
{
QPainterPath shape;
QRectF iconRect;
@ -44,8 +44,8 @@ void TextPointItem::setPos(const QPoint &point)
QSizeF s(_img->size() / _img->devicePixelRatioF());
iconRect = QRectF(QPointF(point.x() - s.width() / 2,
point.y() - s.height()/2), s);
_textRect.moveTopLeft(QPointF(point.x() + s.width()/2, point.y()
- _textRect.height()/2));
_textRect.moveTopLeft(QPointF(point.x() + s.width()/2 + padding,
point.y() - _textRect.height()/2));
} else
_textRect.moveCenter(point);

View File

@ -17,7 +17,7 @@ public:
TextPointItem() : TextItem(0), _font(0), _img(0) {}
TextPointItem(const QPoint &point, const QString *text, const QFont *font,
const QImage *img, const QColor *color, const QColor *haloColor,
const QColor *bgColor = 0);
const QColor *bgColor = 0, int padding = 0);
bool isValid() const {return !_rect.isEmpty();}
@ -25,7 +25,7 @@ public:
QPainterPath shape() const {return _shape;}
void paint(QPainter *painter) const;
void setPos(const QPoint &point);
void setPos(const QPoint &point, int padding = 0);
private:
const QFont *_font;