diff options
author | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2018-08-10 11:06:47 +0300 |
---|---|---|
committer | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2019-06-10 19:40:27 +0300 |
commit | 8462d1acebcaeaa7198c79a996e40fd57a92ce25 (patch) | |
tree | 26d00f3ef61ac2766d9979498fc99c44f9f30963 /ui/src/types | |
parent | befe00dea632aca4aa042c4e7e0d0412f769b1ab (diff) |
Add HtmlView, bounds checking in pager scrolling and better attachment view
Diffstat (limited to 'ui/src/types')
-rw-r--r-- | ui/src/types/helpers.rs | 4 | ||||
-rw-r--r-- | ui/src/types/position.rs | 16 |
2 files changed, 19 insertions, 1 deletions
diff --git a/ui/src/types/helpers.rs b/ui/src/types/helpers.rs index cd0d32b7..37afb0c3 100644 --- a/ui/src/types/helpers.rs +++ b/ui/src/types/helpers.rs @@ -22,6 +22,7 @@ use std; use std::io::Write; use std::path::PathBuf; +use std::fs::OpenOptions; use uuid::Uuid; @@ -38,8 +39,9 @@ impl Drop for File { impl File { pub fn file(&mut self) -> std::fs::File { - std::fs::File::create(&self.path).unwrap() + OpenOptions::new().read(true).write(true).create(true).open(&self.path).unwrap() } + pub fn path(&self) -> &PathBuf { &self.path } diff --git a/ui/src/types/position.rs b/ui/src/types/position.rs index 34b89f18..ea12117c 100644 --- a/ui/src/types/position.rs +++ b/ui/src/types/position.rs @@ -55,6 +55,22 @@ pub fn set_y(p: Pos, new_y: usize) -> Pos { /// ``` pub type Area = (Pos, Pos); +/// Get an area's height +/// +/// Example: +/// ``` +/// use ui::position; +/// +/// let new_area = ((0, 0), (1, 1)); +/// assert_eq!(height!(new_area), 1); +/// ``` +#[macro_export] +macro_rules! height { + ($a:expr) => { + (get_y(bottom_right!($a))).saturating_sub(get_y(upper_left!($a))) + }; +} + /// Get the upper left Position of an area /// /// Example: |