NVIDIA DeepStream SDK API Reference

6.4 Release
abi_window.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 
14 #ifndef _DS3D_COMMON_ABI_WINDOW_H
15 #define _DS3D_COMMON_ABI_WINDOW_H
16 
17 #include <ds3d/common/common.h>
18 #include <ds3d/common/abi_obj.h>
20 
21 namespace ds3d {
22 
23 // ABI Interface for window system
24 class abiWindow {
25 public:
26  // window closed callback
28  // key pressed callback function(int key, int scancode, int action, int mods)
30  // framebuffer size changed callback function(int width, int height)
32 
33  // mouse cursor changed callback function(double xpos, double ypos)
35 
36  virtual ~abiWindow() = default;
37  // get GLFWwindow raw pointer
38  virtual void* getNativeWindow() = 0;
39  // set close event callback
40  virtual void setCloseCallback(const CloseCB* closeCb) = 0;
41  // set key pressed event callback
42  virtual void setKeyPressCallback(const KeyPressCB* keyCb) = 0;
43  // set frame buffer size changed event callback
44  virtual void setFbSizeChangedCallback(const FbSizeChangedCB* fbSizeChangedCb) = 0;
45  // set mouse changed event callback, replace all other callbacks
46  virtual void setMouseChangedCallback(const MouseChangedCB* mouseChangedCb) = 0;
47  // append mouse changed event callback
48  virtual void appendMouseChangedCallback(const MouseChangedCB* mouseChangedCb) = 0;
49 };
50 
51 // raw reference pointer for abiWindow
53 
54 } // namespace ds3d
55 
56 #endif // _DS3D_COMMON_ABI_WINDOW_H
ds3d::abiWindow::setMouseChangedCallback
virtual void setMouseChangedCallback(const MouseChangedCB *mouseChangedCb)=0
ds3d::abiWindow::setKeyPressCallback
virtual void setKeyPressCallback(const KeyPressCB *keyCb)=0
ds3d::abiWindow::KeyPressCB
abiCallBackT< int, int, int, int > KeyPressCB
Definition: abi_window.h:29
ds3d::abiWindow::FbSizeChangedCB
abiCallBackT< int, int > FbSizeChangedCB
Definition: abi_window.h:31
ds3d::abiRefWindow
abiRefT< abiWindow > abiRefWindow
Definition: abi_window.h:52
ds3d::abiRefT< abiWindow >
ds3d::abiWindow::CloseCB
abiCallBackT CloseCB
Definition: abi_window.h:27
ds3d::abiWindow::setCloseCallback
virtual void setCloseCallback(const CloseCB *closeCb)=0
abi_dataprocess.h
common.h
ds3d::abiWindow
Definition: abi_window.h:24
ds3d::abiWindow::getNativeWindow
virtual void * getNativeWindow()=0
abi_obj.h
ds3d::abiWindow::MouseChangedCB
abiCallBackT< double, double > MouseChangedCB
Definition: abi_window.h:34
ds3d::abiWindow::appendMouseChangedCallback
virtual void appendMouseChangedCallback(const MouseChangedCB *mouseChangedCb)=0
ds3d::abiWindow::~abiWindow
virtual ~abiWindow()=default
ds3d
Definition: lidar_3d_datatype.h:33
ds3d::abiCallBackT
Definition: abi_obj.h:71
ds3d::abiWindow::setFbSizeChangedCallback
virtual void setFbSizeChangedCallback(const FbSizeChangedCB *fbSizeChangedCb)=0