From 07579c4809bd5c69eb8207911e75957384e7df17 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 19 May 2022 20:24:57 +0100 Subject: [PATCH] currency: Break out render Signed-off-by: Ian Jackson --- src/currency.rs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) 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)?; + } +} -- 2.30.2