Copyright Matus Chochlik. Distributed under the Boost Software License, Version 1.0. See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt
#include <iostream>
#include <vector>
auto main() -> int {
std::cout << "Generic extensions: " << std::endl;
if(
ok extensions = egl.get_extensions()) {
for(auto name : extensions) {
std::cout << " " << name << std::endl;
}
} else {
std::cerr <<
"failed to get extension list: " << (!extensions).
message()
<< std::endl;
}
std::cout << std::endl;
if(egl.get_display) {
if(
ok display = egl.get_display()) {
if(auto init_res = egl.initialize(display)) {
auto do_cleanup = egl.terminate.raii(display);
if(
ok vendor = egl.query_string(display, egl.vendor)) {
std::cout <<
"Vendor: " <<
extract(vendor) << std::endl;
}
if(
ok version = egl.query_string(display, egl.version)) {
std::cout <<
"Version: " <<
extract(version) << std::endl;
}
std::cout << "Display extensions: " << std::endl;
if(
ok extensions = egl.get_extensions(display)) {
for(auto name : extensions) {
std::cout << " " << name << std::endl;
}
} else {
std::cerr << "failed to get extension list: "
<< (!extensions).
message() << std::endl;
}
} else {
std::cout << "missing required API function." << std::endl;
}
}
}
return 0;
}
EGL-related code is placed in this namespace.
Definition: eglplus.hpp:11
Common code is placed in this namespace.
Definition: eagine.hpp:21
static constexpr auto extract(api_result_value< Result, api_result_validity::never > &) noexcept -> Result &
Overload of extract for api_result_value.
Definition: c_api_wrap.hpp:270
Value typically wrapping function call result and success indicator.
Definition: extract.hpp:128
basic_egl_api< egl_api_traits > egl_api
Alias for the default instantation of basic_egl_api.
Definition: egl_api_fwd.hpp:20
@ message
Message protocol.