libtransistor
A userland library for the Nintendo Switch
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
vi.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 #include<libtransistor/types.h>
13 #include<libtransistor/ipc/am.h>
16 
21 
30 result_t vi_open_display(const char *name, display_t *out);
31 
38 
45 
54 result_t vi_create_stray_layer(uint32_t unknown, display_t *display, uint64_t *layer_id, igbp_t *igbp);
55 
64 result_t vi_open_layer(const char *display_name, uint64_t layer_id, aruid_t aruid, igbp_t *igbp);
65 
71 result_t vi_close_layer(uint64_t layer_id);
72 
81 result_t vi_create_managed_layer(uint32_t unknown, display_t *display, uint64_t aruid, uint64_t *layer_id);
82 
88 result_t vi_destroy_managed_layer(uint64_t layer_id);
89 
97 result_t vi_adjust_refcount(int32_t handle, int32_t addval, int32_t type);
98 
110 result_t vi_transact_parcel(int32_t handle, uint32_t transaction, uint32_t flags, void *in_parcel, size_t in_parcel_size, void *out_parcel, size_t out_parcel_size);
111 
115 result_t vi_get_native_handle(int32_t handle, uint32_t native_id, revent_h *out);
116 
123 result_t vi_imds_set_layer_visibility(bool visible, uint64_t layer_id);
124 
134 result_t vi_imds_set_display_layer_stack(uint32_t stack, display_t *display);
135 
142 result_t vi_imds_add_to_layer_stack(uint32_t stack, uint64_t layer_id);
143 
152 result_t vi_imds_set_conductor_layer(bool conductor, uint64_t layer_id);
153 
160 
167 result_t vi_isds_get_z_order_count_min(uint64_t layer_id, int64_t *z_count_min);
168 
175 result_t vi_isds_get_z_order_count_max(uint64_t layer_id, int64_t *z_count_max);
176 
184 result_t vi_isds_get_display_logical_resolution(display_t *display, int32_t *width, int32_t *height);
185 
193 result_t vi_isds_set_layer_position(float x, float y, uint64_t layer_id);
194 
202 result_t vi_isds_set_layer_size(uint64_t layer_id, int64_t width, int64_t height);
203 
210 result_t vi_isds_get_layer_z(uint64_t layer_id, int64_t *z);
211 
218 result_t vi_isds_set_layer_z(uint64_t layer_id, int64_t z);
219 
226 result_t vi_isds_set_layer_visibility(bool visible, uint64_t layer_id);
227 
234 result_t vi_iads_set_display_enabled(bool enabled, display_t *display);
235 
244 result_t vi_iads_set_layer_scaling_mode(uint32_t scaling_mode, uint64_t layer_id);
245 
249 void vi_finalize();
250 
251 #ifdef __cplusplus
252 }
253 #endif
result_t vi_transact_parcel(int32_t handle, uint32_t transaction, uint32_t flags, void *in_parcel, size_t in_parcel_size, void *out_parcel, size_t out_parcel_size)
Transact parcel.
Various system types.
result_t vi_open_layer(const char *display_name, uint64_t layer_id, aruid_t aruid, igbp_t *igbp)
Open a managed layer.
Represents a physical display.
Definition: display.h:19
IGraphicBufferProducer object.
Definition: graphic_buffer_queue.h:24
result_t vi_iads_set_display_enabled(bool enabled, display_t *display)
IApplicationDisplayServices - Set display enabled.
result_t vi_isds_get_display_logical_resolution(display_t *display, int32_t *width, int32_t *height)
ISystemDisplayServices - Get display logical resolution.
result_t vi_imds_set_content_visibility(bool visible)
IManagerDisplayServices - Set content visibility.
void vi_finalize()
Finalize visual services.
result_t vi_create_managed_layer(uint32_t unknown, display_t *display, uint64_t aruid, uint64_t *layer_id)
Create a managed layer.
result_t vi_init()
Initialize visual services.
result_t vi_isds_set_layer_size(uint64_t layer_id, int64_t width, int64_t height)
ISystemDisplayServices - Set layer size.
result_t vi_create_stray_layer(uint32_t unknown, display_t *display, uint64_t *layer_id, igbp_t *igbp)
Create a stray layer.
result_t vi_imds_set_conductor_layer(bool conductor, uint64_t layer_id)
IManagerDisplayServices - Set conductor layer.
uint32_t result_t
Function result.
Definition: types.h:51
handle_t revent_h
revent handle
Definition: types.h:47
result_t vi_imds_set_display_layer_stack(uint32_t stack, display_t *display)
IManagerDisplayServices - Set display layer stack.
result_t vi_adjust_refcount(int32_t handle, int32_t addval, int32_t type)
Adjust reference count.
Display data structures and functions.
AM (Applet Manager)
result_t vi_imds_set_layer_visibility(bool visible, uint64_t layer_id)
IManagerDisplayServices - Set layer visibility.
result_t vi_open_display(const char *name, display_t *out)
Open display.
result_t vi_isds_set_layer_z(uint64_t layer_id, int64_t z)
ISystemDisplayServices - Set layer Z order.
result_t vi_imds_add_to_layer_stack(uint32_t stack, uint64_t layer_id)
IManagerDisplayServices - Add to layer stack.
result_t vi_close_display(display_t *display)
Close display.
result_t vi_isds_get_z_order_count_max(uint64_t layer_id, int64_t *z_count_max)
ISystemDisplayServices - Get Z order count maximum.
Display surface data structures and functions.
result_t vi_isds_get_z_order_count_min(uint64_t layer_id, int64_t *z_count_min)
ISystemDisplayServices - Get Z order count minimum.
result_t vi_close_layer(uint64_t layer_id)
Close a managed layer.
result_t vi_get_native_handle(int32_t handle, uint32_t native_id, revent_h *out)
Get a native handle from a binder.
result_t vi_destroy_managed_layer(uint64_t layer_id)
Destroy a managed layer.
result_t vi_isds_set_layer_visibility(bool visible, uint64_t layer_id)
ISystemDisplayServices - Set layer visibility.
result_t vi_isds_set_layer_position(float x, float y, uint64_t layer_id)
ISystemDisplayServices - Set layer position.
result_t vi_get_display_vsync_event(display_t *display)
Get the V-Sync event for the given display.
uint64_t aruid_t
Applet resource user id.
Definition: types.h:52
result_t vi_isds_get_layer_z(uint64_t layer_id, int64_t *z)
ISystemDisplayServices - Get layer Z order.
result_t vi_iads_set_layer_scaling_mode(uint32_t scaling_mode, uint64_t layer_id)
IApplicationDisplayServices - Set layer scaling mode.