Add addPath overload
This commit is contained in:
parent
47f6723bd2
commit
82dcecf8f2
2 changed files with 19 additions and 3 deletions
|
@ -57,7 +57,9 @@ public:
|
|||
Q_INVOKABLE void rotate(int degrees);
|
||||
Q_INVOKABLE void addText(QString text, int x, int y, QString color = "#000000", int fontSize = 12, int layer = 0);
|
||||
Q_INVOKABLE void addRect(int x, int y, int width, int height, QString borderColor = "#000000", QString fillColor = "transparent", int rounding = 0, int layer = 0);
|
||||
Q_INVOKABLE void addPath(QList<int> x, QList<int> y, QString borderColor = "#000000", QString fillColor = "transparent", int layer = 0);
|
||||
Q_INVOKABLE void addPath(QList<int> xCoords, QList<int> yCoords, QString borderColor = "#000000", QString fillColor = "transparent", int layer = 0);
|
||||
// TODO: Not invokable, haven't successfully tested 2D js array --> QList<QList<int>>.
|
||||
void addPath(QList<QList<int>> coords, QString borderColor = "#000000", QString fillColor = "transparent", int layer = 0);
|
||||
Q_INVOKABLE void addImage(int x, int y, QString filepath, int layer = 0, bool useCache = true);
|
||||
Q_INVOKABLE void createImage(int x, int y, QString filepath,
|
||||
int width = -1, int height = -1, int xOffset = 0, int yOffset = 0,
|
||||
|
|
|
@ -217,11 +217,25 @@ void MapView::addRect(int x, int y, int width, int height, QString borderColor,
|
|||
this->scene()->update();
|
||||
}
|
||||
|
||||
void MapView::addPath(QList<int> x, QList<int> y, QString borderColor, QString fillColor, int layer) {
|
||||
if (this->getOverlay(layer)->addPath(x, y, borderColor, fillColor))
|
||||
void MapView::addPath(QList<int> xCoords, QList<int> yCoords, QString borderColor, QString fillColor, int layer) {
|
||||
if (this->getOverlay(layer)->addPath(xCoords, yCoords, borderColor, fillColor))
|
||||
this->scene()->update();
|
||||
}
|
||||
|
||||
void MapView::addPath(QList<QList<int>> coords, QString borderColor, QString fillColor, int layer) {
|
||||
QList<int> xCoords;
|
||||
QList<int> yCoords;
|
||||
for (int i = 0; i < coords.length(); i++) {
|
||||
if (coords[i].length() < 2){
|
||||
logWarn(QString("Element %1 of overlay path does not have an x and y value.").arg(i));
|
||||
continue;
|
||||
}
|
||||
xCoords.append(coords[i][0]);
|
||||
yCoords.append(coords[i][1]);
|
||||
}
|
||||
this->addPath(xCoords, yCoords, borderColor, fillColor, layer);
|
||||
}
|
||||
|
||||
void MapView::addImage(int x, int y, QString filepath, int layer, bool useCache) {
|
||||
if (this->getOverlay(layer)->addImage(x, y, filepath, useCache))
|
||||
this->scene()->update();
|
||||
|
|
Loading…
Reference in a new issue