/*! @brief Sets the current gamma ramp for the specified monitor. * * This function sets the current gamma ramp for the specified monitor. The * original gamma ramp for that monitor is saved by GLFW the first time this * function is called and is restored by @ref glfwTerminate. * * @param[in] monitor The monitor whose gamma ramp to set. * @param[in] ramp The gamma ramp to use. * * @remarks Gamma ramp sizes other than 256 are not supported by all platforms * or graphics hardware. * * @remarks __Windows:__ The gamma ramp size must be 256. * * @par Pointer Lifetime * The specified gamma ramp is copied before this function returns. * * @par Thread Safety * This function may only be called from the main thread. * * @sa @ref monitor_gamma * * @since Added in GLFW 3.0. * * @ingroup monitor */ internal static extern void glfwSetGammaRamp(GLFWmonitor* monitor, const GLFWgammaramp* ramp);
/*! @brief Returns the physical size of the monitor. * * This function returns the size, in millimetres, of the display area of the * specified monitor. * * Some systems do not provide accurate monitor size information, either * because the monitor * [EDID](https://en.wikipedia.org/wiki/Extended_display_identification_data) * data is incorrect or because the driver does not report it accurately. * * Any or all of the size arguments may be `NULL`. If an error occurs, all * non-`NULL` size arguments will be set to zero. * * @param[in] monitor The monitor to query. * @param[out] widthMM Where to store the width, in millimetres, of the * monitor's display area, or `NULL`. * @param[out] heightMM Where to store the height, in millimetres, of the * monitor's display area, or `NULL`. * * @remarks __Windows:__ The OS calculates the returned physical size from the * current resolution and system DPI instead of querying the monitor EDID data. * * @par Thread Safety * This function may only be called from the main thread. * * @sa @ref monitor_properties * * @since Added in GLFW 3.0. * * @ingroup monitor */ internal static extern void glfwGetMonitorPhysicalSize(GLFWmonitor* monitor, int* widthMM, int* heightMM);
/*! @brief Generates a gamma ramp and sets it for the specified monitor. * * This function generates a 256-element gamma ramp from the specified exponent * and then calls @ref glfwSetGammaRamp with it. The value must be a finite * number greater than zero. * * @param[in] monitor The monitor whose gamma ramp to set. * @param[in] gamma The desired exponent. * * @par Thread Safety * This function may only be called from the main thread. * * @sa @ref monitor_gamma * * @since Added in GLFW 3.0. * * @ingroup monitor */ internal static extern void glfwSetGamma(GLFWmonitor* monitor, float gamma);
/*! @brief Returns the position of the monitor's viewport on the virtual screen. * * This function returns the position, in screen coordinates, of the upper-left * corner of the specified monitor. * * Any or all of the position arguments may be `NULL`. If an error occurs, all * non-`NULL` position arguments will be set to zero. * * @param[in] monitor The monitor to query. * @param[out] xpos Where to store the monitor x-coordinate, or `NULL`. * @param[out] ypos Where to store the monitor y-coordinate, or `NULL`. * * @par Thread Safety * This function may only be called from the main thread. * * @sa @ref monitor_properties * * @since Added in GLFW 3.0. * * @ingroup monitor */ internal static extern void glfwGetMonitorPos(GLFWmonitor* monitor, int* xpos, int* ypos);