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 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360
/// C++ type: <span style='color: green;'>```QAbstractOpenGLFunctions```</span>
///
/// <a href="http://doc.qt.io/qt-5/qabstractopenglfunctions.html">C++ documentation:</a> <div style='border: 1px solid #5CFF95; background: #D6FFE4; padding: 16px;'><p>The <a href="http://doc.qt.io/qt-5/qabstractopenglfunctions.html">QAbstractOpenGLFunctions</a> class is the base class of a family of classes that expose all functions for each OpenGL version and profile.</p>
/// <p>OpenGL implementations on different platforms are able to link to a variable number of OpenGL functions depending upon the OpenGL ABI on that platform. For example, on Microsoft Windows only functions up to those in OpenGL 1.1 can be linked to at build time. All other functions must be resolved at runtime. The traditional solution to this has been to use either <a href="http://doc.qt.io/qt-5/qopenglcontext.html#getProcAddress">QOpenGLContext::getProcAddress</a>() or <a href="http://doc.qt.io/qt-5/qopenglfunctions.html">QOpenGLFunctions</a>. The former is tedious and error prone and means dealing directly with function pointers. The latter only exposes those functions common to OpenGL ES 2 and desktop OpenGL. There is however much new OpenGL functionality that is useful when writing real world OpenGL applications.</p>
/// <p>Qt now provides a family of classes which all inherit from <a href="http://doc.qt.io/qt-5/qabstractopenglfunctions.html">QAbstractOpenGLFunctions</a> which expose every core OpenGL function by way of a corresponding member function. There is a class for every valid combination of OpenGL version and profile. Each class follows the naming convention:</p>
/// <pre class="cpp plain">
/// QOpenGLFunctions_<MAJOR VERSION>_<MINOR VERSION>[_PROFILE]
///
/// </pre>
/// <p>For OpenGL versions 1.0 through to 3.0 there are no profiles, leading to the classes:</p>
/// <ul>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-1-0.html">QOpenGLFunctions_1_0</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-1-1.html">QOpenGLFunctions_1_1</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-1-2.html">QOpenGLFunctions_1_2</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-1-3.html">QOpenGLFunctions_1_3</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-1-4.html">QOpenGLFunctions_1_4</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-1-5.html">QOpenGLFunctions_1_5</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-2-0.html">QOpenGLFunctions_2_0</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-2-1.html">QOpenGLFunctions_2_1</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-3-0.html">QOpenGLFunctions_3_0</a></li>
/// </ul>
/// <p>where each class inherits from <a href="http://doc.qt.io/qt-5/qabstractopenglfunctions.html">QAbstractOpenGLFunctions</a>.</p>
/// <p>OpenGL version 3.1 removed many deprecated functions leading to a much simpler and generic API.</p>
/// <p>With OpenGL 3.2 the concept of profiles was introduced. Two profiles are currently defined for OpenGL: Core and Compatibility.</p>
/// <p>The Core profile does not include any of the functions that were removed in OpenGL 3.1. The Compatibility profile contains all functions in the Core profile of the same version plus all of the functions that were removed in OpenGL 3.1. In this way the Compatibility profile classes allow use of newer OpenGL functionality but also allows you to keep using your legacy OpenGL code. For new OpenGL code the Core profile should be preferred.</p>
/// <p>Please note that some vendors, notably Apple, do not implement the Compatibility profile. Therefore if you wish to target new OpenGL features on <a href="http://doc.qt.io/qt-5/internationalization.html#macos">macOS</a> then you should ensure that you request a Core profile context via <a href="http://doc.qt.io/qt-5/qsurfaceformat.html#setProfile">QSurfaceFormat::setProfile</a>().</p>
/// <p>Qt provides classes for all version and Core and Compatibility profile combinations. The classes for OpenGL versions 3.1 through to 4.3 are:</p>
/// <ul>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-3-1.html">QOpenGLFunctions_3_1</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-3-2-core.html">QOpenGLFunctions_3_2_Core</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-3-2-compatibility.html">QOpenGLFunctions_3_2_Compatibility</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-3-3-core.html">QOpenGLFunctions_3_3_Core</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-3-3-compatibility.html">QOpenGLFunctions_3_3_Compatibility</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-4-0-core.html">QOpenGLFunctions_4_0_Core</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-4-0-compatibility.html">QOpenGLFunctions_4_0_Compatibility</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-4-1-core.html">QOpenGLFunctions_4_1_Core</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-4-1-compatibility.html">QOpenGLFunctions_4_1_Compatibility</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-4-2-core.html">QOpenGLFunctions_4_2_Core</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-4-2-compatibility.html">QOpenGLFunctions_4_2_Compatibility</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-4-3-core.html">QOpenGLFunctions_4_3_Core</a></li>
/// <li><a href="http://doc.qt.io/qt-5/qopenglfunctions-4-3-compatibility.html">QOpenGLFunctions_4_3_Compatibility</a></li>
/// </ul>
/// <p>where each class inherits from <a href="http://doc.qt.io/qt-5/qabstractopenglfunctions.html">QAbstractOpenGLFunctions</a>.</p>
/// <p>A pointer to an object of the class corresponding to the version and profile of OpenGL in use can be obtained from <a href="http://doc.qt.io/qt-5/qopenglcontext.html#versionFunctions-1">QOpenGLContext::versionFunctions</a>(). If obtained in this way, note that the <a href="http://doc.qt.io/qt-5/qopenglcontext.html">QOpenGLContext</a> retains ownership of the object. This is so that only one instance need be created.</p>
/// <p>Before calling any of the exposed OpenGL functions you must ensure that the object has resolved the function pointers to the OpenGL functions. This only needs to be done once per instance with initializeOpenGLFunctions(). Once initialized, the object can be used to call any OpenGL function for the corresponding version and profile. Note that initializeOpenGLFunctions() can fail in some circumstances so check the return value. Situations in which initialization can fail are if you have a functions object for a version or profile that contains functions that are not part of the context being used to resolve the function pointers.</p>
/// <p>If you exclusively use function objects then you will get compile time errors if you attempt to use a function not included in that version and profile. This is obviously a lot easier to debug than undefined behavior at run time.</p></div>
#[repr(C)]
pub struct AbstractOpenGLFunctions(u8);
impl AbstractOpenGLFunctions {
/// C++ method: <span style='color: green;'>```virtual bool QAbstractOpenGLFunctions::initializeOpenGLFunctions()```</span>
///
///
pub fn initialize_opengl_functions(&mut self) -> bool {
unsafe { ::ffi::qt_gui_c_QAbstractOpenGLFunctions_initializeOpenGLFunctions(self as *mut ::opengl_version_functions::AbstractOpenGLFunctions) }
}
}
impl ::cpp_utils::CppDeletable for ::opengl_version_functions::AbstractOpenGLFunctions {
fn deleter() -> ::cpp_utils::Deleter<Self> {
::ffi::qt_gui_c_QAbstractOpenGLFunctions_delete
}
}
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_0_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions10CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_0_DeprecatedBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions10DeprecatedBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_1_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions11CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_1_DeprecatedBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions11DeprecatedBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_2_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions12CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_2_DeprecatedBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions12DeprecatedBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_3_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions13CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_3_DeprecatedBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions13DeprecatedBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_4_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions14CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_4_DeprecatedBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions14DeprecatedBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_5_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions15CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_2_0_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions20CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_2_0_DeprecatedBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions20DeprecatedBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_2_1_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions21CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_0_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions30CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_0_DeprecatedBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions30DeprecatedBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_1_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions31CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_2_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions32CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_3_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions33CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_3_DeprecatedBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions33DeprecatedBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_0_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions40CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_1_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions41CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_2_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions42CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_3_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions43CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_4_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions44CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_5_CoreBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions45CoreBackend(u8);
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_5_DeprecatedBackend```</span>
#[repr(C)]
pub struct OpenGLFunctions45DeprecatedBackend(u8);
pub mod opengl_functions1_0_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_0_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_0_deprecated_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_0_DeprecatedBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_1_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_1_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_1_deprecated_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_1_DeprecatedBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_2_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_2_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_2_deprecated_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_2_DeprecatedBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_3_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_3_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_3_deprecated_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_3_DeprecatedBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_4_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_4_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_4_deprecated_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_4_DeprecatedBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions1_5_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_1_5_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions2_0_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_2_0_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions2_0_deprecated_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_2_0_DeprecatedBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions2_1_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_2_1_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions3_0_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_0_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions3_0_deprecated_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_0_DeprecatedBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions3_1_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_1_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions3_2_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_2_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions3_3_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_3_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions3_3_deprecated_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_3_3_DeprecatedBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions4_0_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_0_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions4_1_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_1_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions4_2_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_2_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions4_3_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_3_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions4_4_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_4_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions4_5_core_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_5_CoreBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}
pub mod opengl_functions4_5_deprecated_backend {
/// C++ type: <span style='color: green;'>```QOpenGLFunctions_4_5_DeprecatedBackend::Functions```</span>
#[repr(C)]
pub struct Functions(u8);
}