e6bb4c6d94945f60161fcb5800194b81424aad93
[platform/core/system/deviced.git] / src / display / display-panel.h
1 /*
2  * deviced
3  *
4  * Copyright (c) 2023 Samsung Electronics Co., Ltd.
5  *
6  * Licensed under the Apache License, Version 2.0 (the License);
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  *     http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18
19 #ifndef __DISPLAY_PANEL_H__
20 #define __DISPLAY_PANEL_H__
21
22 #include <hal/device/hal-display.h>
23
24 #include "display-dpms.h"
25 #include "shared/devices.h"
26
27 int display_panel_set_dpms_state(int dpms_on, enum device_flags flags);
28 int display_panel_set_white_balance(enum hal_display_white_balance white_balance_type, int value);
29 int display_panel_get_white_balance(enum hal_display_white_balance white_balance_type, int* out_val);
30 int display_panel_set_panel_state_by_on_state(enum device_flags flags);
31 int display_panel_set_panel_state_by_off_state(enum device_flags flags);
32 int display_panel_set_panel_state_by_standby_state(bool standby_on);
33 void display_panel_set_lcd_paneloff_mode(bool on);
34 void display_panel_get_lcd_paneloff_mode(bool *on);
35 void display_panel_lcd_on_procedure(int state, enum device_flags flag);
36 void display_panel_lcd_off_procedure(enum device_flags flag);
37 bool display_panel_is_lcd_on_state_broadcasted(void);
38 void display_panel_update_lcd_on_timeval(void);
39 int display_panel_calculate_diff_time_between_lcd_on_direct_and_state_action(int *diff_time);
40 /* Deprecated functions */
41 int display_panel_set_image_effect(enum display_image_effect effect);
42 int display_panel_get_image_effect(enum display_image_effect *effect);
43 int display_panel_set_panel_mode(enum display_panel_mode mode);
44 int display_panel_get_panel_mode(enum display_panel_mode *mode);
45 int display_panel_set_frame_rate(int frame_rate);
46 int display_panel_get_frame_rate(int *frame_rate);
47 int display_panel_get_dpms_state(void);
48
49 int display_panel_get_dpms_cached_state(void);
50 bool display_panel_init_dpms(void);
51 void display_panel_exit_dpms(void);
52 void __display_panel_register_dpms_checklist(int mode, void (*checker)(void), const char *caller);
53 #define display_panel_register_dpms_checklist(mode, checker) __display_panel_register_dpms_checklist(mode, checker, __func__)
54
55 void display_panel_set_dpms_running_state(int val);
56
57 #endif /* __DISPLAY_PANEL_H__ */