/** * @file lbl.h * @brief LBL service IPC wrapper. * @author SciresM, exelix * @copyright libnx Authors */ #pragma once #include "../types.h" #include "../sf/service.h" typedef enum { LblBacklightSwitchStatus_Disabled = 0, LblBacklightSwitchStatus_Enabled = 1, LblBacklightSwitchStatus_Enabling = 2, LblBacklightSwitchStatus_Disabling = 3, } LblBacklightSwitchStatus; /// Initialize lbl. Result lblInitialize(void); /// Exit lbl. void lblExit(void); /// Gets the Service object for the actual lbl service session. Service* lblGetServiceSession(void); Result lblSaveCurrentSetting(void); Result lblLoadCurrentSetting(void); /** * @note The brightness goes from 0 to 1.0. */ Result lblSetCurrentBrightnessSetting(float brightness); Result lblGetCurrentBrightnessSetting(float *out_value); Result lblApplyCurrentBrightnessSettingToBacklight(void); Result lblGetBrightnessSettingAppliedToBacklight(float *out_value); Result lblSwitchBacklightOn(u64 fade_time); Result lblSwitchBacklightOff(u64 fade_time); Result lblGetBacklightSwitchStatus(LblBacklightSwitchStatus *out_value); Result lblEnableDimming(void); Result lblDisableDimming(void); Result lblIsDimmingEnabled(bool *out_value); Result lblEnableAutoBrightnessControl(void); Result lblDisableAutoBrightnessControl(void); Result lblIsAutoBrightnessControlEnabled(bool *out_value); Result lblSetAmbientLightSensorValue(float value); /** * @note Used internally by \ref appletGetAmbientLightSensorValue and \ref appletGetCurrentIlluminanceEx. */ Result lblGetAmbientLightSensorValue(bool *over_limit, float *lux); /** * @note Only available on [3.0.0+]. * @note Used internally by \ref appletIsIlluminanceAvailable. */ Result lblIsAmbientLightSensorAvailable(bool *out_value); /** * @note Only available on [3.0.0+]. */ Result lblSetCurrentBrightnessSettingForVrMode(float brightness); /** * @note Only available on [3.0.0+]. */ Result lblGetCurrentBrightnessSettingForVrMode(float *out_value); /** * @note Only available on [3.0.0+]. * @note Used internally by \ref appletSetVrModeEnabled. */ Result lblEnableVrMode(void); /** * @note Only available on [3.0.0+]. * @note Used internally by \ref appletSetVrModeEnabled. */ Result lblDisableVrMode(void); /** * @note Only available on [3.0.0+]. * @note Used internally by \ref appletIsVrModeEnabled. */ Result lblIsVrModeEnabled(bool *out_value);