207#if (VISP_CXX_STANDARD > VISP_CXX_STANDARD_98)
247 virtual void setDownScalingFactor(
unsigned int scale);
248 virtual void setDownScalingFactor(vpScaleType scaleType);
251#ifndef DOXYGEN_SHOULD_SKIP_THIS
262 virtual void closeDisplay() = 0;
274 unsigned int w = 4,
unsigned int h = 2,
unsigned int thickness = 1) = 0;
284 inline virtual void displayCircle(
const vpImageCircle &circle,
const vpColor &color,
bool fill =
false,
285 unsigned int thickness = 1)
287 this->displayCircle(circle.
getCenter(),
static_cast<unsigned int>(circle.
getRadius()), color, fill, thickness);
299 virtual void displayCircle(
const vpImagePoint ¢er,
unsigned int radius,
const vpColor &color,
bool fill =
false,
300 unsigned int thickness = 1) = 0;
308 virtual void displayCross(
const vpImagePoint &ip,
unsigned int size,
const vpColor &color,
309 unsigned int thickness = 1) = 0;
317 virtual void displayDotLine(
const vpImagePoint &ip1,
const vpImagePoint &ip2,
const vpColor &color,
318 unsigned int thickness = 1) = 0;
326 virtual void displayLine(
const vpImagePoint &ip1,
const vpImagePoint &ip2,
const vpColor &color,
327 unsigned int thickness = 1) = 0;
336 virtual void displayImage(
const vpImage<unsigned char> &I) = 0;
345 virtual void displayImage(
const vpImage<vpRGBa> &I) = 0;
347 virtual void displayImageROI(
const vpImage<unsigned char> &I,
const vpImagePoint &iP,
unsigned int width,
348 unsigned int height) = 0;
349 virtual void displayImageROI(
const vpImage<vpRGBa> &I,
const vpImagePoint &iP,
unsigned int width,
350 unsigned int height) = 0;
358 virtual void displayPoint(
const vpImagePoint &ip,
const vpColor &color,
unsigned int thickness = 1) = 0;
373 virtual void displayRectangle(
const vpImagePoint &topLeft,
unsigned int width,
unsigned int height,
374 const vpColor &color,
bool fill =
false,
unsigned int thickness = 1) = 0;
387 virtual void displayRectangle(
const vpImagePoint &topLeft,
const vpImagePoint &bottomRight,
const vpColor &color,
388 bool fill =
false,
unsigned int thickness = 1) = 0;
400 virtual void displayRectangle(
const vpRect &rectangle,
const vpColor &color,
bool fill =
false,
401 unsigned int thickness = 1) = 0;
414 virtual void displayText(
const vpImagePoint &ip,
const std::string &text,
const vpColor &color =
vpColor::green) = 0;
420 virtual void flushDisplay() = 0;
426 virtual void flushDisplayROI(
const vpImagePoint &iP,
unsigned int width,
unsigned int height) = 0;
445 virtual bool getClick(
bool blocking =
true) = 0;
462 virtual bool getClick(vpImagePoint &ip,
bool blocking =
true) = 0;
521 virtual bool getKeyboardEvent(
bool blocking =
true) = 0;
540 virtual bool getKeyboardEvent(std::string &key,
bool blocking =
true) = 0;
551 virtual bool getPointerMotionEvent(vpImagePoint &ip) = 0;
563 virtual bool getPointerPosition(vpImagePoint &ip) = 0;
568 virtual unsigned int getScreenHeight() = 0;
574 virtual void getScreenSize(
unsigned int &width,
unsigned int &height) = 0;
578 virtual unsigned int getScreenWidth() = 0;
588 virtual void init(vpImage<unsigned char> &I,
int x = -1,
int y = -1,
const std::string &title =
"") = 0;
598 virtual void init(vpImage<vpRGBa> &I,
int x = -1,
int y = -1,
const std::string &title =
"") = 0;
664 virtual void init(
unsigned int width,
unsigned int height,
int x = -1,
int y = -1,
const std::string &title =
"") = 0;
679 virtual void setFont(
const std::string &font) = 0;
684 virtual void setTitle(
const std::string &title) = 0;
692 virtual void setWindowPosition(
int x,
int y) = 0;
700 static void close(vpImage<unsigned char> &I);
701 static void display(
const vpImage<unsigned char> &I);
702 static void displayArrow(
const vpImage<unsigned char> &I,
const vpImagePoint &ip1,
const vpImagePoint &ip2,
703 const vpColor &color =
vpColor::white,
unsigned int w = 4,
unsigned int h = 2,
704 unsigned int thickness = 1);
705 static void displayArrow(
const vpImage<unsigned char> &I,
int i1,
int j1,
int i2,
int j2,
706 const vpColor &color =
vpColor::white,
unsigned int w = 4,
unsigned int h = 2,
707 unsigned int thickness = 1);
708 static void displayCamera(
const vpImage<unsigned char> &I,
const vpHomogeneousMatrix &cMo,
709 const vpCameraParameters &cam,
double size,
const vpColor &color,
unsigned int thickness);
710 static void displayCircle(
const vpImage<unsigned char> &I,
const vpImageCircle &circle,
711 const vpColor &color,
bool fill =
false,
unsigned int thickness = 1);
712 static void displayCircle(
const vpImage<unsigned char> &I,
const vpImagePoint ¢er,
unsigned int radius,
713 const vpColor &color,
bool fill =
false,
unsigned int thickness = 1);
714 static void displayCircle(
const vpImage<unsigned char> &I,
int i,
int j,
unsigned int radius,
const vpColor &color,
715 bool fill =
false,
unsigned int thickness = 1);
716 static void displayCross(
const vpImage<unsigned char> &I,
const vpImagePoint &ip,
unsigned int size,
717 const vpColor &color,
unsigned int thickness = 1);
718 static void displayCross(
const vpImage<unsigned char> &I,
int i,
int j,
unsigned int size,
const vpColor &color,
719 unsigned int thickness = 1);
720 static void displayDotLine(
const vpImage<unsigned char> &I,
const vpImagePoint &ip1,
const vpImagePoint &ip2,
721 const vpColor &color,
unsigned int thickness = 1);
722 static void displayDotLine(
const vpImage<unsigned char> &I,
int i1,
int j1,
int i2,
int j2,
const vpColor &color,
723 unsigned int thickness = 1);
724 static void displayDotLine(
const vpImage<unsigned char> &I,
const std::vector<vpImagePoint> &ips,
bool closeTheShape,
725 const vpColor &color,
unsigned int thickness = 1);
726 static void displayDotLine(
const vpImage<unsigned char> &I,
const std::list<vpImagePoint> &ips,
bool closeTheShape,
727 const vpColor &color,
unsigned int thickness = 1);
728 static void displayEllipse(
const vpImage<unsigned char> &I,
const vpImagePoint ¢er,
const double &coef1,
729 const double &coef2,
const double &coef3,
bool use_normalized_centered_moments,
730 const vpColor &color,
unsigned int thickness = 1,
bool display_center =
false,
731 bool display_arc =
false);
732 static void displayEllipse(
const vpImage<unsigned char> &I,
const vpImagePoint ¢er,
const double &coef1,
733 const double &coef2,
const double &coef3,
const double &smallalpha,
734 const double &highalpha,
bool use_normalized_centered_moments,
const vpColor &color,
735 unsigned int thickness = 1,
bool display_center =
false,
bool display_arc =
false);
736 static void displayFrame(
const vpImage<unsigned char> &I,
const vpHomogeneousMatrix &cMo,
737 const vpCameraParameters &cam,
double size,
const vpColor &color =
vpColor::none,
738 unsigned int thickness = 1,
const vpImagePoint &offset = vpImagePoint(0, 0),
739 const std::string &frameName =
"",
const vpColor &textColor =
vpColor::black,
const vpImagePoint &textOffset = vpImagePoint(15, 15));
740 static void displayLine(
const vpImage<unsigned char> &I,
const vpImagePoint &ip1,
const vpImagePoint &ip2,
741 const vpColor &color,
unsigned int thickness = 1,
bool segment =
true);
742 static void displayLine(
const vpImage<unsigned char> &I,
int i1,
int j1,
int i2,
int j2,
const vpColor &color,
743 unsigned int thickness = 1,
bool segment =
true);
744 static void displayLine(
const vpImage<unsigned char> &I,
const std::vector<vpImagePoint> &ips,
bool closeTheShape,
745 const vpColor &color,
unsigned int thickness = 1);
746 static void displayLine(
const vpImage<unsigned char> &I,
const std::list<vpImagePoint> &ips,
bool closeTheShape,
747 const vpColor &color,
unsigned int thickness = 1);
748 static void displayPoint(
const vpImage<unsigned char> &I,
const vpImagePoint &ip,
const vpColor &color,
749 unsigned int thickness = 1);
750 static void displayPoint(
const vpImage<unsigned char> &I,
int i,
int j,
const vpColor &color,
751 unsigned int thickness = 1);
752 static void displayPolygon(
const vpImage<unsigned char> &I,
const std::vector<vpImagePoint> &vip,
753 const vpColor &color,
unsigned int thickness = 1,
bool closed =
true);
754 static void displayPolygon(
const vpImage<unsigned char> &I,
const vpPolygon &polygon,
755 const vpColor &color,
unsigned int thickness = 1,
bool closed =
true);
756 static void displayRectangle(
const vpImage<unsigned char> &I,
const vpImagePoint &topLeft,
unsigned int width,
757 unsigned int height,
const vpColor &color,
bool fill =
false,
758 unsigned int thickness = 1);
759 static void displayRectangle(
const vpImage<unsigned char> &I,
const vpImagePoint &topLeft,
760 const vpImagePoint &bottomRight,
const vpColor &color,
bool fill =
false,
761 unsigned int thickness = 1);
762 static void displayRectangle(
const vpImage<unsigned char> &I,
const vpRect &rectangle,
const vpColor &color,
763 bool fill =
false,
unsigned int thickness = 1);
764 static void displayRectangle(
const vpImage<unsigned char> &I,
const vpImagePoint ¢er,
float angle,
765 unsigned int width,
unsigned int height,
const vpColor &color,
766 unsigned int thickness = 1);
767 static void displayRectangle(
const vpImage<unsigned char> &I,
int i,
int j,
unsigned int width,
unsigned int height,
768 const vpColor &color,
bool fill =
false,
unsigned int thickness = 1);
769 static void displayRectangle(
const vpImage<unsigned char> &I,
unsigned int i,
unsigned int j,
float angle,
770 unsigned int width,
unsigned int height,
const vpColor &color,
771 unsigned int thickness = 1);
772 static void displayROI(
const vpImage<unsigned char> &I,
const vpRect &roi);
773 static void displayText(
const vpImage<unsigned char> &I,
const vpImagePoint &ip,
const std::string &s,
774 const vpColor &color);
775 static void displayText(
const vpImage<unsigned char> &I,
int i,
int j,
const std::string &s,
const vpColor &color);
777 static void flush(
const vpImage<unsigned char> &I);
778 static void flushROI(
const vpImage<unsigned char> &I,
const vpRect &roi);
780 static bool getClick(
const vpImage<unsigned char> &I,
bool blocking =
true);
781 static bool getClick(
const vpImage<unsigned char> &I, vpImagePoint &ip,
bool blocking =
true);
783 bool blocking =
true);
786 bool blocking =
true);
788 bool blocking =
true);
789 static unsigned int getDownScalingFactor(
const vpImage<unsigned char> &I);
790 static void getImage(
const vpImage<unsigned char> &Is, vpImage<vpRGBa> &Id);
791 static bool getKeyboardEvent(
const vpImage<unsigned char> &I,
bool blocking =
true);
792 static bool getKeyboardEvent(
const vpImage<unsigned char> &I, std::string &key,
bool blocking =
true);
793 static bool getKeyboardEvent(
const vpImage<unsigned char> &I,
char *key,
bool blocking =
true);
794 static bool getPointerMotionEvent(
const vpImage<unsigned char> &I, vpImagePoint &ip);
795 static bool getPointerPosition(
const vpImage<unsigned char> &I, vpImagePoint &ip);
797 static void setBackground(
const vpImage<unsigned char> &I,
const vpColor &color);
798 static void setFont(
const vpImage<unsigned char> &I,
const std::string &font);
799 static void setTitle(
const vpImage<unsigned char> &I,
const std::string &windowtitle);
800 static void setWindowPosition(
const vpImage<unsigned char> &I,
int winx,
int winy);
807 static void close(vpImage<vpRGBa> &I);
808 static void display(
const vpImage<vpRGBa> &I);
809 static void displayArrow(
const vpImage<vpRGBa> &I,
const vpImagePoint &ip1,
const vpImagePoint &ip2,
810 const vpColor &color =
vpColor::white,
unsigned int w = 4,
unsigned int h = 2,
811 unsigned int thickness = 1);
812 static void displayArrow(
const vpImage<vpRGBa> &I,
int i1,
int j1,
int i2,
int j2,
813 const vpColor &color =
vpColor::white,
unsigned int w = 4,
unsigned int h = 2,
814 unsigned int thickness = 1);
815 static void displayCamera(
const vpImage<vpRGBa> &I,
const vpHomogeneousMatrix &cMo,
const vpCameraParameters &cam,
816 double size,
const vpColor &color,
unsigned int thickness);
817 static void displayCircle(
const vpImage<vpRGBa> &I,
const vpImageCircle &circle,
818 const vpColor &color,
bool fill =
false,
unsigned int thickness = 1);
819 static void displayCircle(
const vpImage<vpRGBa> &I,
const vpImagePoint ¢er,
unsigned int radius,
820 const vpColor &color,
bool fill =
false,
unsigned int thickness = 1);
821 static void displayCircle(
const vpImage<vpRGBa> &I,
int i,
int j,
unsigned int radius,
const vpColor &color,
822 bool fill =
false,
unsigned int thickness = 1);
823 static void displayCross(
const vpImage<vpRGBa> &I,
const vpImagePoint &ip,
unsigned int size,
const vpColor &color,
824 unsigned int thickness = 1);
825 static void displayCross(
const vpImage<vpRGBa> &I,
int i,
int j,
unsigned int size,
const vpColor &color,
826 unsigned int thickness = 1);
827 static void displayDotLine(
const vpImage<vpRGBa> &I,
const vpImagePoint &ip1,
const vpImagePoint &ip2,
828 const vpColor &color,
unsigned int thickness = 1);
829 static void displayDotLine(
const vpImage<vpRGBa> &I,
int i1,
int j1,
int i2,
int j2,
const vpColor &color,
830 unsigned int thickness = 1);
831 static void displayDotLine(
const vpImage<vpRGBa> &I,
const std::vector<vpImagePoint> &ips,
bool closeTheShape,
832 const vpColor &color,
unsigned int thickness = 1);
833 static void displayDotLine(
const vpImage<vpRGBa> &I,
const std::list<vpImagePoint> &ips,
bool closeTheShape,
834 const vpColor &color,
unsigned int thickness = 1);
835 static void displayEllipse(
const vpImage<vpRGBa> &I,
const vpImagePoint ¢er,
const double &coef1,
836 const double &coef2,
const double &coef3,
bool use_centered_moments,
const vpColor &color,
837 unsigned int thickness = 1,
bool display_center =
false,
bool display_arc =
false);
838 static void displayEllipse(
const vpImage<vpRGBa> &I,
const vpImagePoint ¢er,
const double &coef1,
839 const double &coef2,
const double &coef3,
const double &theta1,
const double &theta2,
840 bool use_centered_moments,
const vpColor &color,
unsigned int thickness = 1,
841 bool display_center =
false,
bool display_arc =
false);
842 static void displayFrame(
const vpImage<vpRGBa> &I,
const vpHomogeneousMatrix &cMo,
const vpCameraParameters &cam,
843 double size,
const vpColor &color =
vpColor::none,
unsigned int thickness = 1,
844 const vpImagePoint &offset = vpImagePoint(0, 0),
const std::string &frameName =
"",
845 const vpColor &textColor =
vpColor::black,
const vpImagePoint &textOffset = vpImagePoint(15, 15));
846 static void displayLine(
const vpImage<vpRGBa> &I,
const vpImagePoint &ip1,
const vpImagePoint &ip2,
847 const vpColor &color,
unsigned int thickness = 1,
bool segment =
true);
848 static void displayLine(
const vpImage<vpRGBa> &I,
int i1,
int j1,
int i2,
int j2,
const vpColor &color,
849 unsigned int thickness = 1,
bool segment =
true);
850 static void displayLine(
const vpImage<vpRGBa> &I,
const std::vector<vpImagePoint> &ips,
bool closeTheShape,
851 const vpColor &color,
unsigned int thickness = 1);
852 static void displayLine(
const vpImage<vpRGBa> &I,
const std::list<vpImagePoint> &ips,
bool closeTheShape,
853 const vpColor &color,
unsigned int thickness = 1);
854 static void displayPoint(
const vpImage<vpRGBa> &I,
const vpImagePoint &ip,
const vpColor &color,
855 unsigned int thickness = 1);
856 static void displayPoint(
const vpImage<vpRGBa> &I,
int i,
int j,
const vpColor &color,
unsigned int thickness = 1);
857 static void displayPolygon(
const vpImage<vpRGBa> &I,
const std::vector<vpImagePoint> &vip,
const vpColor &color,
858 unsigned int thickness = 1,
bool closed =
true);
859 static void displayPolygon(
const vpImage<vpRGBa> &I,
const vpPolygon &polygon,
860 const vpColor &color,
unsigned int thickness = 1,
bool closed =
true);
861 static void displayRectangle(
const vpImage<vpRGBa> &I,
const vpImagePoint &topLeft,
unsigned int width,
862 unsigned int height,
const vpColor &color,
bool fill =
false,
863 unsigned int thickness = 1);
864 static void displayRectangle(
const vpImage<vpRGBa> &I,
const vpImagePoint &topLeft,
const vpImagePoint &bottomRight,
865 const vpColor &color,
bool fill =
false,
unsigned int thickness = 1);
866 static void displayRectangle(
const vpImage<vpRGBa> &I,
const vpRect &rectangle,
const vpColor &color,
867 bool fill =
false,
unsigned int thickness = 1);
868 static void displayRectangle(
const vpImage<vpRGBa> &I,
const vpImagePoint ¢er,
float angle,
unsigned int width,
869 unsigned int height,
const vpColor &color,
unsigned int thickness = 1);
870 static void displayRectangle(
const vpImage<vpRGBa> &I,
int i,
int j,
unsigned int width,
unsigned int height,
871 const vpColor &color,
bool fill =
false,
unsigned int thickness = 1);
872 static void displayRectangle(
const vpImage<vpRGBa> &I,
unsigned int i,
unsigned int j,
float angle,
873 unsigned int width,
unsigned int height,
const vpColor &color,
874 unsigned int thickness = 1);
875 static void displayROI(
const vpImage<vpRGBa> &I,
const vpRect &roi);
876 static void displayText(
const vpImage<vpRGBa> &I,
const vpImagePoint &ip,
const std::string &s,
const vpColor &color);
877 static void displayText(
const vpImage<vpRGBa> &I,
int i,
int j,
const std::string &s,
const vpColor &color);
879 static void flush(
const vpImage<vpRGBa> &I);
880 static void flushROI(
const vpImage<vpRGBa> &I,
const vpRect &roi);
882 static bool getClick(
const vpImage<vpRGBa> &I,
bool blocking =
true);
883 static bool getClick(
const vpImage<vpRGBa> &I, vpImagePoint &ip,
bool blocking =
true);
885 bool blocking =
true);
888 bool blocking =
true);
890 static unsigned int getDownScalingFactor(
const vpImage<vpRGBa> &I);
891 static void getImage(
const vpImage<vpRGBa> &Is, vpImage<vpRGBa> &Id);
892 static bool getKeyboardEvent(
const vpImage<vpRGBa> &I,
bool blocking =
true);
893 static bool getKeyboardEvent(
const vpImage<vpRGBa> &I, std::string &key,
bool blocking =
true);
894 static bool getKeyboardEvent(
const vpImage<vpRGBa> &I,
char *key,
bool blocking =
true);
895 static bool getPointerMotionEvent(
const vpImage<vpRGBa> &I, vpImagePoint &ip);
896 static bool getPointerPosition(
const vpImage<vpRGBa> &I, vpImagePoint &ip);
898 static void setBackground(
const vpImage<vpRGBa> &I,
const vpColor &color);
899 static void setFont(
const vpImage<vpRGBa> &I,
const std::string &font);
900 static void setTitle(
const vpImage<vpRGBa> &I,
const std::string &windowtitle);
901 static void setWindowPosition(
const vpImage<vpRGBa> &I,
int winx,
int winy);
904#if defined(VISP_BUILD_DEPRECATED_FUNCTIONS)
909 VP_DEPRECATED static void displayCharString(const vpImage<unsigned char> &I, const vpImagePoint &ip, const char *string,
910 const vpColor &
color);
911 VP_DEPRECATED
static void displayCharString(
const vpImage<unsigned char> &I,
int i,
int j,
const char *
string,
912 const vpColor &color);
913 VP_DEPRECATED
static void displayCharString(
const vpImage<vpRGBa> &I,
const vpImagePoint &ip,
const char *
string,
914 const vpColor &color);
915 VP_DEPRECATED
static void displayCharString(
const vpImage<vpRGBa> &I,
int i,
int j,
const char *
string,
916 const vpColor &color);