//
        // Load Image methods
        //

        /// <summary>
        /// Creates a new image resource from the specified image data with the resource name.
        /// The imagedata.SourcePath will act as the resource key.
        /// </summary>
        /// <param name="imgdata">The image data this resource holds</param>
        /// <param name="name">The name of the image resource</param>
        /// <returns>An initialized imageXObject</returns>
        public static PDFImageXObject Load(PDFImageData imgdata, string name)
        {
            PDFImageXObject x = new PDFImageXObject();

            x._src  = imgdata.SourcePath;
            x._data = imgdata;
            x.Name  = (Native.PDFName)name;

            return(x);
        }
        //
        // ctor(s)
        //

        #region public PDFImageTilingPattern(IPDFComponent container, string key, PDFImageXObject image)

        /// <summary>
        /// Creates a new PDFImageTilingPattern that will render an image as a tile pattern
        /// </summary>
        /// <param name="container"></param>
        /// <param name="key"></param>
        public PDFImageTilingPattern(IPDFComponent container, string key, PDFImageXObject image)
            : base(container, key)
        {
            if (null == image)
            {
                throw new ArgumentNullException("image");
            }

            this.Resources = new PDFResourceList(this);
            this.Image     = image;
        }