1extern "C" {
10 fn view_get_size() -> i64;
11 fn view_get_standard_distance() -> f32;
12 fn view_get_aspect_ratio() -> f32;
13 fn view_set_near_plane_distance(val: f32);
14 fn view_get_near_plane_distance() -> f32;
15 fn view_set_far_plane_distance(val: f32);
16 fn view_get_far_plane_distance() -> f32;
17 fn view_set_field_of_view(val: f32);
18 fn view_get_field_of_view() -> f32;
19 fn view_set_scale(val: f32);
20 fn view_get_scale() -> f32;
21 fn view_set_post_effect(val: i64);
22 fn view_get_post_effect() -> i64;
23 fn view_set_post_effect_null();
24 fn view_set_vsync(val: i32);
25 fn view_is_vsync() -> i32;
26}
27use crate::dora::IObject;
28pub struct View { }
30impl View {
31 pub fn get_size() -> crate::dora::Size {
33 return unsafe { crate::dora::Size::from(view_get_size()) };
34 }
35 pub fn get_standard_distance() -> f32 {
37 return unsafe { view_get_standard_distance() };
38 }
39 pub fn get_aspect_ratio() -> f32 {
41 return unsafe { view_get_aspect_ratio() };
42 }
43 pub fn set_near_plane_distance(val: f32) {
45 unsafe { view_set_near_plane_distance(val) };
46 }
47 pub fn get_near_plane_distance() -> f32 {
49 return unsafe { view_get_near_plane_distance() };
50 }
51 pub fn set_far_plane_distance(val: f32) {
53 unsafe { view_set_far_plane_distance(val) };
54 }
55 pub fn get_far_plane_distance() -> f32 {
57 return unsafe { view_get_far_plane_distance() };
58 }
59 pub fn set_field_of_view(val: f32) {
61 unsafe { view_set_field_of_view(val) };
62 }
63 pub fn get_field_of_view() -> f32 {
65 return unsafe { view_get_field_of_view() };
66 }
67 pub fn set_scale(val: f32) {
69 unsafe { view_set_scale(val) };
70 }
71 pub fn get_scale() -> f32 {
73 return unsafe { view_get_scale() };
74 }
75 pub fn set_post_effect(val: &crate::dora::SpriteEffect) {
77 unsafe { view_set_post_effect(val.raw()) };
78 }
79 pub fn get_post_effect() -> Option<crate::dora::SpriteEffect> {
81 return unsafe { crate::dora::SpriteEffect::from(view_get_post_effect()) };
82 }
83 pub fn set_post_effect_null() {
85 unsafe { view_set_post_effect_null(); }
86 }
87 pub fn set_vsync(val: bool) {
89 unsafe { view_set_vsync(if val { 1 } else { 0 }) };
90 }
91 pub fn is_vsync() -> bool {
93 return unsafe { view_is_vsync() != 0 };
94 }
95}