From: Ian Jackson Date: Thu, 19 May 2022 19:24:57 +0000 (+0100) Subject: currency: Break out render X-Git-Tag: otter-1.1.0~59 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=07579c4809bd5c69eb8207911e75957384e7df17;p=otter.git currency: Break out render Signed-off-by: Ian Jackson --- diff --git a/src/currency.rs b/src/currency.rs index 32050115..b75460c2 100644 --- a/src/currency.rs +++ b/src/currency.rs @@ -120,14 +120,8 @@ impl PieceTrait for Banknote { #[throws(IE)] fn svg_piece(&self, f: &mut Html, gpc: &GPiece, _gs: &GameState, vpid: VisiblePieceId) { - self.image.svg(f, vpid, gpc.face, &gpc.xdata)?; - let value: &Value = gpc.xdata.get_exp()?; - - hwrite!(f, - r##"<{}>{}{}"##, - &self.label_options.start_element(), value.qty, - &self.unit_size, &self.currency)?; + self.render(f, vpid, gpc.face, &gpc.xdata, &hformat!("{}", value.qty))?; } #[throws(ApiPieceOpError)] @@ -289,3 +283,16 @@ impl PieceTrait for Banknote { })()) // <- no ? }))} } + +impl Banknote { + #[throws(IE)] + fn render(&self, f: &mut Html, vpid: VisiblePieceId, face: FaceId, + xdata_for_image_only: &PieceXDataState, qty: &HtmlStr) { + self.image.svg(f, vpid, face, xdata_for_image_only)?; + + hwrite!(f, + r##"<{}>{}{}"##, + &self.label_options.start_element(), qty, + &self.unit_size, &self.currency)?; + } +}