@@ -62,35 +62,51 @@ void framebufferio_framebufferdisplay_collect_ptrs(framebufferio_framebufferdisp
62
62
63
63
mp_obj_t common_hal_framebufferio_framebufferdisplay_get_framebuffer (framebufferio_framebufferdisplay_obj_t * self );
64
64
65
- typedef void (* framebuffer_get_bufinfo_fun )(mp_obj_t , mp_buffer_info_t * bufinfo );
66
- typedef void (* framebuffer_swapbuffers_fun )(mp_obj_t );
67
- typedef void (* framebuffer_deinit_fun )(mp_obj_t );
68
- typedef bool (* framebuffer_set_brightness_fun )(mp_obj_t , mp_float_t );
69
- typedef mp_float_t (* framebuffer_get_brightness_fun )(mp_obj_t );
70
- typedef bool (* framebuffer_set_auto_brightness_fun )(mp_obj_t , bool );
71
65
typedef bool (* framebuffer_get_auto_brightness_fun )(mp_obj_t );
72
- typedef int (* framebuffer_get_width_fun )(mp_obj_t );
73
- typedef int (* framebuffer_get_height_fun )(mp_obj_t );
74
- typedef int (* framebuffer_get_row_stride_fun )(mp_obj_t );
75
- typedef int (* framebuffer_get_first_pixel_offset_fun )(mp_obj_t );
76
- typedef int (* framebuffer_get_color_depth_fun )(mp_obj_t );
66
+ typedef bool (* framebuffer_get_reverse_pixels_in_byte_fun )(mp_obj_t );
67
+ typedef bool (* framebuffer_get_reverse_pixels_in_word_fun )(mp_obj_t );
68
+ typedef bool (* framebuffer_set_auto_brightness_fun )(mp_obj_t , bool );
69
+ typedef bool (* framebuffer_set_brightness_fun )(mp_obj_t , mp_float_t );
77
70
typedef int (* framebuffer_get_bytes_per_cell_fun )(mp_obj_t );
71
+ typedef int (* framebuffer_get_color_depth_fun )(mp_obj_t );
72
+ typedef int (* framebuffer_get_first_pixel_offset_fun )(mp_obj_t );
73
+ typedef int (* framebuffer_get_grayscale_fun )(mp_obj_t );
74
+ typedef int (* framebuffer_get_height_fun )(mp_obj_t );
78
75
typedef int (* framebuffer_get_native_frames_per_second_fun )(mp_obj_t );
76
+ typedef int (* framebuffer_get_pixels_in_byte_share_row_fun )(mp_obj_t );
77
+ typedef int (* framebuffer_get_row_stride_fun )(mp_obj_t );
78
+ typedef int (* framebuffer_get_width_fun )(mp_obj_t );
79
+ typedef mp_float_t (* framebuffer_get_brightness_fun )(mp_obj_t );
80
+ typedef void (* framebuffer_deinit_fun )(mp_obj_t );
81
+ typedef void (* framebuffer_get_bufinfo_fun )(mp_obj_t , mp_buffer_info_t * bufinfo );
82
+ typedef void (* framebuffer_swapbuffers_fun )(mp_obj_t );
79
83
80
84
typedef struct _framebuffer_p_t {
81
85
MP_PROTOCOL_HEAD // MP_QSTR_protocol_framebuffer
86
+
87
+ // Mandatory
82
88
framebuffer_get_bufinfo_fun get_bufinfo ;
83
89
framebuffer_swapbuffers_fun swapbuffers ;
84
90
framebuffer_deinit_fun deinit ;
85
91
framebuffer_get_width_fun get_width ;
86
92
framebuffer_get_height_fun get_height ;
87
- framebuffer_get_color_depth_fun get_color_depth ;
88
- framebuffer_get_bytes_per_cell_fun get_bytes_per_cell ;
89
- framebuffer_get_native_frames_per_second_fun get_native_frames_per_second ;
93
+
94
+ // Optional getters
95
+ framebuffer_get_bytes_per_cell_fun get_bytes_per_cell ; // default: 2
96
+ framebuffer_get_color_depth_fun get_color_depth ; // default: 16
97
+ framebuffer_get_first_pixel_offset_fun get_first_pixel_offset ; // default: 0
98
+ framebuffer_get_grayscale_fun get_grayscale ; // default: grayscale if depth < 8
99
+ framebuffer_get_native_frames_per_second_fun get_native_frames_per_second ; // default: 60
100
+ framebuffer_get_pixels_in_byte_share_row_fun get_pixels_in_byte_share_row ; // default: false
101
+ framebuffer_get_reverse_pixels_in_byte_fun get_reverse_pixels_in_byte ; // default: false
102
+ framebuffer_get_reverse_pixels_in_word_fun get_reverse_pixels_in_word ; // default: false
103
+ framebuffer_get_row_stride_fun get_row_stride ; // default: 0 (no extra row padding)
104
+
105
+ // Optional -- default is no brightness control
90
106
framebuffer_get_brightness_fun get_brightness ;
91
107
framebuffer_set_brightness_fun set_brightness ;
92
- framebuffer_get_row_stride_fun get_row_stride ;
93
- framebuffer_get_first_pixel_offset_fun get_first_pixel_offset ;
108
+
109
+ // Optional -- default is no automatic brightness control
94
110
framebuffer_get_auto_brightness_fun get_auto_brightness ;
95
111
framebuffer_set_auto_brightness_fun set_auto_brightness ;
96
112
} framebuffer_p_t ;
0 commit comments