Sha256: bc653c631e7182a8457222cbc4874b3d1130fef4f394124a0a9f9ef92103fc2f

Contents?: true

Size: 1.44 KB

Versions: 22

Compression:

Stored size: 1.44 KB

Contents

#--
# $Id: clippath.rb,v 1.5 2009/02/28 23:52:13 rmagick Exp $
# Copyright (C) 2009 Timothy P. Hunter
#++
module Magick
  class 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()
        raise ArgumentError, "undefined value for clip path units: #{clip_path_units}" unless %w[userSpaceOnUse objectBoundingBox].include?(clip_path_units)

        @clip_path_units = clip_path_units
        @content = Content.new
        yield(self) if block_given?
      end

      # @private
      def add_primitives(gc, _style)
        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 RVG
end # module Magick

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
rmagick-6.0.0 lib/rvg/clippath.rb
rmagick-5.5.0 lib/rvg/clippath.rb
rmagick-5.4.4 lib/rvg/clippath.rb
rmagick-5.4.3 lib/rvg/clippath.rb
rmagick-5.4.2 lib/rvg/clippath.rb
rmagick-5.4.1 lib/rvg/clippath.rb
rmagick-5.4.0 lib/rvg/clippath.rb
rmagick-5.3.0 lib/rvg/clippath.rb
rmagick-5.2.0 lib/rvg/clippath.rb
rmagick-5.1.0 lib/rvg/clippath.rb
rmagick-5.0.0 lib/rvg/clippath.rb
rmagick-4.3.0 lib/rvg/clippath.rb
rmagick-4.2.6 lib/rvg/clippath.rb
rmagick-4.2.5 lib/rvg/clippath.rb
rmagick-4.2.4 lib/rvg/clippath.rb
rmagick-4.2.3 lib/rvg/clippath.rb
rmagick-4.2.2 lib/rvg/clippath.rb
rmagick-4.2.1 lib/rvg/clippath.rb
rmagick-4.2.0 lib/rvg/clippath.rb
rmagick-4.1.2 lib/rvg/clippath.rb