Image Component Library (ICL)
|
Extended Image visualization widget, with a drawing state machine interface. More...
#include <DrawWidget.h>
Public Types | |
enum | Sym { symRect, symCross, symPlus, symTriangle, symCircle } |
enum used for specification of predefined symbols More... | |
Public Types inherited from icl::qt::ICLWidget | |
enum | fitmode { fmNoScale =0, fmHoldAR =1, fmFit =2, fmZoom =3 } |
determines how the image is fit into the widget geometry More... | |
enum | rangemode { rmOn = 1, rmOff = 2, rmAuto } |
determines intensity adaption mode More... | |
typedef utils::Function< core::Color > | BGColorSource |
generic background color creator plugin More... | |
Public Member Functions | |
ICLDrawWidget (QWidget *parent=0) | |
creates a new ICLDrawWidget embedded into the parent component More... | |
~ICLDrawWidget () | |
destructor2 More... | |
void | setAutoResetQueue (bool on) |
sets whether the draw commands are accumulative (default is on=true) More... | |
void | resetQueue () |
clears the current draw queue More... | |
void | abs () |
sets up the state machine to treat coordinates in the image pixel coordinate system More... | |
void | rel () |
sets up the state machine to receive relative coordinates in range [0,1] More... | |
void | image (core::ImgBase *image, float x, float y, float w, float h) |
draws an image into the given rectangle More... | |
void | image (core::ImgBase *image, const utils::Rect &r) |
convenience function for image using an image rect More... | |
void | image (const core::ImgBase *image, const float a[2], const float b[2], const float c[2], const float d[2]) |
draws an image into given quadrangle More... | |
void | text (std::string text, float x, float y, float w, float h, float fontsize=10) |
draws a string into the given rect More... | |
void | text (const std::string &text, float x, float y, float fontsize=10) |
draws text at given x, y location with given fontsize More... | |
void | text (const std::string &text, const utils::Point32f &p, float fontsize=10) |
draws the text at given position p More... | |
void | point (float x, float y) |
draws a point at the given location More... | |
void | point (const utils::Point &p) |
convenience wrapper for utils::Point types More... | |
void | point (const utils::Point32f &p) |
convenience wrapper for utils::Point32f types More... | |
template<class VectorType > | |
void | point (const VectorType &p) |
convenience wrapper for arbitrary types, that provide an index operator [int] More... | |
void | points (const std::vector< utils::Point > &pts, int xfac=1, int yfac=1) |
draws a set of points More... | |
void | points (const std::vector< utils::Point32f > &pts) |
draws a set of points More... | |
template<class VectorType > | |
void | point (const std::vector< VectorType > &points) |
convenience wrapper for arbitrary types, that provide an index operator [int] More... | |
void | linestrip (const std::vector< utils::Point > &pts, bool closeLoop=true, int xfac=1, int yfac=1) |
draws a set of connected points More... | |
void | linestrip (const std::vector< utils::Point32f > &pts, bool closeLoop=true) |
draws a set of connected points More... | |
void | line (float x1, float y1, float x2, float y2) |
draws a line from point (x1,y1) to point (x2,y2) More... | |
void | line (const utils::Point32f &a, const utils::Point32f &b) |
convenience function for drawing lines between two points More... | |
template<class VectorTypeA , class VectorTypeB > | |
void | line (const VectorTypeA &a, const VectorTypeB &b) |
convenience wrapper for arbitrary types, that provide an index operator [int] More... | |
void | arrow (float ax, float ay, float bx, float by, float capsize=10) |
draws an arrow from a to b (arrow cap is at b) More... | |
void | arrow (const utils::Point32f &a, const utils::Point32f &b, float capsize=10) |
draws an arrow from a to b (arrow cap is at b) More... | |
void | rect (float x, float y, float w, float h) |
draws a rect with given parameters More... | |
void | rect (const utils::Rect32f &r) |
convenience function for drawing float rects More... | |
void | rect (const utils::Rect &r) |
draws a rect from a icl utils::Rect structure More... | |
void | triangle (float x1, float y1, float x2, float y2, float x3, float y3) |
draws a triangle defined by 3 points More... | |
void | triangle (const utils::Point32f &a, const utils::Point32f &b, const utils::Point32f &c) |
draws a triangle defined by 3 points More... | |
void | quad (float x1, float y1, float x2, float y2, float x3, float y3, float x4, float y4) |
draws a quad with given 4 points More... | |
void | quad (const utils::Point32f &a, const utils::Point32f &b, const utils::Point32f &c, const utils::Point32f &d) |
draws a quad with given 4 points More... | |
void | ellipse (float x, float y, float w, float h) |
draws an ellipse with given parameters (w==H --> circle) More... | |
void | ellipse (const utils::Rect &r) |
draws an ellipse into given rectangle More... | |
void | ellipse (const utils::Rect32f &r) |
draws an ellipse into given rectangle More... | |
void | circle (float cx, float cy, float r) |
draws a circle with given center and radius More... | |
void | circle (const utils::Point32f ¢er, float radius) |
draws a circle with given center and radius More... | |
void | polygon (const std::vector< utils::Point32f > &ps) |
draws a convex polygon More... | |
void | polygon (const std::vector< utils::Point > &ps) |
draws a convex polygon (int-points) More... | |
void | grid (const utils::Point32f *points, int nx, int ny, bool rowMajor=true) |
draws a regular grid between given points More... | |
void | sym (float x, float y, Sym s) |
draws a predefined symbol at the given location More... | |
void | sym (const utils::Point32f &p, Sym s) |
convenience wrapper for sym(float,float,Sym) More... | |
void | sym (float x, float y, char sym) |
this is a convenience function for sym(float,float,Sym) More... | |
void | sym (const utils::Point32f &p, char sym) |
convenicence wrapper for sym(float,flota,char) More... | |
void | symsize (float w, float h=-1) |
sets the size for following "sym" draw commands More... | |
void | linewidth (float w) |
sets current linewidth (default is 1); More... | |
void | pointsize (float s) |
sets current pointsize (default is 1) More... | |
void | textangle (float angleDeg) |
sets an angle for text that is rendered More... | |
void | fontsize (float size) |
sets the internal default font size More... | |
void | color (float r, float g, float b, float alpha=255) |
sets the draw state machines "edge"-color buffer to a given value More... | |
void | fill (float r, float g, float b, float alpha=255) |
set the draw state machines "fill"-color buffer to a given value More... | |
template<class T , unsigned int COLS> | |
void | color (const math::FixedMatrix< T, COLS, 3/COLS > &v) |
utility template method that allows to pass 3D vectors as colors More... | |
template<class T , unsigned int COLS> | |
void | color (const math::FixedMatrix< T, COLS, 4/COLS > &v) |
utility template method that allows to pass 4D vectors as colors More... | |
template<class T , unsigned int COLS> | |
void | fill (const math::FixedMatrix< T, COLS, 3/COLS > &v) |
utility template method that allows to pass 3D vectors as fill color More... | |
template<class T , unsigned int COLS> | |
void | fill (const math::FixedMatrix< T, COLS, 4/COLS > &v) |
utility template method that allows to pass 4D vectors as fill color More... | |
void | nocolor () |
disables drawing edges More... | |
void | nofill () |
disables filling primitives More... | |
void | draw (const utils::VisualizationDescription &d) |
draws a VisualizationDescription instance More... | |
virtual void | customPaintEvent (PaintEngine *e) |
this function can be reimplemented in derived classes to perform some custom drawing operations More... | |
virtual void | initializeCustomPaintEvent (PaintEngine *e) |
this function can be reimplemented perform some custom initialization before the actual draw call More... | |
virtual void | finishCustomPaintEvent (PaintEngine *e) |
this function can be reimplemented perform some custom initialization after the actual draw call More... | |
Public Member Functions inherited from icl::qt::ICLWidget | |
ICLWidget (QWidget *parent=0) | |
creates a new ICLWidget within the parent widget More... | |
virtual | ~ICLWidget () |
destructor More... | |
virtual void | initializeGL () |
GLContext initialization. More... | |
virtual void | resizeGL (int w, int h) |
called by resizeEvent to adapt the current GL-Viewport More... | |
virtual void | paintGL () |
draw function More... | |
virtual void | paintEvent (QPaintEvent *e) |
drawing function for NO-GL fallback More... | |
virtual void | setVisible (bool visible) |
void | setFitMode (fitmode fm) |
sets the current fitmode More... | |
void | setRangeMode (rangemode rm) |
sets the current rangemode More... | |
void | setBCI (int brightness, int contrast, int intensity) |
set up current brightness, contrast and intensity adaption values More... | |
utils::Size | getSize () |
returns the widgets size as icl::Size More... | |
utils::Size | getImageSize (bool fromGUIThread=false) |
returns the current images size More... | |
utils::Rect | getImageRect (bool fromGUIThread=false) |
returns the rect, that is currently used to draw the image into More... | |
fitmode | getFitMode () |
returns current fit-mode More... | |
rangemode | getRangeMode () |
returns current range mode More... | |
std::vector< std::string > | getImageInfo () |
returns a list of image specification string (used by the OSD) More... | |
void | install (MouseHandler *h) |
adds a new mouse handler via signal-slot connection More... | |
void | uninstall (MouseHandler *h) |
deletes mouse handler connection More... | |
void | registerCallback (const GUI::Callback &cb, const std::string &eventList="drag,press") |
registers a simple callback More... | |
void | removeCallbacks () |
removes all callbacks registered using registerCallback More... | |
void | render () |
re-renders the widget (thread-safe) More... | |
virtual bool | event (QEvent *event) |
overloaded event function processing special thread save update events More... | |
const ImageStatistics & | getImageStatistics () |
returns current ImageStatistics struct (used by OSD) More... | |
void | setMenuEnabled (bool enabled) |
if the menu is disabled, there will be no menu button at the top left of the widget More... | |
void | setImageInfoIndicatorEnabled (bool enabled) |
This can be used in order to hide to label at the lower right image rect. More... | |
void | setShowNoImageWarnings (bool showWarnings) |
sets wheather to notify, that no image was set More... | |
void | setViewPort (const utils::Size &size) |
Sets a viewport size that is used if no image was set. More... | |
void | setFullScreenMode (bool on, int screen=-1) |
show the widget on fullscreen on the (or returns to the original embedded state) More... | |
void | addSpecialToggleButton (const std::string &id, const core::ImgBase *untoggledIcon=0, const core::ImgBase *toggledIcon=0, bool initiallyToggled=0, const utils::Function< void, bool > &cb=(utils::FunctionImpl< void, bool > *) 0, const std::string &toolTipText="") |
Adds a new toggle-button to the OSD-button bar on the upper widget edge. More... | |
void | addSpecialButton (const std::string &id, const core::ImgBase *icon=0, const utils::Function< void > &cb=(utils::FunctionImpl< void > *) 0, const std::string &toolTipText="") |
Adds a new toggle-button to the OSD-button bar on the upper widget edge. More... | |
void | setInfoText (const std::string &text) |
sets an info text, is shown as a dialog when pressing an extra info button More... | |
void | removeSpecialButton (const std::string &id) |
removes special button with given ID More... | |
void | setAutoRenderOnSetImage (bool on) |
sets whether the widget will automatically call render when setImage is called More... | |
void | setBackgroundColorSource (BGColorSource src) |
can be used to replace the default OSD-GUI based background color source More... | |
void | startRecording (const std::string &outputDevice, const std::string &outputInfo, bool framebuffer=true, int frameskip=0, bool setParamsOnlyButDoNotStartRecording=false) |
sets up the capturing GUI and immediately initialized the internal capturer More... | |
void | registerRecordingCallback (utils::Function< void, const core::ImgBase * > cb, const std::string &handle="default") |
adds a callback function that is executed each time an image is recorded! More... | |
void | unregisterRecordingCallback (const std::string &handle="default") |
removes a recording callback function More... | |
virtual void | mousePressEvent (QMouseEvent *e) |
virtual void | mouseReleaseEvent (QMouseEvent *e) |
virtual void | mouseMoveEvent (QMouseEvent *e) |
virtual void | enterEvent (QEvent *e) |
virtual void | leaveEvent (QEvent *e) |
virtual void | resizeEvent (QResizeEvent *e) |
virtual void | wheelEvent (QWheelEvent *e) |
virtual void | hideEvent (QHideEvent *e) |
virtual void | keyPressEvent (QKeyEvent *event) |
listens for F11 which enables the fullscreen mode More... | |
Protected Member Functions | |
virtual void | swapQueues () |
swaps the draw queues More... | |
Protected Member Functions inherited from icl::qt::ICLWidget | |
void | showInfoDialog () |
shows a help dialog More... | |
Protected Attributes | |
std::vector< DrawCommand * > * | m_queues [2] |
two lists of draw commands More... | |
State * | m_poState |
Data of the "State Machine". More... | |
QMutex | m_oCommandMutex |
utils::Mutex for a thread save event queue More... | |
bool | m_autoResetQueue |
internal flag More... | |
Static Private Member Functions | |
template<class T > | |
static void | icl_given_type_has_no_int_index_operator (const T &t) |
Additional Inherited Members | |
Public Slots inherited from icl::qt::ICLWidget | |
void | setImage (const core::ImgBase *image) |
sets up the current image More... | |
void | showHideMenu () |
void | setMenuEmbedded (bool embedded) |
void | bciModeChanged (int modeIdx) |
void | brightnessChanged (int val) |
void | contrastChanged (int val) |
void | intensityChanged (int val) |
void | scaleModeChanged (int modeIdx) |
void | currentChannelChanged (int modeIdx) |
void | captureCurrentImage () |
void | captureCurrentFrameBuffer () |
void | recordButtonToggled (bool checked) |
void | pauseButtonToggled (bool checked) |
void | stopButtonClicked () |
void | skipFramesChanged (int frameSkip) |
void | menuTabChanged (int index) |
void | histoPanelParamChanged () |
void | setEmbeddedZoomModeEnabled (bool enabled) |
void | setLinInterpolationEnabled (bool enabled) |
void | setShowPixelGridEnabled (bool enabled) |
void | setRangeModeNormalOrScaled (bool enabled) |
void | showBackgroundColorDialog () |
void | showGridColorDialog () |
void | setGridAlpha (int alpha) |
void | setBackgroundBlack () |
void | setBackgroundWhite () |
void | setBackgroundGray () |
void | setGridBlack () |
void | setGridWhite () |
void | setGridGray () |
Signals inherited from icl::qt::ICLWidget | |
void | mouseEvent (const MouseEvent &event) |
invoked when any mouse interaction was performed More... | |
void | specialButtonClicked (const std::string &id) |
synchronizes special button clicks with GUI thread More... | |
void | specialButtonToggled (const std::string &id, bool down) |
synchronizes special toggle button clicks with GUI thread More... | |
Extended Image visualization widget, with a drawing state machine interface.
The ICLDrawWidget can be used to draw annotation on images in real time. It provides the ability for translating draw command given in image coordinations with respect to the currently used image scaling type (hold-ar, no-scaling or fit to widget) and to the currently used widget size.
Like other drawing state machines, like the QPainter or OpenGL, the ICLDrawWidget can be used for drawing 2D-primitives step by step into the frame-buffer using OpenGL hardware acceleration. Each implementation of drawing function should contain the following steps.
\#include <ICLQt/Common.h> \#include <ICLQt/Quick.h> icl::qt::GUI gui; std::vector<double> c(3,255); // ref color void click(const MouseEvent &e){ if(e.isLeft() && !gui["vis"].as<int>()){ c = e.getColor(); } } void init(){ gui << Draw().handle("draw").minSize(32,24) << (HBox().maxSize(100,3) << Combo("image,levelmap").handle("vis") << Slider(2,10,5).out("levels").label("levels")); gui.show(); gui["draw"].install(new MouseHandler(click)); } void run(){ g.setDesiredSizeInternal(utils::Size::VGA); // DrawHandle object draw provides direct access to the underlying // ICLDrawWidget by the 'operator->' i.e., it behaves like // an ICLDrawWidget-pointer DrawHandle draw = gui["draw"]; // do some image processing (pretty slow here) // re-quantize grabbed image to reduce levels vector<vector<utils::Point> > pxs; pxs.push_back(vector<utils::Point>(1, Point(lm.getWidth()/2, lm.getHeight()/2))); // visualize selected image ImgQ *ims[2] = {&im, &lm}; // use drawing state-machine to post draw commands draw->pointsize(2); draw->color(255,0,0,60); draw->points(pxs[0]); } int main(int n, char **ppc){ return ICLApplication(n,ppc,"-input(2)",init,run).exec(); } |
icl::qt::ICLDrawWidget::ICLDrawWidget | ( | QWidget * | parent = 0 | ) |
creates a new ICLDrawWidget embedded into the parent component
icl::qt::ICLDrawWidget::~ICLDrawWidget | ( | ) |
destructor2
void icl::qt::ICLDrawWidget::abs | ( | ) |
sets up the state machine to treat coordinates in the image pixel coordinate system
the visualization space is x={0..w-1} and y={0..h-1}
void icl::qt::ICLDrawWidget::arrow | ( | float | ax, |
float | ay, | ||
float | bx, | ||
float | by, | ||
float | capsize = 10 |
||
) |
draws an arrow from a to b (arrow cap is at b)
void icl::qt::ICLDrawWidget::arrow | ( | const utils::Point32f & | a, |
const utils::Point32f & | b, | ||
float | capsize = 10 |
||
) |
draws an arrow from a to b (arrow cap is at b)
void icl::qt::ICLDrawWidget::circle | ( | float | cx, |
float | cy, | ||
float | r | ||
) |
draws a circle with given center and radius
void icl::qt::ICLDrawWidget::circle | ( | const utils::Point32f & | center, |
float | radius | ||
) |
draws a circle with given center and radius
void icl::qt::ICLDrawWidget::color | ( | float | r, |
float | g, | ||
float | b, | ||
float | alpha = 255 |
||
) |
sets the draw state machines "edge"-color buffer to a given value
Primitives except images are drawn with the currently set "color" and filled with the currently set "fill" alpha values of 0 disables the edge drawing at all
|
inline |
utility template method that allows to pass 3D vectors as colors
|
inline |
utility template method that allows to pass 4D vectors as colors
|
virtual |
this function can be reimplemented in derived classes to perform some custom drawing operations
Reimplemented from icl::qt::ICLWidget.
Reimplemented in icl::qt::ICLDrawWidget3D.
void icl::qt::ICLDrawWidget::draw | ( | const utils::VisualizationDescription & | d | ) |
draws a VisualizationDescription instance
Internally, the description is decomposed to normal function calls
void icl::qt::ICLDrawWidget::ellipse | ( | float | x, |
float | y, | ||
float | w, | ||
float | h | ||
) |
draws an ellipse with given parameters (w==H --> circle)
void icl::qt::ICLDrawWidget::ellipse | ( | const utils::Rect & | r | ) |
draws an ellipse into given rectangle
void icl::qt::ICLDrawWidget::ellipse | ( | const utils::Rect32f & | r | ) |
draws an ellipse into given rectangle
void icl::qt::ICLDrawWidget::fill | ( | float | r, |
float | g, | ||
float | b, | ||
float | alpha = 255 |
||
) |
set the draw state machines "fill"-color buffer to a given value
Primitives except images are drawn with the currently set "color" and filled with the currently set "fill" alpha values of 0 disables the edge drawing at all
|
inline |
utility template method that allows to pass 3D vectors as fill color
|
inline |
utility template method that allows to pass 4D vectors as fill color
|
virtual |
this function can be reimplemented perform some custom initialization after the actual draw call
void icl::qt::ICLDrawWidget::fontsize | ( | float | size | ) |
sets the internal default font size
The default font size is used if the font-size given to text is set to 0 the 'default'-default size is 10
void icl::qt::ICLDrawWidget::grid | ( | const utils::Point32f * | points, |
int | nx, | ||
int | ny, | ||
bool | rowMajor = true |
||
) |
draws a regular grid between given points
|
inlinestaticprivate |
void icl::qt::ICLDrawWidget::image | ( | core::ImgBase * | image, |
float | x, | ||
float | y, | ||
float | w, | ||
float | h | ||
) |
draws an image into the given rectangle
The image is copied by the state machine to ensure, that the data is persistent when the draw command is passed to the underlying PaintEngine. Otherwise, it would not be possible to ensure, that the set image data that is drawn is not changed elsewhere note: If image has four channels, the last channel is used as alpha channel where a pixel value of 0 means invisible=100transparent and 255 means no transparency
|
inline |
convenience function for image using an image rect
void icl::qt::ICLDrawWidget::image | ( | const core::ImgBase * | image, |
const float | a[2], | ||
const float | b[2], | ||
const float | c[2], | ||
const float | d[2] | ||
) |
draws an image into given quadrangle
node order is
a--------b | \ | \ d---___ \ ---___c
|
virtual |
this function can be reimplemented perform some custom initialization before the actual draw call
void icl::qt::ICLDrawWidget::line | ( | float | x1, |
float | y1, | ||
float | x2, | ||
float | y2 | ||
) |
draws a line from point (x1,y1) to point (x2,y2)
void icl::qt::ICLDrawWidget::line | ( | const utils::Point32f & | a, |
const utils::Point32f & | b | ||
) |
convenience function for drawing lines between two points
|
inline |
convenience wrapper for arbitrary types, that provide an index operator [int]
void icl::qt::ICLDrawWidget::linestrip | ( | const std::vector< utils::Point > & | pts, |
bool | closeLoop = true , |
||
int | xfac = 1 , |
||
int | yfac = 1 |
||
) |
draws a set of connected points
for relative utils::Point coordinates the factors can be set point i is drawn at pts[i].x/xfac and pts[i].y/yfac
void icl::qt::ICLDrawWidget::linestrip | ( | const std::vector< utils::Point32f > & | pts, |
bool | closeLoop = true |
||
) |
draws a set of connected points
void icl::qt::ICLDrawWidget::linewidth | ( | float | w | ) |
sets current linewidth (default is 1);
void icl::qt::ICLDrawWidget::nocolor | ( | ) |
disables drawing edges
void icl::qt::ICLDrawWidget::nofill | ( | ) |
disables filling primitives
void icl::qt::ICLDrawWidget::point | ( | float | x, |
float | y | ||
) |
draws a point at the given location
|
inline |
convenience wrapper for utils::Point types
|
inline |
convenience wrapper for utils::Point32f types
|
inline |
convenience wrapper for arbitrary types, that provide an index operator [int]
|
inline |
convenience wrapper for arbitrary types, that provide an index operator [int]
void icl::qt::ICLDrawWidget::points | ( | const std::vector< utils::Point > & | pts, |
int | xfac = 1 , |
||
int | yfac = 1 |
||
) |
draws a set of points
for relative utils::Point coordinates the factors can be set point i is drawn at pts[i].x/xfac and pts[i].y/yfac
void icl::qt::ICLDrawWidget::points | ( | const std::vector< utils::Point32f > & | pts | ) |
draws a set of points
void icl::qt::ICLDrawWidget::pointsize | ( | float | s | ) |
sets current pointsize (default is 1)
void icl::qt::ICLDrawWidget::polygon | ( | const std::vector< utils::Point32f > & | ps | ) |
draws a convex polygon
void icl::qt::ICLDrawWidget::polygon | ( | const std::vector< utils::Point > & | ps | ) |
draws a convex polygon (int-points)
void icl::qt::ICLDrawWidget::quad | ( | float | x1, |
float | y1, | ||
float | x2, | ||
float | y2, | ||
float | x3, | ||
float | y3, | ||
float | x4, | ||
float | y4 | ||
) |
draws a quad with given 4 points
void icl::qt::ICLDrawWidget::quad | ( | const utils::Point32f & | a, |
const utils::Point32f & | b, | ||
const utils::Point32f & | c, | ||
const utils::Point32f & | d | ||
) |
draws a quad with given 4 points
void icl::qt::ICLDrawWidget::rect | ( | float | x, |
float | y, | ||
float | w, | ||
float | h | ||
) |
draws a rect with given parameters
void icl::qt::ICLDrawWidget::rect | ( | const utils::Rect32f & | r | ) |
convenience function for drawing float rects
void icl::qt::ICLDrawWidget::rect | ( | const utils::Rect & | r | ) |
draws a rect from a icl utils::Rect structure
void icl::qt::ICLDrawWidget::rel | ( | ) |
sets up the state machine to receive relative coordinates in range [0,1]
void icl::qt::ICLDrawWidget::resetQueue | ( | ) |
clears the current draw queue
This is done automatically by default. Only if the user wants accumulative draw commands, resetQueue can be called manually to clear the queues
void icl::qt::ICLDrawWidget::setAutoResetQueue | ( | bool | on | ) |
sets whether the draw commands are accumulative (default is on=true)
If the "auto reset queue" flag is set to false, the internal draw command queues are not cleared when ICLWidget::render() is called. In this case, ICLDrawWidget::resetQueue can be called manually.
|
protectedvirtual |
swaps the draw queues
Reimplemented from icl::qt::ICLWidget.
void icl::qt::ICLDrawWidget::sym | ( | float | x, |
float | y, | ||
Sym | s | ||
) |
draws a predefined symbol at the given location
The symbols size can be set using symsize
|
inline |
convenience wrapper for sym(float,float,Sym)
|
inline |
this is a convenience function for sym(float,float,Sym)
possible values for sym are:
instead of writing
you can simply write
for all invalid chars, 'x' is used
|
inline |
convenicence wrapper for sym(float,flota,char)
void icl::qt::ICLDrawWidget::symsize | ( | float | w, |
float | h = -1 |
||
) |
sets the size for following "sym" draw commands
void icl::qt::ICLDrawWidget::text | ( | std::string | text, |
float | x, | ||
float | y, | ||
float | w, | ||
float | h, | ||
float | fontsize = 10 |
||
) |
draws a string into the given rect
if w=-1 and h=-1, fontsize is used to determine the bitmap size. The given fontsize paramter defines the font-size in screen pixels. Important: if the given fontsize is negative, its absolute value is used but the font size unit is image pixels instead of screen-pixels
|
inline |
draws text at given x, y location with given fontsize
|
inline |
draws the text at given position p
void icl::qt::ICLDrawWidget::textangle | ( | float | angleDeg | ) |
sets an angle for text that is rendered
The angle is specified in degrees and in clock-wise direction
void icl::qt::ICLDrawWidget::triangle | ( | float | x1, |
float | y1, | ||
float | x2, | ||
float | y2, | ||
float | x3, | ||
float | y3 | ||
) |
draws a triangle defined by 3 points
void icl::qt::ICLDrawWidget::triangle | ( | const utils::Point32f & | a, |
const utils::Point32f & | b, | ||
const utils::Point32f & | c | ||
) |
draws a triangle defined by 3 points
|
protected |
internal flag
|
protected |
utils::Mutex for a thread save event queue
|
protected |
Data of the "State Machine".
|
protected |
two lists of draw commands
queues[0] is filled, queues[1] is drawn