diff --git a/include/turtlesim/turtle.h b/include/turtlesim/turtle.h index ad371236850958bcf50e51c63d0726274fa8c75f..901639cfc9d6db7687290c2b4212d8028faa14d0 100644 --- a/include/turtlesim/turtle.h +++ b/include/turtlesim/turtle.h @@ -97,7 +97,8 @@ private: ros::WallTime last_command_time_; float meter_; - QString label = "0"; + bool label_on_ = false; + QString label_ = ""; struct TeleportRequest { diff --git a/src/turtle.cpp b/src/turtle.cpp index bb128e813c9985bde2a1d6d817672650f44456ca..e33ad7ecd2073133c537b058d67f272475fe3200 100644 --- a/src/turtle.cpp +++ b/src/turtle.cpp @@ -92,7 +92,8 @@ bool Turtle::setPenCallback(turtlesim::SetPen::Request& req, turtlesim::SetPen:: } bool Turtle::setLabelCallback(turtlesim_xl::SetLabel::Request& req, turtlesim_xl::SetLabel::Response&){ - Turtle::label = QString(req.name.c_str()); + Turtle::label_ = QString(req.name.c_str()); + label_on_ = req.on; return true; } bool Turtle::teleportRelativeCallback(turtlesim::TeleportRelative::Request& req, turtlesim::TeleportRelative::Response&) @@ -220,14 +221,15 @@ bool Turtle::update(double dt, QPainter& path_painter, const QImage& path_image, void Turtle::paint(QPainter& painter) { QPointF p = pos_ * meter_; - QPointF pl = pos_ * meter_; - pl.rx() -= 0.3 * turtle_rotated_image_.width(); - //pl.ry() -= 0.5 * turtle_rotated_image_.height(); p.rx() -= 0.5 * turtle_rotated_image_.width(); p.ry() -= 0.5 * turtle_rotated_image_.height(); painter.drawImage(p, turtle_rotated_image_); - painter.setPen(Qt::red); - painter.drawText(pl,Turtle::label); + if(label_on_){ + QPointF pl = pos_ * meter_; + pl.rx() -= 0.3 * turtle_rotated_image_.width(); + painter.setPen(Qt::red); + painter.drawText(pl,Turtle::label_); + } } } diff --git a/src/turtle_frame.cpp b/src/turtle_frame.cpp index 55cff29401d151b7f9245f3df02f92e298fc9bd6..c0395b16dabbf316a430a4b2687225ae2cbb131c 100644 --- a/src/turtle_frame.cpp +++ b/src/turtle_frame.cpp @@ -35,9 +35,9 @@ #include <cstdlib> #include <ctime> -#define DEFAULT_BG_R 0x2a -#define DEFAULT_BG_G 0x2a -#define DEFAULT_BG_B 0x2e +#define DEFAULT_BG_R 0x00 +#define DEFAULT_BG_G 0x00 +#define DEFAULT_BG_B 0x00 #define FRAME_WIDTH 1200 #define FRAME_HEIGHT 800 diff --git a/srv/SetLabel.srv b/srv/SetLabel.srv index ac4c27dc2a1886c5561a41daafc9803720496d35..772f305d6f2141ced57f2db61c18fe9509e53105 100644 --- a/srv/SetLabel.srv +++ b/srv/SetLabel.srv @@ -1 +1,2 @@ -string name \ No newline at end of file +string name +uint8 on \ No newline at end of file