git-svn-id: https://pdfsharp.svn.codeplex.com/svn@39620 56d0cb2f-6006-4f69-a5a2-94740...
[pdfsharp:pdfsharp.git] / PDFsharp / code / PdfSharp / PdfSharp.Pdf.Advanced / PdfResourceMap.cs
1 #region PDFsharp - A .NET library for processing PDF\r
2 //\r
3 // Authors:\r
4 //   Stefan Lange (mailto:Stefan.Lange@pdfsharp.com)\r
5 //\r
6 // Copyright (c) 2005-2009 empira Software GmbH, Cologne (Germany)\r
7 //\r
8 // http://www.pdfsharp.com\r
9 // http://sourceforge.net/projects/pdfsharp\r
10 //\r
11 // Permission is hereby granted, free of charge, to any person obtaining a\r
12 // copy of this software and associated documentation files (the "Software"),\r
13 // to deal in the Software without restriction, including without limitation\r
14 // the rights to use, copy, modify, merge, publish, distribute, sublicense,\r
15 // and/or sell copies of the Software, and to permit persons to whom the\r
16 // Software is furnished to do so, subject to the following conditions:\r
17 //\r
18 // The above copyright notice and this permission notice shall be included\r
19 // in all copies or substantial portions of the Software.\r
20 //\r
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
22 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
23 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL\r
24 // THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
25 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\r
26 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER \r
27 // DEALINGS IN THE SOFTWARE.\r
28 #endregion\r
29 \r
30 using System;\r
31 using System.Diagnostics;\r
32 using System.Collections;\r
33 using System.Collections.Generic;\r
34 \r
35 namespace PdfSharp.Pdf.Advanced\r
36 {\r
37   /// <summary>\r
38   /// Base class for all dictionaries that map resource names to objects.\r
39   /// </summary>\r
40   internal class PdfResourceMap : PdfDictionary //, IEnumerable\r
41   {\r
42     public PdfResourceMap()\r
43     {\r
44     }\r
45 \r
46     public PdfResourceMap(PdfDocument document) : base(document)\r
47     {\r
48     }\r
49 \r
50     protected PdfResourceMap(PdfDictionary dict) : base(dict)\r
51     {\r
52     }\r
53 \r
54     //    public int Count\r
55     //    {\r
56     //      get {return this.resources.Count;}\r
57     //    }\r
58     //\r
59     //    public PdfObject this[string key]\r
60     //    {\r
61     //      get {return this.resources[key] as PdfObject;}\r
62     //      set {this.resources[key] = value;}\r
63     //    }\r
64 \r
65     /// <summary>\r
66     /// Adds all imported resource names to the specified hashtable.\r
67     /// </summary>\r
68     internal void CollectResourceNames(Dictionary<string, object> usedResourceNames)\r
69     {\r
70       // ?TODO: Imported resources (e.g. fonts) can be reused, but I think this is rather difficult. Will be an issue in PDFsharp 2.0.\r
71       PdfName[] names = Elements.KeyNames;\r
72       foreach (PdfName name in names)\r
73         usedResourceNames.Add(name.ToString(), null);\r
74     }\r
75   }\r
76 }\r