Skip to content

Commit f85f3f0

Browse files
committed
gtk/accessible_text_range: Convert to boxed object to make it usable for implementing AccessibleText
1 parent 9ed0619 commit f85f3f0

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

gtk4/src/accessible_text_range.rs

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,32 @@
11
// Take a look at the license at the top of the repository in the LICENSE file.
22

3-
#[derive(Copy, Clone)]
4-
#[doc(alias = "GtkAccessibleTextRange")]
5-
#[repr(transparent)]
6-
pub struct AccessibleTextRange(crate::ffi::GtkAccessibleTextRange);
3+
use crate::ffi;
4+
use glib::translate::*;
5+
6+
glib::wrapper! {
7+
#[doc(alias = "GtkAccessibleTextRange")]
8+
pub struct AccessibleTextRange(BoxedInline<ffi::GtkAccessibleTextRange>);
9+
}
710

811
impl AccessibleTextRange {
12+
pub fn new(start: usize, length: usize) -> Self {
13+
unsafe { AccessibleTextRange::unsafe_from(ffi::GtkAccessibleTextRange { start, length }) }
14+
}
15+
916
pub fn start(&self) -> usize {
10-
self.0.start
17+
self.inner.start
18+
}
19+
20+
pub fn set_start(&mut self, start: usize) {
21+
self.inner.start = start;
1122
}
1223

1324
pub fn length(&self) -> usize {
14-
self.0.length
25+
self.inner.length
26+
}
27+
28+
pub fn set_length(&mut self, length: usize) {
29+
self.inner.length = length
1530
}
1631
}
1732

gtk4/src/lib.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,9 @@ mod tree_view;
199199
mod tree_view_column;
200200
mod widget;
201201

202+
#[cfg(feature = "v4_14")]
203+
#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
204+
pub use accessible_text_range::AccessibleTextRange;
202205
pub use bitset_iter::BitsetIter;
203206
pub use border::Border;
204207
pub use builder_cscope::BuilderCScope;

0 commit comments

Comments
 (0)