OSVR-Core
0.6-1962-g59773924
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Modules
Pages
ButtonCallback.cpp
Go to the documentation of this file.
1
11
// Copyright 2014 Sensics, Inc.
12
//
13
// Licensed under the Apache License, Version 2.0 (the "License");
14
// you may not use this file except in compliance with the License.
15
// You may obtain a copy of the License at
16
//
17
// http://www.apache.org/licenses/LICENSE-2.0
18
//
19
// Unless required by applicable law or agreed to in writing, software
20
// distributed under the License is distributed on an "AS IS" BASIS,
21
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
// See the License for the specific language governing permissions and
23
// limitations under the License.
24
25
// Internal Includes
26
#include <
osvr/ClientKit/Context.h
>
27
#include <
osvr/ClientKit/Interface.h
>
28
29
// Library/third-party includes
30
// - none
31
32
// Standard includes
33
#include <iostream>
34
35
void
myButtonCallback(
void
*
/*userdata*/
,
const
OSVR_TimeValue
*
/*timestamp*/
,
36
const
OSVR_ButtonReport
*report) {
37
std::cout <<
"Got report: button is "
38
<< (report->
state
?
"pressed"
:
"released"
) << std::endl;
39
}
40
41
int
main() {
42
osvr::clientkit::ClientContext
context(
43
"com.osvr.exampleclients.ButtonCallback"
);
44
45
// This is just one of the paths: specifically, the Hydra's left
46
// controller's button labelled "1". More are in the docs and/or listed on
47
// startup
48
osvr::clientkit::Interface
button1 =
49
context.getInterface(
"/controller/left/1"
);
50
51
button1.registerCallback(&myButtonCallback, NULL);
52
53
// Pretend that this is your application's mainloop.
54
for
(
int
i = 0; i < 1000000; ++i) {
55
context.update();
56
}
57
58
std::cout <<
"Library shut down, exiting."
<< std::endl;
59
return
0;
60
}
osvr::clientkit::Interface
Interface handle object. Typically acquired from a ClientContext.
Definition:
Interface_decl.h:54
osvr::clientkit::ClientContext
Client context object: Create and keep one in your application. Handles lifetime management and provi...
Definition:
Context_decl.h:57
Context.h
Header.
OSVR_ButtonReport
Report type for a callback on a button interface.
Definition:
ClientReportTypesC.h:225
OSVR_ButtonReport::state
OSVR_ButtonState state
The button state: 1 is pressed, 0 is not pressed.
Definition:
ClientReportTypesC.h:229
Interface.h
Header containing the inline implementation of Interface.
OSVR_TimeValue
Standardized, portable parallel to struct timeval for representing both absolute times and time inter...
Definition:
TimeValueC.h:81
examples
clients
ButtonCallback.cpp
Generated on Tue May 16 2017 15:22:39 for OSVR-Core by
Doxygen
1.8.8