Encode rem values derived from pixels using rems_from_px
(#9367)
This PR adds a new `rems_from_px` helper function that can be used to compute rem values based on a pixel value. This is something we do fairly commonly, where we want to express a size that is a given pixel size at the base rem size (e.g., "14px when the rem size is 16px"). `rems_from_px` helps make the intent more explicit, as well as prevent the base rem size from being duplicated everywhere. Note: Ideally we would want `rems_from_px` to be `const`, but that depends on https://github.com/rust-lang/rust/issues/57241. Release Notes: - N/A
This commit is contained in:
parent
a78576a6db
commit
404adbce5b
13 changed files with 54 additions and 35 deletions
|
@ -4,6 +4,8 @@ use gpui::{
|
|||
use settings::Settings;
|
||||
use theme::{ActiveTheme, ThemeSettings};
|
||||
|
||||
use crate::rems_from_px;
|
||||
|
||||
#[derive(Debug, Default, Clone)]
|
||||
pub enum UiTextSize {
|
||||
/// The default size for UI text.
|
||||
|
@ -38,10 +40,10 @@ pub enum UiTextSize {
|
|||
impl UiTextSize {
|
||||
pub fn rems(self) -> Rems {
|
||||
match self {
|
||||
Self::Large => rems(16. / 16.),
|
||||
Self::Default => rems(14. / 16.),
|
||||
Self::Small => rems(12. / 16.),
|
||||
Self::XSmall => rems(10. / 16.),
|
||||
Self::Large => rems_from_px(16.),
|
||||
Self::Default => rems_from_px(14.),
|
||||
Self::Small => rems_from_px(12.),
|
||||
Self::XSmall => rems_from_px(10.),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue