Source code for picogl.backend.gl.state.query

from typing import Tuple, Union

from picogl.backend.gl.state.param import GLParam


[docs] class GLStateQuery: """Encapsulates glGet* calls in a typed, extensible way."""
[docs] def get(self, param: GLParam) -> Union[int, float, Tuple]: spec = param.value raw = spec.getter(spec.pname) # PyOpenGL returns: # - scalar for length=1 # - array-like for length>1 if spec.length == 1: return raw return tuple(raw[: spec.length])