30#ifndef DRAWING_HELPERS_H
31#define DRAWING_HELPERS_H
33#include <visp3/core/vpConfig.h>
34#include <visp3/core/vpImage.h>
35#include <visp3/gui/vpDisplayGDI.h>
36#include <visp3/gui/vpDisplayOpenCV.h>
37#include <visp3/gui/vpDisplayX.h>
39#ifndef DOXYGEN_SHOULD_SKIP_THIS
41namespace drawingHelpers
43#if defined(VISP_HAVE_X11)
44extern VISP_NAMESPACE_ADDRESSING vpDisplayX d_Iinput;
45extern VISP_NAMESPACE_ADDRESSING vpDisplayX d_dIx;
46extern VISP_NAMESPACE_ADDRESSING vpDisplayX d_dIy;
47extern VISP_NAMESPACE_ADDRESSING vpDisplayX d_IcannyVisp;
48extern VISP_NAMESPACE_ADDRESSING vpDisplayX d_IcannyImgFilter;
49#elif defined(HAVE_OPENCV_HIGHGUI)
50extern VISP_NAMESPACE_ADDRESSING vpDisplayOpenCV d_Iinput;
51extern VISP_NAMESPACE_ADDRESSING vpDisplayOpenCV d_dIx;
52extern VISP_NAMESPACE_ADDRESSING vpDisplayOpenCV d_dIy;
53extern VISP_NAMESPACE_ADDRESSING vpDisplayOpenCV d_IcannyVisp;
54extern VISP_NAMESPACE_ADDRESSING vpDisplayOpenCV d_IcannyImgFilter;
55#elif defined(VISP_HAVE_GTK)
56extern VISP_NAMESPACE_ADDRESSING vpDisplayGTK d_Iinput;
57extern VISP_NAMESPACE_ADDRESSING vpDisplayGTK d_dIx;
58extern VISP_NAMESPACE_ADDRESSING vpDisplayGTK d_dIy;
59extern VISP_NAMESPACE_ADDRESSING vpDisplayGTK d_IcannyVisp;
60extern VISP_NAMESPACE_ADDRESSING vpDisplayGTK d_IcannyImgFilter;
61#elif defined(VISP_HAVE_GDI)
62extern VISP_NAMESPACE_ADDRESSING vpDisplayGDI d_Iinput;
63extern VISP_NAMESPACE_ADDRESSING vpDisplayGDI d_dIx;
64extern VISP_NAMESPACE_ADDRESSING vpDisplayGDI d_dIy;
65extern VISP_NAMESPACE_ADDRESSING vpDisplayGDI d_IcannyVisp;
66extern VISP_NAMESPACE_ADDRESSING vpDisplayGDI d_IcannyImgFilter;
67#elif defined(VISP_HAVE_D3D9)
68extern VISP_NAMESPACE_ADDRESSING vpDisplayD3D d_Iinput;
69extern VISP_NAMESPACE_ADDRESSING vpDisplayD3D d_dIx;
70extern VISP_NAMESPACE_ADDRESSING vpDisplayD3D d_dIy;
71extern VISP_NAMESPACE_ADDRESSING vpDisplayD3D d_IcannyVisp;
72extern VISP_NAMESPACE_ADDRESSING vpDisplayD3D d_IcannyImgFilter;
85void init(VISP_NAMESPACE_ADDRESSING vpImage<unsigned char> &Iinput, VISP_NAMESPACE_ADDRESSING vpImage<unsigned char> &IcannyVisp, VISP_NAMESPACE_ADDRESSING vpImage<unsigned char> *p_dIx,
86 VISP_NAMESPACE_ADDRESSING vpImage<unsigned char> *p_dIy, VISP_NAMESPACE_ADDRESSING vpImage<unsigned char> *p_IcannyimgFilter);
94void display(VISP_NAMESPACE_ADDRESSING vpImage<unsigned char> &I,
const std::string &title);
104bool waitForClick(
const VISP_NAMESPACE_ADDRESSING vpImage<unsigned char> &I,
const bool &blockingMode);