image/scrollable: Abstract adjustment access
This commit is contained in:
parent
3ab4d82d36
commit
d69d0d5e47
3 changed files with 35 additions and 25 deletions
|
|
@ -20,6 +20,9 @@ use super::*;
|
|||
impl ScrollableImpl for imp::LpImage {}
|
||||
|
||||
impl imp::LpImage {
|
||||
/// Adjustment setter needed for Scrollable implementation
|
||||
///
|
||||
/// The adjustment get's set by the `GtkScrolledWindow`
|
||||
pub fn set_hadjustment(&self, hadjustment: Option<gtk::Adjustment>) {
|
||||
let obj = self.obj();
|
||||
|
||||
|
|
@ -100,6 +103,26 @@ impl LpImage {
|
|||
);
|
||||
}
|
||||
|
||||
pub fn set_hadj_value(&self, value: f64) {
|
||||
let hadjustment = self.hadjustment();
|
||||
let value = value.clamp(0., hadjustment.upper() - hadjustment.page_size());
|
||||
hadjustment.set_value(value);
|
||||
}
|
||||
|
||||
pub fn set_vadj_value(&self, value: f64) {
|
||||
let vadjustment = self.vadjustment();
|
||||
let value = value.clamp(0., vadjustment.upper() - vadjustment.page_size());
|
||||
self.vadjustment().set_value(value);
|
||||
}
|
||||
|
||||
pub fn hadj_value(&self) -> f64 {
|
||||
self.hadjustment().value()
|
||||
}
|
||||
|
||||
pub fn vadj_value(&self) -> f64 {
|
||||
self.vadjustment().value()
|
||||
}
|
||||
|
||||
pub fn max_hadjustment_value(&self) -> f64 {
|
||||
f64::max(self.image_displayed_width() - self.widget_width(), 0.)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue