40 #include <visp3/core/vpConfig.h>
42 #if (defined(VISP_HAVE_GDI) || defined(VISP_HAVE_D3D9))
43 #ifndef vpWin32Window_HH
44 #define vpWin32Window_HH
46 #ifndef DOXYGEN_SHOULD_SKIP_THIS
51 #include <visp3/core/vpDisplay.h>
52 #include <visp3/core/vpDisplayException.h>
53 #include <visp3/gui/vpGDIRenderer.h>
54 #include <visp3/gui/vpWin32Renderer.h>
58 #define vpWM_GETCLICK WM_USER + 1
59 #define vpWM_DISPLAY WM_USER + 2
60 #define vpWM_GETCLICKUP WM_USER + 3
61 #define vpWM_CLOSEDISPLAY WM_USER + 4
62 #define vpWM_GETPOINTERMOTIONEVENT WM_USER + 5
63 #define vpWM_DISPLAY_ROI WM_USER + 6
66 #define vpNO_BUTTON_QUERY -1
70 class VISP_EXPORT vpWin32Window
109 static bool registered;
112 vpWin32Renderer *renderer;
115 explicit vpWin32Window(vpWin32Renderer *rend = NULL);
116 virtual ~vpWin32Window();
118 HWND getHWnd() {
return hWnd; }
121 bool isInitialized() {
return initialized; }
124 void initWindow(
const char *title,
int posx,
int posy,
unsigned int w,
unsigned int h);
126 void setScale(
unsigned int scale) { renderer->setScale(scale); };
134 friend LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);