Sha256: 0f60a0c1dacb6e8ce956374237a0e5fc714a3f7eb067f539de45954a679e1a23

Contents?: true

Size: 1.53 KB

Versions: 8

Compression:

Stored size: 1.53 KB

Contents

#--
# $Id: clippath.rb,v 1.1 2005/03/12 17:02:00 rmagick Exp $
# Copyright (C) 2005 Timothy P. Hunter
#++
class Magick::RVG

    class ClipPath
        include ShapeConstructors
        include UseConstructors
        include TextConstructors
        include Describable
        include Stylable
        include Duplicatable

        # Create a clipping path. Within the block create an outline
        # from one or more paths, basic shapes, text objects, or +use+.
        # Everything drawn within the outline will be displayed.
        # Anything drawn outside the outline will not.
        #
        # If the clipping path contains a +use+, it
        # must directly reference path, basic shape, or text objects.
        #
        # Attach the clipping path to an object with the :clip_path style.
        def initialize(clip_path_units='userSpaceOnUse')
            super()
            if ! ['userSpaceOnUse', 'objectBoundingBox'].include?(clip_path_units)
                raise ArgumentError, "undefined value for clip path units: #{clip_path_units}"
            end
            @clip_path_units = clip_path_units
            @content = Content.new
            yield(self) if block_given?
        end

        def add_primitives(gc, style)   #:nodoc:
            name = __id__.to_s
            gc.define_clip_path(name) do
                gc.clip_units(@clip_path_units)
                @content.each { |element| element.add_primitives(gc) }
            end
            gc.clip_path(name)
        end

    end     # class ClipPath

end     # class Magick::RVG

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rmagick-1.8.1 lib/rvg/clippath.rb
rmagick-1.8.0 lib/rvg/clippath.rb
rmagick-1.8.2 lib/rvg/clippath.rb
rmagick-1.9.0 lib/rvg/clippath.rb
rmagick-1.9.1 lib/rvg/clippath.rb
rmagick-1.8.3 lib/rvg/clippath.rb
rmagick-1.9.2 lib/rvg/clippath.rb
rmagick-1.9.3 lib/rvg/clippath.rb