/usr/include/visp/vpWin32Window.h is in libvisp-dev 2.8.0-4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | /****************************************************************************
*
* $Id: vpWin32Window.h 4056 2013-01-05 13:04:42Z fspindle $
*
* This file is part of the ViSP software.
* Copyright (C) 2005 - 2013 by INRIA. All rights reserved.
*
* This software is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* ("GPL") version 2 as published by the Free Software Foundation.
* See the file LICENSE.txt at the root directory of this source
* distribution for additional information about the GNU GPL.
*
* For using ViSP with software that can not be combined with the GNU
* GPL, please contact INRIA about acquiring a ViSP Professional
* Edition License.
*
* See http://www.irisa.fr/lagadic/visp/visp.html for more information.
*
* This software was developed at:
* INRIA Rennes - Bretagne Atlantique
* Campus Universitaire de Beaulieu
* 35042 Rennes Cedex
* France
* http://www.irisa.fr/lagadic
*
* If you have questions regarding the use of this file, please contact
* INRIA at visp@inria.fr
*
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
*
* Description:
* Windows 32 display's window class
*
* Authors:
* Bruno Renier
* Anthony Saunier
*
*****************************************************************************/
#include <visp/vpConfig.h>
#if ( defined(VISP_HAVE_GDI) || defined(VISP_HAVE_D3D9) )
#ifndef vpWin32Window_HH
#define vpWin32Window_HH
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#include <windows.h>
#include <visp/vpWin32Renderer.h>
#include <visp/vpGDIRenderer.h>
#include <visp/vpDisplay.h>
#include <visp/vpDisplayException.h>
//ViSP-defined messages for window's callback function
#define vpWM_GETCLICK WM_USER+1
#define vpWM_DISPLAY WM_USER+2
#define vpWM_GETCLICKUP WM_USER+3
#define vpWM_CLOSEDISPLAY WM_USER+4
#define vpWM_GETPOINTERMOTIONEVENT WM_USER+5
#define vpWM_DISPLAY_ROI WM_USER+6
//No specific mouse button query
#define vpNO_BUTTON_QUERY -1
class vpDisplayWin32;
class VISP_EXPORT vpWin32Window
{
private :
HINSTANCE hInst;
//! Window's handle
HWND hWnd;
//! Window is initialized
bool initialized;
//! Handle for the initialization semaphore
HANDLE semaInit;
//! Handle for the getClick semaphore
HANDLE semaClick;
//! Handle for the getClickUp semaphore
HANDLE semaClickUp;
//! Handle for the keyborad event semaphore
HANDLE semaKey;
//! Handle for the mouse event semaphore
HANDLE semaMove;
//! X coordinate of the click
int clickX;
int clickXUp;
//! Y coordinate of the click
int clickY;
int clickYUp;
//! X coordinate of the mouse
int coordX;
//! Y coordinate of the mouse
int coordY;
// Keyboard key
char lpString[10];
//! Button used for the click
vpMouseButton::vpMouseButtonType clickButton;
vpMouseButton::vpMouseButtonType clickButtonUp;
//! True if the window's class has already been registered
static bool registered;
//! The renderer used by the window
vpWin32Renderer * renderer;
public:
vpWin32Window(vpWin32Renderer * rend = NULL);
virtual ~vpWin32Window();
//! Returns the displayed image's width
unsigned int getImageWidth(){ return renderer->getImageWidth(); }
//! Returns the displayed image's height
unsigned int getImageHeight(){ return renderer->getImageHeight(); }
//! Returns the window's handle
HWND getHWnd(){ return hWnd;}
//! Returns true if the window is initialized
bool isInitialized(){ return initialized; }
//! Initialize the window
void initWindow(const char* title, int posx, int posy, unsigned int w, unsigned int h);
// Friend classes
friend class vpDisplayWin32;
friend class vpDisplayD3D;
friend class vpDisplayGDI;
//! The message loop
friend LRESULT CALLBACK WndProc(HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam);
};
#endif
#endif
#endif
|