-typedef struct _tdm_virtual_output_data tdm_virtual_output_data;
-typedef struct _tdm_virtual_voutput_data tdm_virtual_voutput_data;
-typedef struct _tdm_virtual_layer_data tdm_virtual_layer_data;
-typedef struct _tdm_virtual_event_data tdm_virtual_event_data;
-
-typedef enum {
- TDM_VIRTUAL_EVENT_TYPE_WAIT,
- TDM_VIRTUAL_EVENT_TYPE_COMMIT,
- TDM_VIRTUAL_EVENT_TYPE_VCOMMIT,
-} tdm_virtual_event_type;
-
-struct _tdm_virtual_event_data {
- struct list_head link;
-
- tdm_virtual_event_type type;
- tdm_virtual_output_data *output_data;
- void *user_data;
-};
-
-struct _tdm_virtual_output_data {
- struct list_head link;
-
- /* data which are fixed at initializing */
- tdm_virtual_data *virtual_data;
- tdm_virtual_voutput_data *voutput_data;
-
- char name[TDM_NAME_LEN]; /* output name */
- uint32_t pipe;
- tdm_output_type connector_type;
- struct list_head layer_list;
- tdm_virtual_layer_data *primary_layer;
-
- tdm_output_dpms dpms;
-
- /* not fixed data below */
- tdm_output_vblank_handler vblank_func;
- tdm_output_commit_handler commit_func;
- void *commit_user_data;
-
- tdm_output_conn_status status;
- tdm_output_status_handler status_func;
- void *status_user_data;
-
- int mode_changed;
- const tdm_output_mode *current_mode;
-
- tdm_event_loop_source *timer;
- unsigned int timer_waiting;
- struct list_head timer_event_list;
-};
-
-struct _tdm_virtual_voutput_data {
- struct list_head link;
-
- /* data which are fixed at initializing */
- tdm_virtual_data *virtual_data;
- tdm_virtual_output_data *output_data;
-
- char name[TDM_NAME_LEN]; /* output name */
-
- tdm_voutput_commit_handler vcommit_func;
-
- tdm_output_mode *output_modes;
- int mode_count;
-
- unsigned int mmwidth;
- unsigned int mmheight;
-};
-
-
-struct _tdm_virtual_layer_data {
- struct list_head link;
-
- /* data which are fixed at initializing */
- tdm_virtual_data *virtual_data;
- tdm_virtual_output_data *output_data;
- tdm_layer_capability capabilities;
- int zpos;
-
- /* not fixed data below */
- tdm_info_layer info;
- int info_changed;
-
- tbm_surface_h display_buffer;
- int display_buffer_changed;
-};
-