# -
# $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
      @clip_path_units: string
      @content: Content

      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: (?string clip_path_units) -> void
                    | (?string clip_path_units) { (ClipPath) -> void } -> void

      # @private
      def add_primitives: (Utility::GraphicContext gc, untyped _style) -> void
    end
  end
end
