From: Ian Jackson Date: Sat, 14 May 2022 21:50:56 +0000 (+0100) Subject: Rename RectOutline and CircleOutline X-Git-Tag: otter-1.1.0~162 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=d327238938fbe602b0a289ec246b3404a524d106;p=otter.git Rename RectOutline and CircleOutline These are outlines and we are going to want an enum for just the shapes. Well, that's the Defn from shapelib but we want it more generally. Signed-off-by: Ian Jackson --- diff --git a/src/clock.rs b/src/clock.rs index b3c5da3c..30aebecb 100644 --- a/src/clock.rs +++ b/src/clock.rs @@ -3,7 +3,7 @@ // There is NO WARRANTY. use crate::prelude::*; -use shapelib::RectShape; +use shapelib::RectOutline; use nix::sys::time::TimeValLike as TVL; @@ -389,7 +389,7 @@ impl ThreadState { const W: Coord = 40; const H: Coord = 14; -const OUTLINE: RectShape = RectShape { xy: PosC::new(W as f64, H as f64) }; +const OUTLINE: RectOutline = RectOutline { xy: PosC::new(W as f64, H as f64) }; // ==================== piece management, loading, etc. ==================== diff --git a/src/deck.rs b/src/deck.rs index ecdfcaef..10fb6d97 100644 --- a/src/deck.rs +++ b/src/deck.rs @@ -11,7 +11,7 @@ pub const ENABLED_DESC : HtmlLit = Html::lit("a pickup deck (enabled)"); #[derive(Debug,Serialize,Deserialize)] struct Deck { - shape: GenericSimpleShape<(), RectShape>, + shape: GenericSimpleShape<(), RectOutline>, label: Option, } @@ -45,7 +45,7 @@ impl PieceSpec for piece_specs::Deck { edge_width: self.edge_width, }; let shape = match self.shape { - Outline::RectShape(r) => r, + Outline::RectOutline(r) => r, _ => throw!(SpecError::UnsupportedShape), }; let shape = GenericSimpleShape::new( diff --git a/src/dice.rs b/src/dice.rs index 014182df..d858c6a2 100644 --- a/src/dice.rs +++ b/src/dice.rs @@ -68,7 +68,7 @@ struct Die { itemname: String, labels: IndexVec, // if .len()==1, always use [0] image: Arc, // if image.nfaces()==1, always use face 0 - surround_outline: CircleShape, + surround_outline: CircleOutline, cooldown_radius: f64, cooldown_time: Duration, } @@ -157,7 +157,7 @@ impl PieceSpec for Spec { } else { throw!(SpecError::InvalidSizeScale) }; - let surround_outline = CircleShape { diam: radius * 2. }; + let surround_outline = CircleOutline { diam: radius * 2. }; let cooldown_radius = radius + COOLDOWN_EXTRA_RADIUS; let cooldown_time = { diff --git a/src/hand.rs b/src/hand.rs index c5b8bc7b..960e38af 100644 --- a/src/hand.rs +++ b/src/hand.rs @@ -15,7 +15,7 @@ struct MagicOwner { #[derive(Debug,Serialize,Deserialize)] struct Hand { - shape: GenericSimpleShape<(), RectShape>, + shape: GenericSimpleShape<(), RectOutline>, label: Option, #[serde(default="Behaviour::backcompat_upgrade")] #[serde(alias="sort")] @@ -96,7 +96,7 @@ impl piece_specs::OwnedCommon { edge_width: self.edge_width, }; let shape = match self.shape { - Outline::RectShape(r) => r, + Outline::RectOutline(r) => r, _ => throw!(SpecError::UnsupportedShape), }; let shape = GenericSimpleShape::new( diff --git a/src/imports.rs b/src/imports.rs index 94c2864b..f1aa955b 100644 --- a/src/imports.rs +++ b/src/imports.rs @@ -100,7 +100,7 @@ pub use crate::pcaliases::*; pub use crate::pcrender::*; pub use crate::pieces::*; pub use crate::shapelib; -pub use crate::shapelib::{CircleShape, RectShape}; +pub use crate::shapelib::{CircleOutline, RectOutline}; pub use crate::shapelib::{ItemEnquiryData, LibraryEnquiryData}; pub use crate::shapelib::{LibraryLoadError}; pub use crate::spec::*; diff --git a/src/pieces.rs b/src/pieces.rs index 0b83470c..9c3c2683 100644 --- a/src/pieces.rs +++ b/src/pieces.rs @@ -185,7 +185,7 @@ impl Option { impl PieceLabelLoaded { #[throws(IE)] pub fn svg(&self, f: &mut Html, - outline: &RectShape, + outline: &RectOutline, def_colour: Option<&Colour>, text: &Html) { let colour = { @@ -310,7 +310,7 @@ pub trait SimplePieceSpec: Debug { impl SimplePieceSpec for piece_specs::Disc { #[throws(SpecError)] fn load_raw(&self) -> (SimpleShape, &SimpleCommon) { - let outline = CircleShape { diam: self.diam as f64 }; + let outline = CircleOutline { diam: self.diam as f64 }; (SimpleShape::new( Html::lit("disc").into(), outline.into(), @@ -335,7 +335,7 @@ impl piece_specs::Rect { impl SimplePieceSpec for piece_specs::Rect { #[throws(SpecError)] fn load_raw(&self) -> (SimpleShape, &SimpleCommon) { - let outline = RectShape { xy: self.xy()?.map(|v| v as f64) }; + let outline = RectOutline { xy: self.xy()?.map(|v| v as f64) }; let desc = Html::lit( if outline.xy.x() == outline.xy.y() { "square" } else { "rectangle" } diff --git a/src/shapelib.rs b/src/shapelib.rs index 4a979345..4737e1d9 100644 --- a/src/shapelib.rs +++ b/src/shapelib.rs @@ -795,7 +795,7 @@ pub trait OutlineDefnTrait: Debug + Sync + Send + 'static { /// with a dummy svg_gz of `[1,1]`. That must correctly predict /// success with other sizes. fn load(&self, size: PosC) -> Outline { - RectShape { xy: size }.into() + RectOutline { xy: size }.into() } fn load_mf1(&self, group: &GroupData) -> Result; @@ -830,12 +830,12 @@ impl_via_ambassador!{ impl OutlineDefnTrait for OutlineDefnEnum { defn() } } -//---------- RectShape ---------- +//---------- RectOutline ---------- #[derive(Clone,Copy,Debug,Serialize,Deserialize)] -pub struct RectShape { pub xy: PosC } +pub struct RectOutline { pub xy: PosC } -impl RectShape { +impl RectOutline { // Used by code elsewhere eg deck.rs for occultation boundaries etc. #[throws(CoordinateOverflow)] pub fn rect(&self, nominal: Pos) -> RectC { @@ -860,7 +860,7 @@ impl RectShape { } #[dyn_upcast] -impl OutlineTrait for RectShape { +impl OutlineTrait for RectOutline { #[throws(IE)] fn outline_path(&self, scale: f64) -> Html { let xy = (self.xy * scale)?; @@ -886,7 +886,7 @@ impl OutlineTrait for RectShape { struct RectDefn; impl OutlineDefnTrait for RectDefn { fn load(&self, size: PosC) -> Outline { - RectShape { xy: size }.into() + RectOutline { xy: size }.into() } #[throws(LibraryLoadError)] @@ -897,13 +897,13 @@ impl OutlineDefnTrait for RectDefn { } } -//---------- CircleShape ---------- +//---------- CircleOutline ---------- #[derive(Clone,Copy,Debug,Serialize,Deserialize)] -pub struct CircleShape { pub diam: f64 } +pub struct CircleOutline { pub diam: f64 } #[dyn_upcast] -impl OutlineTrait for CircleShape { +impl OutlineTrait for CircleOutline { #[throws(IE)] fn outline_path(&self, scale: f64) -> Html { svg_circle_path(self.diam * scale)? @@ -928,7 +928,7 @@ impl OutlineDefnTrait for CircleDefn { .map(OrderedFloat) .max().unwrap(). into_inner(); - CircleShape { + CircleOutline { diam, }.into() } @@ -940,7 +940,7 @@ impl OutlineDefnTrait for CircleDefn { size => throw!(LLE::WrongNumberOfSizeDimensions { got: size.len(), expected: [1,1] }), }; - CircleShape { + CircleOutline { diam, }.into() } diff --git a/src/spec.rs b/src/spec.rs index f933dada..b0a57a68 100644 --- a/src/spec.rs +++ b/src/spec.rs @@ -259,14 +259,14 @@ pub struct ItemSpec { mod outline { use super::*; use crate::prelude::*; - use crate::shapelib::{CircleShape, RectShape}; + use crate::shapelib::{CircleOutline, RectOutline}; #[dyn_upcast(OutlineTrait)] #[enum_dispatch(OutlineTrait)] #[derive(Clone,Debug,Serialize,Deserialize)] #[serde(tag="type")] pub enum Outline { - #[serde(rename="Circle")] CircleShape, - #[serde(rename="Rect")] RectShape, + #[serde(rename="Circle")] CircleOutline, + #[serde(rename="Rect")] RectOutline, } } pub use outline::*;