Sha256: 7e4e2fc1823df85c30567aad2591d384f6e333e45ee1d1d441b5d70458bb633e
Contents?: true
Size: 964 Bytes
Versions: 4
Compression:
Stored size: 964 Bytes
Contents
module IIIFManifest class ManifestBuilder class ImageBuilder attr_reader :display_image, :iiif_annotation_factory, :resource_builder_factory def initialize(display_image, iiif_annotation_factory:, resource_builder_factory:) @display_image = display_image @iiif_annotation_factory = iiif_annotation_factory @resource_builder_factory = resource_builder_factory build_resource end def apply(canvas) annotation['on'] = canvas['@id'] canvas['width'] = annotation.resource['width'] canvas['height'] = annotation.resource['height'] canvas.images += [annotation] end private def build_resource resource_builder.apply(annotation) end def resource_builder resource_builder_factory.new(display_image) end def annotation @annotation ||= iiif_annotation_factory.new end end end end
Version data entries
4 entries across 4 versions & 1 rubygems