ifc_style/texture/
image.rs1use ifc_model::EntityId;
4
5use crate::error::StyleResult;
6use crate::texture::SurfaceTexture;
7use crate::view::Record;
8
9#[derive(Debug, Clone, Copy)]
12pub struct ImageTexture<'m, 's> {
13 record: Record<'m, 's>,
14}
15
16impl<'m, 's> ImageTexture<'m, 's> {
17 pub(crate) fn from_record(record: Record<'m, 's>) -> Self {
18 Self { record }
19 }
20
21 pub fn id(&self) -> EntityId {
23 self.record.id
24 }
25
26 pub fn surface_texture(&self) -> SurfaceTexture<'m, 's> {
28 SurfaceTexture::from_record(self.record)
29 }
30
31 pub fn url_reference(&self) -> StyleResult<&'m str> {
33 self.record.required_text("URLReference")
34 }
35}