Now is a method used in only one place...
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
// todo: something more sophisticated would be nice
let pri = PieceRenderInstructions {
id: VisiblePieceId(piece.data()),
- angle: VisiblePieceAngle(p.angle), // xxx
occluded: PriOccluded::Visible,
};
let bbox = pinfo.bbox_approx()?;
let desc_html = if let Some(pc) = &pc {
let pri = PieceRenderInstructions {
id: default(),
- angle: VisiblePieceAngle(pc.angle), // xxx
occluded: PriOccluded::Visible,
};
pri.describe(pc, &p)
alldefs.push((pri.id, defs));
let desc = pri.describe(&pr, p);
- let vangle = match pri.angle {
- VisiblePieceAngle(PieceAngle::Compass(vangle)) => vangle,
+ let vangle = match pri.angle(pr) {
+ PieceAngle::Compass(vangle) => vangle,
};
let for_info = SessionPieceLoadJson {
visible_slotmap_key!{ VisiblePieceId(b'.') }
-#[derive(Clone,Copy,Debug)]
-#[derive(Serialize,Deserialize)]
-#[serde(transparent)]
-pub struct VisiblePieceAngle(pub PieceAngle);
+type VisiblePieceAngle = PieceAngle;
#[derive(Clone,Debug)]
#[derive(Serialize,Deserialize)]
impl VisiblePieceAngle {
pub fn to_transform(self) -> VisibleAngleTransform {
- match self.0 {
+ match self {
PieceAngle::Compass(angle) => VisibleAngleTransform(
base_misc::raw_angle_transform(
angle.into()
#[derive(Debug,Clone)]
pub struct PieceRenderInstructions {
pub id: VisiblePieceId,
- pub angle: VisiblePieceAngle,
pub occluded: PriOccluded,
}
Some(n) => n,
None => -1,
};
- let transform = pri.angle.to_transform();
+ let transform = gpc.angle.to_transform();
write!(&mut defs.0,
r##"<g id="piece{}" transform="{}" data-dragraise="{}">"##,
pri.id, &transform.0, dragraise)?;
p.describe_html(gpc)?
}
+ pub fn angle(&self, gpc: &GPiece) -> VisiblePieceAngle {
+ let PriOccluded::Visible = self.occluded;
+
+ gpc.angle
+ }
+
#[throws(InternalError)]
pub fn ui_operations(&self, gpc: &GPiece, p: &dyn PieceTrait)
-> Vec<UoDescription>
pc: &GPiece,
) -> PieceRenderInstructions {
let vpiece = gpl.idmap.fwd_or_insert(piece);
- let angle = VisiblePieceAngle(pc.angle);
+ let angle = pc.angle;
let occluded = PriOccluded::Visible; // xxx
trace!("{} {:?} => {} angle={:?}",
player, piece, vpiece, angle);
- PieceRenderInstructions { id: vpiece, angle, occluded }
+ PieceRenderInstructions { id: vpiece, occluded }
}
pub fn piece_at_all_occluded(