diff --git a/qa/pns/label_manager.h b/qa/pns/label_manager.h new file mode 100644 index 0000000000..1ebf5caa1d --- /dev/null +++ b/qa/pns/label_manager.h @@ -0,0 +1,38 @@ +#ifndef __LABEL_MANAGER_H +#define __LABEL_MANAGER_H + +#include +#include +#include +#include + +class LABEL_MANAGER +{ +public: + struct LABEL + { + COLOR4D m_color; + std::string m_msg; + VECTOR2I m_target; + BOX2I m_bbox; + }; + + LABEL_MANAGER( KIGFX::GAL* aGal ); + ~LABEL_MANAGER( ); + + void Add( VECTOR2I target, std::string msg, COLOR4D color ); + void Add( const SHAPE_LINE_CHAIN& aL, COLOR4D color ); + void Redraw( KIGFX::VIEW_OVERLAY* aOvl ); + +private: + + VECTOR2I nearestBoxCorner( BOX2I b, VECTOR2I p ); + VECTOR2I boxMtv( BOX2I b1, BOX2I b2 ); + void recalculate(); + + KIGFX::GAL* m_gal; + int m_textSize = 100000; + std::vector