* FontCollection.jvm.cs, InstalledFontCollection.jvm.cs,
authorAndrew Skiba <andrews@mono-cvs.ximian.com>
Wed, 3 Aug 2005 14:08:10 +0000 (14:08 -0000)
committerAndrew Skiba <andrews@mono-cvs.ximian.com>
Wed, 3 Aug 2005 14:08:10 +0000 (14:08 -0000)
PrivateFontCollection.jvm.cs: added TARGET_JVM implementation

svn path=/trunk/mcs/; revision=47960

mcs/class/System.Drawing/System.Drawing.Text/FontCollection.jvm.cs [new file with mode: 0644]
mcs/class/System.Drawing/System.Drawing.Text/InstalledFontCollection.jvm.cs [new file with mode: 0644]
mcs/class/System.Drawing/System.Drawing.Text/PrivateFontCollection.jvm.cs [new file with mode: 0644]
mcs/class/System.Drawing/System.Drawing.Text/changelog

diff --git a/mcs/class/System.Drawing/System.Drawing.Text/FontCollection.jvm.cs b/mcs/class/System.Drawing/System.Drawing.Text/FontCollection.jvm.cs
new file mode 100644 (file)
index 0000000..a993aac
--- /dev/null
@@ -0,0 +1,83 @@
+//
+// System.Drawing.Text.FontCollection.cs
+//
+// (C) 2002 Ximian, Inc.  http://www.ximian.com
+// Author: Everaldo Canuto everaldo.canuto@bol.com.br
+//                     Sanjay Gupta (gsanjay@novell.com)
+//
+
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+using System;
+using System.Collections;
+using System.Collections.Specialized;
+using awt = java.awt;
+
+namespace System.Drawing.Text
+{
+       /// <summary>
+       /// Summary description for FontCollection.
+       /// </summary>
+       public abstract class FontCollection : IDisposable
+       {
+               protected ArrayList _fonts;
+
+               protected FontCollection()
+               {
+                       _fonts = new ArrayList();
+               }
+
+               public FontFamily[] Families {
+                       get {
+                               Hashtable h = CollectionsUtil.CreateCaseInsensitiveHashtable(_fonts.Count);
+                               for (int i = 0; i < _fonts.Count; i++) {
+                                       string family = ((awt.Font)_fonts[i]).getFamily();
+                                       if (!h.ContainsKey(family))
+                                               h[family] = new FontFamily(family);
+                               }
+
+                               ICollection values = h.Values;
+                               FontFamily[] families = new FontFamily[values.Count];
+                               values.CopyTo(families, 0);
+                               return families;
+                       }
+               }
+
+               internal virtual string GetFamilyName(string name) {
+                       for (int i = 0; i < _fonts.Count; i++) {
+                               string family = ((awt.Font)_fonts[i]).getFamily();
+                               if (string.Compare(family, name, true) == 0)
+                                       return family;
+                       }
+
+                       return null;
+               }
+               #region IDisposable Members
+
+               public void Dispose() {
+                       // TODO:  Add FontCollection.Dispose implementation
+               }
+
+               #endregion
+       }
+}
diff --git a/mcs/class/System.Drawing/System.Drawing.Text/InstalledFontCollection.jvm.cs b/mcs/class/System.Drawing/System.Drawing.Text/InstalledFontCollection.jvm.cs
new file mode 100644 (file)
index 0000000..f966c27
--- /dev/null
@@ -0,0 +1,62 @@
+//
+// System.Drawing.InstalledFontCollection.cs
+//
+// (C) 2005 Mainsoft Corporation (http://www.mainsoft.com)
+// Author: Konstantin Triger (kostat@mainsoft.com)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//\r
+\r
+using System;\r
+using System.Collections;\r
+using System.Collections.Specialized;\r
+using awt = java.awt;\r
+\r
+namespace System.Drawing.Text\r
+{\r
+       /// <summary>\r
+       /// Summary description for InstalledFontCollection.\r
+       /// </summary>\r
+       public sealed class InstalledFontCollection : FontCollection\r
+       {\r
+               Hashtable _names;\r
+               public InstalledFontCollection()\r
+               {\r
+                       _fonts.AddRange(\r
+                               java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts());\r
+\r
+                       Hashtable h = CollectionsUtil.CreateCaseInsensitiveHashtable(_fonts.Count);\r
+                       for (int i = 0; i < _fonts.Count; i++) {\r
+                               string family = ((awt.Font)_fonts[i]).getFamily();\r
+                               if (!h.ContainsKey(family))\r
+                                       h[family] = family;\r
+                       }\r
+\r
+                       _names = h;\r
+               }\r
+\r
+               internal override string GetFamilyName(string name) {\r
+                       return (string)_names[name];\r
+               }\r
+\r
+       }\r
+}\r
diff --git a/mcs/class/System.Drawing/System.Drawing.Text/PrivateFontCollection.jvm.cs b/mcs/class/System.Drawing/System.Drawing.Text/PrivateFontCollection.jvm.cs
new file mode 100644 (file)
index 0000000..c726366
--- /dev/null
@@ -0,0 +1,60 @@
+//
+// System.Drawing.PrivateFontCollection.cs
+//
+// (C) 2005 Mainsoft Corporation (http://www.mainsoft.com)
+// Author: Konstantin Triger (kostat@mainsoft.com)
+//
+
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//\r
+\r
+using System;\r
+using awt = java.awt;\r
+using io = java.io;\r
+using vmw.common;\r
+\r
+namespace System.Drawing.Text\r
+{\r
+       /// <summary>\r
+       /// Summary description for PrivateFontCollection.\r
+       /// </summary>\r
+       public sealed class PrivateFontCollection : FontCollection\r
+       {\r
+               public PrivateFontCollection()\r
+               {\r
+               }\r
+\r
+               public void AddFontFile(string filename) {\r
+                       io.File file = IOUtils.getJavaFile(filename);\r
+                       io.FileInputStream stream = new io.FileInputStream(file);\r
+                       try {\r
+                               _fonts.Add(awt.Font.createFont(awt.Font.TRUETYPE_FONT, stream));\r
+                       }\r
+                       finally {\r
+                               stream.close();\r
+                       }\r
+               }\r
+#if INTPTR_SUPPORT\r
+               public void AddMemoryFont(IntPtr memory, int length) {\r
+               }\r
+#endif\r
+       }\r
+}\r
index beeafd440e557a2ad3c9ea6978eaa257361a2d2c..709dd393404a67173c40cd87f87ff6ad83b2806b 100644 (file)
@@ -1,3 +1,8 @@
+2005-08-03  Andrew Skiba <andrews@mainsoft.com>
+
+       * FontCollection.jvm.cs, InstalledFontCollection.jvm.cs,
+       PrivateFontCollection.jvm.cs: added TARGET_JVM implementation
+
 2005-04-04  Jordi Mas i Hernandez <jordi@ximian.com>
 
        * PrivateFontCollection.cs: nativeFontCollection equals IntPtr.Zero to