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
70class 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); };
129 friend class vpDisplayWin32;
130 friend class vpDisplayD3D;
131 friend class vpDisplayGDI;
134 friend LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
Base abstract class for Windows 32 displays. Implements the window creation in a separate thread and ...