Visual Servoing Platform
version 3.7.0
Toggle main menu visibility
Loading...
Searching...
No Matches
vpWin32API.h
1
/*
2
* ViSP, open source Visual Servoing Platform software.
3
* Copyright (C) 2005 - 2024 by Inria. All rights reserved.
4
*
5
* This software is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation; either version 2 of the License, or
8
* (at your option) any later version.
9
* See the file LICENSE.txt at the root directory of this source
10
* distribution for additional information about the GNU GPL.
11
*
12
* For using ViSP with software that can not be combined with the GNU
13
* GPL, please contact Inria about acquiring a ViSP Professional
14
* Edition License.
15
*
16
* See https://visp.inria.fr for more information.
17
*
18
* This software was developed at:
19
* Inria Rennes - Bretagne Atlantique
20
* Campus Universitaire de Beaulieu
21
* 35042 Rennes Cedex
22
* France
23
*
24
* If you have questions regarding the use of this file, please contact
25
* Inria at visp@inria.fr
26
*
27
* This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
28
* WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29
*
30
* Description:
31
* GDI renderer for windows 32 display
32
*/
33
34
#ifndef VP_WIN32_API_H
35
#define VP_WIN32_API_H
36
37
#include <visp3/core/vpConfig.h>
38
39
#if (defined(VISP_HAVE_GDI) || defined(VISP_HAVE_D3D9))
40
// Mute warning with clang-cl
41
// warning : non-portable path to file '<WinSock2.h>'; specified path differs in case from file name on disk [-Wnonportable-system-include-path]
42
// warning : non-portable path to file '<Windows.h>'; specified path differs in case from file name on disk [-Wnonportable-system-include-path]
43
#if defined(__clang__)
44
# pragma clang diagnostic push
45
# pragma clang diagnostic ignored "-Wnonportable-system-include-path"
46
#endif
47
48
// Include WinSock2.h before windows.h to ensure that winsock.h is not
49
// included by windows.h since winsock.h and winsock2.h are incompatible
50
#include <WinSock2.h>
51
#include <string>
52
53
#include <windows.h>
54
55
#if defined(__clang__)
56
# pragma clang diagnostic pop
57
#endif
58
59
BEGIN_VISP_NAMESPACE
60
61
DWORD vpProcessErrors(
const
std::string &api_name);
62
void
vpSelectObject(HWND hWnd, HDC hDC, HDC hDCMem, HGDIOBJ h);
63
void
vpPrepareImageWithPen(CRITICAL_SECTION *CriticalSection, HWND hWnd, HBITMAP bmp, COLORREF color,
64
unsigned
int
thickness,
int
style, HDC &hDCScreen, HDC &hDCMem, HPEN &hPen);
65
void
vpEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
66
void
vpLeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection);
67
BOOL vpReleaseSemaphore(HANDLE hSemaphore, LONG IReleaseCount, LPLONG lpPreviousCount);
68
BOOL vpLineTo(HDC hdc,
int
nXEnd,
int
nYEnd);
69
BOOL vpMoveToEx(HDC hdc,
int
X,
int
Y, LPPOINT lpPoint);
70
BOOL vpBitBlt(HDC hdcDest,
int
nXDest,
int
nYDest,
int
nWidth,
int
nHeight, HDC hdcSrc,
int
nXSrc,
int
nYSrc,
71
DWORD dwRop);
72
BOOL vpInvalidateRect(HWND hWnd,
const
RECT *lpRect, BOOL bErase);
73
COLORREF vpSetPixel(HDC hdc,
int
X,
int
Y, COLORREF crColor);
74
HBITMAP vpCreateBitmap(
int
nWidth,
int
nHeight, UINT cPlanes, UINT cBitsPerPel,
const
VOID *lpvBits);
75
76
END_VISP_NAMESPACE
77
#endif
78
#endif
BEGIN_VISP_NAMESPACE
Definition
vpMbtDistanceCircle.cpp:55
modules
gui
include
visp3
gui
vpWin32API.h
Generated by
1.17.0