v2 / vlib / v / fmt / tests / c_struct_init_keep.vv
30 lines · 28 sloc · 868 bytes · c51d30bf5309653c6b573ec815268e69a78ea8cc
Raw
1module main
2
3fn abc() {
4 desc := C.sapp_desc{
5 width: a.width
6 height: a.height
7 user_data: &a
8 init_userdata_cb: init
9 frame_userdata_cb: frame
10 event_userdata_cb: event
11 window_title: title.str
12 html5_canvas_name: title.str
13 cleanup_userdata_cb: cleanup
14 }
15}
16
17fn init(user_data voidptr) {
18 desc := C.sg_desc{
19 mtl_device: sapp.metal_get_device()
20 mtl_renderpass_descriptor_cb: sapp.metal_get_renderpass_descriptor
21 mtl_drawable_cb: sapp.metal_get_drawable
22 d3d11_device: sapp.d3d11_get_device()
23 d3d11_device_context: sapp.d3d11_get_device_context()
24 d3d11_render_target_view_cb: sapp.d3d11_get_render_target_view
25 d3d11_depth_stencil_view_cb: sapp.d3d11_get_depth_stencil_view
26 }
27 sgl_desc := C.sgl_desc_t{
28 max_vertices: 50 * 65536
29 }
30}
31