1use pinnacle_api_defs::pinnacle::{
6 debug::v1::{
7 SetCursorPlaneScanoutRequest, SetDamageVisualizationRequest,
8 SetOpaqueRegionVisualizationRequest, SetProcessPipingRequest,
9 },
10 util::v1::SetOrToggle,
11};
12
13use crate::{client::Client, BlockOnTokio};
14
15pub fn set_damage_visualization(set: bool) {
20 Client::debug()
21 .set_damage_visualization(SetDamageVisualizationRequest {
22 set_or_toggle: match set {
23 true => SetOrToggle::Set,
24 false => SetOrToggle::Unset,
25 }
26 .into(),
27 })
28 .block_on_tokio()
29 .unwrap();
30}
31
32pub fn toggle_damage_visualization() {
37 Client::debug()
38 .set_damage_visualization(SetDamageVisualizationRequest {
39 set_or_toggle: SetOrToggle::Toggle.into(),
40 })
41 .block_on_tokio()
42 .unwrap();
43}
44
45pub fn set_opaque_region_visualization(set: bool) {
51 Client::debug()
52 .set_opaque_region_visualization(SetOpaqueRegionVisualizationRequest {
53 set_or_toggle: match set {
54 true => SetOrToggle::Set,
55 false => SetOrToggle::Unset,
56 }
57 .into(),
58 })
59 .block_on_tokio()
60 .unwrap();
61}
62
63pub fn toggle_opaque_region_visualization() {
69 Client::debug()
70 .set_opaque_region_visualization(SetOpaqueRegionVisualizationRequest {
71 set_or_toggle: SetOrToggle::Toggle.into(),
72 })
73 .block_on_tokio()
74 .unwrap();
75}
76
77pub fn set_cursor_plane_scanout(set: bool) {
79 Client::debug()
80 .set_cursor_plane_scanout(SetCursorPlaneScanoutRequest {
81 set_or_toggle: match set {
82 true => SetOrToggle::Set,
83 false => SetOrToggle::Unset,
84 }
85 .into(),
86 })
87 .block_on_tokio()
88 .unwrap();
89}
90
91pub fn toggle_cursor_plane_scanout() {
93 Client::debug()
94 .set_cursor_plane_scanout(SetCursorPlaneScanoutRequest {
95 set_or_toggle: SetOrToggle::Toggle.into(),
96 })
97 .block_on_tokio()
98 .unwrap();
99}
100
101pub fn set_process_piping(set: bool) {
103 Client::debug()
104 .set_process_piping(SetProcessPipingRequest {
105 set_or_toggle: match set {
106 true => SetOrToggle::Set,
107 false => SetOrToggle::Unset,
108 }
109 .into(),
110 })
111 .block_on_tokio()
112 .unwrap();
113}
114
115pub fn toggle_process_piping() {
117 Client::debug()
118 .set_process_piping(SetProcessPipingRequest {
119 set_or_toggle: SetOrToggle::Toggle.into(),
120 })
121 .block_on_tokio()
122 .unwrap();
123}