34#ifndef VP_DISPLAY_WIN32_H
35#define VP_DISPLAY_WIN32_H
37#include <visp3/core/vpConfig.h>
38#include <visp3/core/vpDisplay.h>
40#if (defined(VISP_HAVE_GDI) || defined(VISP_HAVE_D3D9))
44#include <visp3/core/vpImage.h>
50# pragma clang diagnostic push
51# pragma clang diagnostic ignored "-Wnonportable-system-include-path"
57#include <visp3/core/vpImagePoint.h>
58#include <visp3/core/vpRect.h>
59#include <visp3/gui/vpWin32Renderer.h>
60#include <visp3/gui/vpWin32Window.h>
65# pragma clang diagnostic pop
70#ifndef DOXYGEN_SHOULD_SKIP_THIS
77 vpDisplayWin32 *vpDisp;
147 unsigned int height) VP_OVERRIDE;
155 void getScreenSize(
unsigned int &width,
unsigned int &height) VP_OVERRIDE;
158 void init(
vpImage<
unsigned char> &I,
int winx = -1,
int winy = -1, const std::
string &title =
"") VP_OVERRIDE;
159 void init(
vpImage<
vpRGBa> &I,
int winx = -1,
int winy = -1, const std::
string &title =
"") VP_OVERRIDE;
160 void init(
unsigned int width,
unsigned int height,
int winx = -1,
int winy = -1, const std::
string &title =
"") VP_OVERRIDE;
162 void setFont(const std::
string &fontname) VP_OVERRIDE;
169 void setTitle(
const std::string &windowtitle) VP_OVERRIDE;
174 unsigned int w = 4,
unsigned int h = 2,
unsigned int thickness = 1) VP_OVERRIDE;
176 void displayCircle(const
vpImagePoint ¢er,
unsigned int radius, const
vpColor &color,
bool fill = false,
177 unsigned int thickness = 1) VP_OVERRIDE;
179 void displayCross(const
vpImagePoint &ip,
unsigned int size, const
vpColor &color,
unsigned int thickness = 1) VP_OVERRIDE;
182 unsigned int thickness = 1) VP_OVERRIDE;
186 void displayPoint(const
vpImagePoint &ip, const
vpColor &color,
unsigned int thickness = 1) VP_OVERRIDE;
188 void displayRectangle(const
vpImagePoint &topLeft,
unsigned int width,
unsigned int height, const
vpColor &color,
189 bool fill = false,
unsigned int thickness = 1) VP_OVERRIDE;
191 bool fill = false,
unsigned int thickness = 1) VP_OVERRIDE;
192 void displayRectangle(const
vpRect &rectangle, const
vpColor &color,
bool fill = false,
unsigned int thickness = 1) VP_OVERRIDE;
196 bool getClick(
bool blocking = true) VP_OVERRIDE;
197 bool getClick(
vpImagePoint &ip,
bool blocking = true) VP_OVERRIDE;
201 bool getKeyboardEvent(
bool blocking = true) VP_OVERRIDE;
202 bool getKeyboardEvent(std::
string &key,
bool blocking) VP_OVERRIDE;
203 bool getPointerMotionEvent(
vpImagePoint &ip) VP_OVERRIDE;
Class to define RGB colors available for display functionalities.
static const vpColor white
void init(vpImage< unsigned char > &I, int winx=-1, int winy=-1, const std::string &title="") VP_OVERRIDE
void displayImageROI(const vpImage< unsigned char > &I, const vpImagePoint &iP, unsigned int width, unsigned int height) VP_OVERRIDE
DWORD threadId
Id of the window's thread.
vpWin32Window window
The window.
unsigned int getScreenWidth() VP_OVERRIDE
void displayImage(const vpImage< vpRGBa > &I) VP_OVERRIDE
void closeDisplay() VP_OVERRIDE
VP_EXPLICIT vpDisplayWin32(vpWin32Renderer *rend=nullptr)
unsigned int getScreenHeight() VP_OVERRIDE
HANDLE hThread
Handle of the window's thread.
friend void vpCreateWindow(threadParam *param)
Function used to launch the window in a thread.
void flushDisplayROI(const vpImagePoint &iP, unsigned int width, unsigned int height) VP_OVERRIDE
Flush the Win32 buffer.
void setDownScalingFactor(unsigned int scale) VP_OVERRIDE
bool iStatus
Initialization status.
void getScreenSize(unsigned int &width, unsigned int &height) VP_OVERRIDE
void getImage(vpImage< vpRGBa > &I) VP_OVERRIDE
void flushDisplay() VP_OVERRIDE
Flush the Win32 buffer.
void setFont(const std::string &fontname) VP_OVERRIDE
Set the font used to display text.
void setDownScalingFactor(vpScaleType scaleType) VP_OVERRIDE
void clearDisplay(const vpColor &color=vpColor::white) VP_OVERRIDE
static const int MAX_INIT_DELAY
Maximum delay for window initialization.
static void display(const vpImage< unsigned char > &I)
static void setTitle(const vpImage< unsigned char > &I, const std::string &windowtitle)
static void displayArrow(const vpImage< unsigned char > &I, const vpImagePoint &ip1, const vpImagePoint &ip2, const vpColor &color=vpColor::white, unsigned int w=4, unsigned int h=2, unsigned int thickness=1)
static void setWindowPosition(const vpImage< unsigned char > &I, int winx, int winy)
Class that defines a 2D point in an image. This class is useful for image processing and stores only ...
Definition of the vpImage class member functions.
Defines a rectangle in the plane.