From 027607da259f292060d80e0ed90d2b0e896acd86 Mon Sep 17 00:00:00 2001 From: megacz Date: Fri, 30 Jan 2004 06:47:38 +0000 Subject: [PATCH] 2002/05/28 18:30:30 darcs-hash:20040130064738-2ba56-e6eb3cb77ef567f0f4df26902fb6410a199d83b7.gz --- src/org/xwt/Main.java | 3102 +++++++++++++++++++++---------------------- src/org/xwt/Platform.java | 55 +- src/org/xwt/SOAP.java | 29 +- src/org/xwt/Surface.java | 16 +- src/org/xwt/XMLRPC.java | 27 +- src/org/xwt/XWT.java | 65 + src/org/xwt/plat/AWT.java | 38 + src/org/xwt/plat/Linux.xml | 21 + src/org/xwt/plat/POSIX.cc | 2299 ++++++++++++++++++++++++++++++++ src/org/xwt/plat/POSIX.java | 320 +++++ src/org/xwt/plat/Win32.cc | 25 + src/org/xwt/plat/Win32.java | 3 + src/org/xwt/plat/Win32.xml | 2 +- src/org/xwt/util/Log.java | 21 +- 14 files changed, 4429 insertions(+), 1594 deletions(-) create mode 100644 src/org/xwt/plat/Linux.xml create mode 100644 src/org/xwt/plat/POSIX.cc create mode 100644 src/org/xwt/plat/POSIX.java diff --git a/src/org/xwt/Main.java b/src/org/xwt/Main.java index 2ac6754..61c4615 100644 --- a/src/org/xwt/Main.java +++ b/src/org/xwt/Main.java @@ -233,1590 +233,1535 @@ public class Main extends Applet { private static Picture splashScreenPicture; private static String splashScreen_gif_base64_1 = - "R0lGODlhigEUAecAAA4ODiImIkZKRjI2MhAOUQ4ORhoeGj5COg4OPSouKlpeWhYaFlZaVg4O" + - "KjY6MhYWelJWUhIWFS4yLk5SThISbDo+Og4OFkJGQiYqJhweTh4iHg4OGkpOShYWKhISQikq" + - "VhIWQiUmaC4uPxISZDY6OjIyNzo2MjYyLg4SNg4OIhYaXjY2PjIuKhYWJj4+NhoaMi4yMhIS" + - "Kj5CQiYqKi4uMx4eLxoeayYmKjo6MhkaLjY2LmJmZCouLiYmIjY2NhIWSj4+PkJCOkZGQi4q" + - "KhISWzIyKhISOiIiMD46OkpKRhobkRISIg4SEkZGRiYmJhYWTiIiHiEiRU5OSigqShYaUhYa" + - "ViEiYhoaJzo6WUpKSmZiZmJiXiomJhoeXi4uKioqKjEyXVJSSioqJhoeHkI+Ok5OTg4OLhIW" + - "RhISVS4uLiIiIiUmTi4uYx0fgioqQFZWThYWUg4OJhISHjIyMjo6NhoWilJSTlJSUg4OHhIW" + - "bVpaUhISPhoaFj46Njo6Ul1iWkI+PkZCQjIyUSIiSjo6OhYaWh4eKj4+Xjo2NlZWUlZWVkJC" + - "PhkWhh4eGhIWTjY2cCYmOF5eWh4eQhUWIioqLh4eHhYWFhYWdS0uVRoeZhcafjI2NhgaOlpa" + - "Vjo6SkJCXiYiIjo+UiIiJlpaWhcaPkpGRhMWZA4SOhYWSjYyMj4+VjMyRyImJhoaXzIuLh4e" + - "PiIiWhoaGjY6NhQWNmZmZioqcA4SLkBCWg4SMhISFiQmgmtubT5CPjIyLiIiUh4eRiYqPR4i" + - "bx4iIkJCQkZCPhQWXA4OEkpGQjQ2WDY2Mjo+Pg4OMl5eXh8fVk5KSy4qJjo6QkZGXk5SUhse" + - "OhYWbkpOTj4+SxYWfw4SPjo2UhQWPlZaWmJiYlJWVhYahhUWMjY2Oi4uShgadEZKSj4+OiYm" + - "MiIebkpKT15iYBocQh4aGlpeXhUWOhoeShYSbCoqNx4eYhkaihoeYhgabWdqaRISEh4iUiIi" + - "Nh4ebSoqYBsalx4eIjIyQhYaGjU2TP///yH5BAEKAP8ALAAAAACKARQBAAj+ACvtqyRMjRqB" + - "BhMqXMiQlcGCDCMadBLAicWLrESJYpXRyYwvG9XsU8PKicFKaoRVMmkSZSUNAdRYlDnyi5Mv" + - "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"; + "R0lGODlhigEUAecAAAICCBIWEi4yLkZKRhoeGj5CPgICJhIWUiYqJjo+OgYEOg4WTjI2Mg4S" + + "EQ4OXwoODR4iHlJWVDY6NgICDgkGThYeXiouKgoSQhIWSk5STg4OJkJGQiImIhceWgICEgQC" + + "NhUWNAICFgoKGkpOShYaFiEiWhIWbh4eRgoOOigqQjYyLjY2Ow4OIjY2Li4uMjIyNyUmTwIC" + + "GgoKKjIuKjo6NiEiUR4eQTY2MhYWLi4yMgYGGjo6OjY2NioqIj4+NiouLgoOVCoqJioqKgoO" + + "Qj4+PiImJhIWaUJCPiIiNwYGBg4SSgICLRIaVComJjo2NjIyKkJCQiIiHh4eNEZGPhUWKhka" + + "Li4qKh4eLkZGQkZGRi4uJgYGKgICHj46OhoaKiIiIkpKRhYWJg4OQgYKCi0uViYmJkpKSiYm" + + "OU5OShISagoKDhoaFlxeXB4eGi4uLiYmIjIyUyoqPDo2MgoOPgoOWjo6UDIyMgoKOlJSTgoK" + + "Ni0uSz46NlZWUiIiMEI+Ph4eHg4SRgwOHjY2SxISSlZaWCYiIg4SJxYWEk5OTg4STw4SYQYG" + + "LgYKOiYmKhoaVwICIhQWYjIyRyoqNA0KWgYKLgYKMkZCQhYWIhISDhYaWi4qJg8SMzY6OiYq" + + "KlJSUhoaGhQXRTI2Ni8uQiIiJjYyMgoHShYaVgYGFkI+Oh4iIh4eIxISIjIuLgIGIg4OChQW" + + "XgwONkpGRxISTgoKVioqLg4ODiYmYgYGQBoWVD4+UjIyLikqWwIGKhIOYhoXdhcZTjY2Rhoa" + + "JhASLhcZPhISZTo6Ry0uPhISJhYWFhUac1ZWVhISEhYaGiEiRlpaWhoaZzQ2YAoKChIWWjo+" + + "PgwOMhISKg8SOjY6TAIGJhYSbhkaNQoKHh4eWgYGEgYKNgYGRw4SWh4iMkZKSj4+OhoeHg4K" + + "ViYqPgYKSiYmMkJCR05SUhYWcw4SQkpOThoechIWThcXSh4iaAoKUQ4SIhIWVjo6QhoeXwoO" + + "SjIyQg4OWhIWFi4uKikqTh4eUj5CQv///yH5BAEKAP8ALAAAAACKARQBAAj+AP/8ISdQVcE/" + + "qlJ9SaUw4Zc/XyJGhCjxocJUAhVW1BixSMcvZYp4/DJKYpkyCL4UyTiqzESMnziAfPjlE8Q/" + + "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"; private static String splashScreen_gif_base64_2 = - "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"; + "f8IgFmVi5mQIHgMfYaLNjqQvhgAcBkES1SsBTpUIpsFf62ETdADPAmEUPq8LbsDXboATbM0O" + + "cMEEusIwBJIeQMsqqkEStg3THBRZF28D+MEIDEOLNaAlP2/0RG0KRI0INM8pwSALuOEX2IIJ" + + "qqH+CiLUD1qrALIAPVtLENJguUwDEuzBEez7vnHBEeABHnDhF+zA9+rLRfVVAhggFM6ADlYw" + + "H2YBHuBC2OBB2MphlOxmCKZaep+IOepyObhgpigWV6wjY7EDV7rDV8hDO7ZIFg3OV0rWrLuU" + + "ZrUlPRjpc0KTlmG8xtP0xd/0lymBPcYjGCsOP/p3GTlTf8/UdDgkX1KFd8rlQoJjyX1HOBRE" + + "OFrCI2RihGekRVAJKjKbYoQ1NU5jUjh4AX4jMprTKGZEyxXCUgWyR9hEDLwBHI6BBwRA9m5A" + + "AGjAh59gBzjBEpXACFggB6Y4waRQwbKAHyYhDQCDM4akLeSCBa4g9KD+AAxioVs3LxYQIRJM" + + "wBQmBQe8wB82CwwZtM9oazvRII6PFQZMAKW1uA+SDbpU0imxswD4QSqDBAMSgdPyYRKMmg6A" + + "YBZ8nQ5mYRvcYMEkgCsRDN14gBRewAZmYQXbOR/KIdrlIdpnAQhUJCS2z8JjZdu/L8QAbvwI" + + "DjtIfOAQZ8bKgxcXU5UvB7DzGj1+/ADTY2fZd2ZvvMbao1rKmjBhGVk2837tt37VdF3OxV5I" + + "Z8ryZXf6CCXq5Ws/ogLjhTY7ZTWsRynCrDRWUH4UokuIDpthghGgQgy6djNy6bNJCeRZA7SV" + + "gBHAASfdgAcKwAn4iwh2IAecgB+KdwFMIM7+4di+KM0JIiEbeqEoNH1KMOAC6IEJ+IRlWAAM" + + "CmAHeisBYmEE/NYM6iENqKZEJQEVbo0Gwutzd81a/dYSCsAMimEoE+UYJKGL4XhBmfW3HKEX" + + "YNc0wgZGtvmaiQK1nE+/7rVHeSAUbqAZ6AAkorwhoDzk3GaSX0V6t2/DaYWKBkensIjfAs4w" + + "ARN8uUAHHoeXzfc8buGp7mNNNafi3GM077r+NjMB16g94n3d0UPhfnnd1eg+3qgxuwrHTi5P" + + "USIj7CjJCWRBUseZW+JDZsNbNqlDTCLMzOwgmBMmXuI2b0JS4cwwWuI0+PF33BEJu4LqQtAl" + + "Uh4J2/keJGEHdOH+8yRAF3YAFcTfD5phYNdBGq6ABo61Oo/AFNIA6Z3JNILGsIyCCQLBCUJv" + + "AwDCzAY/YCztyLIhnzUmLKr5I0IECpEuA4lgmXLE0gYiG2IRyTKAGJV3sgzxwHIEypEClo74" + + "G3gkkwNZ75QMqqkEECAxicSIGXJhyM5tLmhI4HGDB4+jNG4wsNNs0pw5d1BYncpoDgqtU8Xc" + + "GbLVg9gQZMuGiHEW7dm0IbjE4BKiFZe5cuXGkIvNQKtHXPbu5ZL3EbYtS3gZ5rVoEa9KlRIj" + + "blzJGy9GvCQ7NuzNG+MtvCgdRrxlEaVKhhkvJr0I2+EtnhNTWoS68qLMjWfPbqw5szf+Rox2" + + "35nTmxFY4EPu3GH0dchUoFTnDFHu/DnVr1Sfo7hzQYmYOYCULBgiZsGgnYPoDWLnfdAQJe8W" + + "iAH0LhE7QIkWXJijRNZzJUp+09++gHv4LYCCGNpxh8EFQAxByg52jHPEDjwkkMBSnIAgwgXE" + + "sNNIAlkQcUMWcJTjAD0LsPMOPTqZ8s4ciRxg4CsamDPABjuAAYYEWYyQEhj2EHNANcdAAcY4" + + "BWDx0ABYEGHGAAVkMQVHWBC5iyKmMJTFklBscMQGG6BiCRTA9LLOAuzxtxN/OQFywU9BXcBC" + + "DjQoxQkPcyLFgxNO2ACEcVpdd1VzU2n13E9ieRDCWImuFUP+o2ox2spbd8nFl11+PbLXW5j6" + + "pRo2rSA2Gy9LKFYZaYgdplhspypGqqmhXWZYaKZ6diovoXFmGK2gmlbbbN6Mhttseei21W/C" + + "UYUcWFsBNQRyPwlqXHK/PXcfCtbdYWBxgKhX4AHuKeHtBejBCMgB7+wki31DpKgEfrIkMscF" + + "NWGXSLsoJALIHAbmq+89XwGCAiPvoXDPMQm44MIOR7hxQwFEuMFAMcdsw04yx7iBhRk7vOCL" + + "CQbSowQ75q7LBAaAlAwfFX0cgSMRlowwDhQjtARNGkr8QsUOaCyJxodNumzGR0tiMYIfUECj" + + "yAHwaGBRAaio5Ic//qQER9IYqDn+iBIX6AQIeG36BN42btBA9pw3JJUUAzzYMItWvAFXlbWD" + + "QrfcEBMcimhZjzKKVt93xdVoK3s9Qjimcxk+OKaEc0YYqobBZlhhoBWmmGWwxQY5JXnhusVg" + + "BhjACzakOrYIrouRfps3lWvGmGalZpbHsLBnBpw3xzUnHG/X0f3c24PiB1y8YvB2wQV3eAPU" + + "dnfoBBQgsuTrvHoXBLheTXOgKMt777zDzh05eXXBeNgNIkYe2Q2PX3FDDKJVIkPkMYcsSpwD" + + "RBjj3KALETTkoEIBezyoB0NsIxEm8AINwJAFR5CJCQYyBYzoYYohwMMe28pETUAgBRpYwhPj" + + "yAIijnD+BE9goQDQMAIG7IEDGmQBDEdQkh8yIohdZOEIEVlJS8ZBhDRUYwHV+EEB/JCAlExj" + + "HONIgA9s4YAD4Mtk59OJgbTzJq2xgBZOIJsEzKaUpNjhBPKgCgrycBXjXGc604JOohA1gTPm" + + "rVF6I4ujGuUWt7ylL1zgi+Hm0pdW5EVwBljCYFTTOV0lZgu4WoIOYhWayC2BM9gApK1W88fO" + + "RfKRtHoNqU6lOsRo5nKqSwwjcEObyMAuOCjwxrDgZrvgBaxZuwMOb3hzu+IIzCvTmg5QtgI2" + + "FHRHDNl5B/nEAI97rMc+3DGTchLBvXgJaD1iQMH58POO4sQLLOCZita0crX+fAyhE35Iyjim" + + "4QZO+GEcduhCDapBDWK4Ax07qEMyFCGLTBzgApmogMhMAa5M5Eeeg0hGNYKIBhDGAgvjwEJB" + + "ilGmQeBgB+MYgESwsIEjkeEXGyAoFGJRgAJ4CQrxqIkG+jAOoxFxIhAhAjccQBI1qYmXSmBm" + + "vcAWpxXQYAdXPEoWm9IMOuDOOFmZCnWmYpXfzAFReNubWfKmN0nBkY55xGNdDqcXwrWCkXkB" + + "na0W+RnTdW41vNBj6ArDOFtNtZFkrWojwQoqVCXGMa1TXa90E5lPtjV2ukEOI0rZm6COkTjO" + + "EapylhW8rwTlOc3CjnTEIEznaC0ogxBPuQ7AH2T+oit71ZsnigSkBPfhp6Xr0U712hUeanll" + + "QL9pDxDEkAMikKILR+gCKVKyAwYkYBgauIAiTHCGbPgiEfQ0RQPxdQAYyWKeSnCgGKqxgx1A" + + "wQxE5FEC0DAAP5hghzjARxYsAYYRYhcKz6BCF7J0BCygBAuxOIIt1jGIV1RhJRIZhyUKAKEC" + + "OMBmZtqWyTLbUjXtJHlEmVMX7OSEG0jgBnOygw3ksZUxbkV3XBlUVYxzqEWhxQN761ui/DbH" + + "uSy1qXW0o1fLSkjBeWoJejSA6EJMyND1UTWhE1wrDEBIz3Wuc3sxwCFjzLhGbhU2rzmNJdl6" + + "OcYI2VdC9kYpMxO3zFj+6zhZUQ5vejdNaf5VX8oxzjX1FRThXHM97uPJPMNzADa9w4IXCC6b" + + "FhDmISzgFaAVz/IOwD55vaN4aO6ame6Tk6/w9itmykN3lAAEFviDBrpIwAZ4wAAiHMEON8BH" + + "NbYhBhMQQx5GoMdzLDiHd5iiO0xYACAcyB4mDEIDkhjhcsfZswKMYATcyIQ0PmqGI5gBDUTK" + + "ABTSoA0XpAMMG8iCGaAAkg0AwwjWkAVyj3SEBLSECH4AhgPqpYSr7VJcgGCHULLFS0AQhaY8" + + "4MRRuD1gBhw4eM0pFrmF2mCiRniNZUGqG9/oYqbypVGIqyOLCZcXbBCOC4bclB9Vo5epPoL+" + + "kHpppIkL/jk+VlUHUzWAYAZjq82Z2HSjOQywItOZxGSyEsdZKyNEU4lSMqY3siuWtVqqlTYV" + + "lh1ue87xolO3gD1TX6ONtnMAcefhugc+O4esgXzpk3dgQDmZBYQ3zNSfISQiEdhSojXLp8sL" + + "OLOlKMia8ZRAj0QAAQeH5sF7Ga0SAdyAH9UIxJ/FIAsm8IceYTbzmGtSgUxcwBT2WIUUMgDC" + + "CAyACHgoEhjMUIJkmMIQVwADFDIGBSKRQYdnOEIWZmiJEYp3HJCwhhLmYYwuEKEARxiHPxJA" + + "BH7QYVvj6c6ftSYG9ASFTT7RwA/ulJQBK+VObPvdffz0G6FWJSv+10GqWB414UW1+y5wzDCl" + + "/IJHOg48j4ojqx73KGLBHNxTglPciwfjYhdvoeGb2oKJyRrjiKcVMaORTGlIw7rMJCYyjPHV" + + "+mnjm1cCJ2A+ffBPknMd6twV5oQ1DmFv/ixO9B6yUDze8RPdwVump0v84RzksxU2sR0o0lKD" + + "AFlC8TyKBQhaVhzo8RzeggHbUA0YIA33UGo04ASWQARqExEtwAMnIAywoASdJgZXQk/2wB42" + + "KAv2IAvswASZIAY9qATHQGsdtBEucwR+gAVkACRpEAggQQQDYAZIaAvEIA1UEDNhcnh+4Adc" + + "UgJGEIThEFIuwVoFsAP9QAyehi/a4UT+/PEebMhLQcECP2AnTeEESHEDdmA2ByYd0uQc0RE3" + + "dnVXd4A3REUWimIWayFH9MZU1Rcpb2EpLyY49qZvg2Nj3lc4nrJHkiQYmMILDPc5njJwfpF9" + + "ghNji2Rw3hdjlvQ4p1EbmVQZcMU6keEreXA8prQVXmRXx/MVxzEEifUbvEQoXSNYsvQs2NI1" + + "U7cdznEfBpI9aGcmBnIA2VNm8HImykSAanYA1vYi7FNnc7AAFwgu/SEG54ItsqBYx8ACLKAB" + + "B6AI1LACA0A20WUHHOEg0wACLPBpBPgiYnAAFjSDc5YIDMRzQ0APTKABTpABRJAAsQAFDWUJ" + + "HpILivAOQbL+Asu1QgNwBM+QBuBQDdOwJUoCBRh5ePyQNLJwDBvwEF0yTkfwCg6QE1lzdt1R" + + "PD7BJtrxHixQFBIyh1lkJ+I2C7cYN8txi690FXflboaYVIg4R45SKYpIF47oKIOjfKJIlS4m" + + "VXa0iYMziTqwBX3xCFGlR97ncDW2fSS2VSb2GY+0VrfRVpCRGa+RfrpRV4HoRX14HcLxV4TV" + + "U9KhL/kCHn+5H1H0E0JBmN5xH3XmPSqSaaKWmIBwBzfhFexBPuCSjd5BLubCS+PhFTThHPcA" + + "L0NwgdugAVdQBttwDO8ADmHQkPmDBTxACkQwDkoBDBMDH/lyABiAH/MECJkwdNH+2B2mMAiD" + + "kAlU4AIrVFFZUgBQuFzrYAj0kGtYgAfhBQbAkAbJ8A4aIAoqYQZLgpH+gAXFkAYgIA0s4ATJ" + + "RgM4NA5d4ADEoDUyyQ5B4RNvSJgzKQZE4ZpKgRRqc4eINm5ZIRyBwhVghBxYwQiK4jdnkTeI" + + "8ihuATiNKCmC80ZLFTh3wXxyUUeUUjh5RKFeiXxeeZWtoAOY4nCgowP5JkneZyuaswQwZiuc" + + "0SrBchqZ8YqnA3++UQlgFDAyd3/RYRX/9xyOmRzb0Vm/qDUntx38GE33cgDFkR/DAy5dsx7n" + + "ET75wo/tsj68BZrENFxKgAIiswDXozXLc2VawwjocTz+6yMGIrAK4yABUqAB1QAO53AFI0AD" + + "DHB4unADDXkDnAAHGhAIkFku2vEObDZm49GD8FEB4CIFZ0AEiAAGCTAC7WAR0bkBtoAiOIAO" + + "y7UBBcUPDiAewnAFm4oFMxQRRgMF0mANC6AB6EBS47ADRAAHDpAdaTKY+8FZXbMTboKTNOBt" + + "O5AUpPAUDHA2UXGL6qN/yBEw8CNGKDAWCfp7hQitZyFHZfGUgbMWaVF8GOoWm2KhdOSgdHEp" + + "yNeUiiOi2qdHz2eiJxpjpOKipoIZtaFJ62cbwnKjHPdKx0F/vVNG+4plyrEv95EdU9Em9yCw" + + "hGUT0NMdQBE+QroT8ZII6qH+ZtWGcxnIDheIInPGDoMgP/rCH+ARpjzBpWJAPvFSpBegAdvQ" + + "CLCZAFQQCBigCPdgDLFwP70mATvgnZwwDfZgCCiwAJmAqNPDDc/TAZ72Cr6FAUyAc8PgBSwT" + + "CwTBQodnCf6wCyYACNUAUn5gEOOgQCJDDCygaEGEBQrTeX5QAooACNTgBQmAngWQAJ06H6s3" + + "H9X2nj6hL9EBpUSxBwFmU6RwNnZgB+LWRbqnHINbSlbBe7BDiDFwlIdiVGahFhhmYWwER49A" + + "fBw2b091ODFgR26xF5PYoHVhlZvyiZ0zcGRlcWpVK/KqSbrhfr3RfkYmSlZhZHDzNsrCU8YB" + + "jD/+OphgMy1BwR3JiHPKcQH14rE7gR1+OasG8lLh0RPhEU2PBR4HYGllFmbyEmbcUYGGiR9I" + + "K6ZDAIJXgBQfkQOBUA1M0I4bAAYMNQKocAN+YAaWQANQgAMscACJupva0WlKhwHsgAHpkqVi" + + "oAg5Mw7ZxREPOQ3RJQjJUC9U0JCcNw7EYDPwoQE5oBIQMgVQ4DAJEAnEMAhGcAxdsIUOswct" + + "6RM5AR6p14u8pD7McsIs4AayZ4cS8BRIoQsHFpTLAVSvdFewVBXNOojQ6m7YShZwIblsRIhp" + + "wbnWmmF0BEeN2BeTom90wVSBcziYsgX4BqJjCXG28n2ERCuswhmtYRv+jUEJ6ddWvUEsuzEH" + + "SPYnTcY7PvUT2zE91OJZHnsfhbIfPaET7+IT+1g9P3EASIsiajeOMlhcgvoKXzpm5ggf+rEu" + + "oAVZ+rKxnUUVmbUNgkYEPKBc6XAGDfEOdEAFA5GnG5AAKgS/fiAI6WhcN+E9pmBt5iIvptAm" + + "oIZcLVQQ04BAHIEI1JkJ4HAM/qASYAAH+WAuSgAPVjslCVDBBQAF00AEiqABShCHWoieDqAI" + + "9bJfP2ptg+kcQnrHKBsKN0AKPHk2L3CHBxYcPvU7XwQosqsZEaZG8PxuFNZubnStbCR8aAEX" + + "0rphGipvk7JUlfIXyVcpH9pIUxU6Kdaig8H+SI9DKoJUccECl+xnO0e2G7wxLG/zZHOgrINL" + + "WNQCnzyhcrMKHpQ1sdDIBM6xAEzAWEs6BBgAMuhBD+/wHkoUFMG1NTg9B/2rHO+gdt7jac5x" + + "LsLhdM3zL1I3BOk4Ck5AyrowDqhwBNpwDCAgC0BwBVlAU2AQCzyQnFBgaGSgjvg0vCeiBI5A" + + "09IAD/mUWcB5DMCwdwjUQcy1AXhnBFWAARqgMPELAyiVEwuQCJcAEV0QM7A5ETvwDJZnCH2Q" + + "AD/kA87mHVC0eoH50ULBDnG8DbRACqHgt/iJaHfok2PUZLsYPIEoRpGxKD5ciO52oIdYz60N" + + "ud0KoZLylA4aKXT+IVXgysSM2BeeQ2KNpAOX5EgKDTlrdRjsV8aL8HGwYUqRETs3+hulRIu7" + + "iDzzB3PeExR6Vih83FlWii+F0hPr8zzRy1n8cQ9bUy/zESDXIwu4iXY7cbHx4i3PwQRLOgfF" + + "7D1Zs4D9MauKJQY6sA1XQAMqsIVOEAoswQPVYAhMIA2JIAlQQAMeggV7YFCx4CHNoAHs4Aji" + + "8QrxYg9MQJCZgCKbFo6GgARDUySOd4SWYAmOIA3X2QjpABGQMAkGMh6vxtVEwFDj4APoSZI8" + + "YYWgtwOdqhP11TXvAR5sonLc/Bzb0Aln4xSuKc7CSgoGRgGAAh3UASj+CTfHoyiD6MP+zsra" + + "R3XEYZ4WHtCtUkwpdTRHfjEpmwIXkTLQdfE5JjZWotKihJRjLUoJiZQrl8FW5ac66lcJuhMw" + + "O+yf+afDczOfP9FSxbNL63GMm+UmJ5Kb29weqbcAGPATC1AToAkP7JMIW3oyHj4EB+BbxuzK" + + "4UEPP0EP8GA8nL4d7GFnS4odC5COQC4B7jsOTnAkPPCmmaAIm/ARNHAEfODVZkCnWDAA83AM" + + "wLkA+IR2OwgfLbU9asZAx5Bd04DsjmcGBeAP4lC2B3AMV3AEUzAmJmAmSHcMkqB56UkE08AJ" + + "OGQMimAN+XAMr0pE/eCS77ET4tImbAIe2AFzf7INTfC3dsD+Cm6gC36b8AIgAOh8l0A1HaC9" + + "xrtRHBE2AXeD2qkNz+sWrUjJN4/rVMRnOFepOHGkuXwhR7btlSAmfX/EYn/0OZ8xGKWjVp5B" + + "GkUGf4yRB2/jJznKe6WUez/1FYNZ9NRSLzcnjAYyWNmy3Vi2X7WpdPj04Qmy0u5BD/awpM/O" + + "jRWIAXDmsN+hZoPgf4OpRMqhjk3AA50nAQkwJRNyeGdgCNXwDopQBTAuJQrDQgeBD4HAAu/Q" + + "pSw9kGcSg68gnNJgCJyQXQQRncoeM1UjC8LgBUQABnqQRFcTH0pQDVcAepks2Ay1A04ADpsg" + + "BhrwAqDXBeDQCzb53SrMzView4z+gLJ/+xQKLwB+SwoJrw3nwHu02GBEKdq94+UeoPHOijeH" + + "qG4g30bAF5V2kWGT4pWce7l4tOYVqn2nCGIEx9Bb9UiPwxq0ghuPw36w8XE99TYJtn+/s3t4" + + "qT4hA7Ahk20Ee3LFA+nOxOks5x1gwRPsgALgch4nAxALhgBicgCQmHemlLB79w7QnAUCUQx6" + + "J2aOkgWA7og5oOQOREBDhigBhGIIhkE6WFyZZmfHkR1uiByhYQcKFCKOjLwDB6QPFpdYxnGC" + + "ko7UjizNAmlwCOjVBSWm4BHsAGiQvXcL7FWThGZAAjOI/GQxQ4RIrjQLkmmgMa6Eg0GJxCjB" + + "ANUQjR3+08bhpeGEiARHigCt3EGDUz46ShQDugBIiRgxQ+bMQTFH8sfIk0XQ0sXKjS4BrOwI" + + "cFPajQ15dxgxQoGC0eTXc/IwGsJ6TiJG3jx4mLC79+4Qu4XzHg7cuPEQyZXHYN6ceasQMbg8" + + "4sKllfXq069vb7X91Hbmj1qJfyQem4FH2Laox3a+PS/18NVvMWBgy31e+Xkt4s+rUiVvvFkE" + + "QAEXCdBAb+bIbTUFGaRMwZDmuOOex0xKJEIl5JqDHSWG+OixDzscaQExULBqiMouiIwdxzqk" + + "6zFADjhAJCUOuICdA+AR6R1ZLrhggQ5ve0eJOQY54J07AFkAAxTmYocRQN7+0WAbJwrYwY5x" + + "jhhHggKgSIAGLKB4JZ8aFbnAGEt4ICIWKHzYAAwJoDBDm0B+AQSQTEiqgB4l4MnEsQMoyuSY" + + "PizJYpwCsCjgiCxwIqIXajCo5oUdjHDAscgGOUiDHG7Ia4cECsBrHH7AeUyDBJzAxwF2xGAs" + + "JMYuEEk1yj66A4WPLNuGlhx0YWC0z/ZxQwAB9tHmHBTy8IYR1VhrlrbaaLvgtd+qJa644oID" + + "TlvhgmMuuhjADdc5LqTTDrvyxIvhuumqa67cda0Tz4DuHqGXPWzstY+XLbqLD75HtoAPvi0W" + + "uW+R/Srhb8BK/KuEEgAryU3ZO+7wpmIPVRPJNjH+GPSRNleHiEyJC+4QWTKTZMWsQlfFuKMx" + + "D0fyaI4oIavRRSZIVuKdGQGRZqohTHkFsiPnEIMeJixi4p05vBmpNiUj06AaN3iAYoMrxzn0" + + "pSxAJcOXSw9YgA5rNhhnHDzA4AERPHYYBww7NKDiHYbeGWnIGis6wJQYh/EiATCyIGKDWPyA" + + "Igt/doBkECU0cEEUB4xQDMghErlgmz4K82McJ3YobIcV6NgEHBaOOmESkWQd6OTJJqt4Mtdc" + + "Z0SHRmZwg5V9dHmiNNLckESbbwJcLcFlN96Y2XssZkS43ib4jXnfrsV2Ww+Cs17cEODNrrru" + + "YqDOuu7ajff77NjNjrz+fnVQL+D0dOjXAPXQm4/f9pYQGBv9+KUE4f0Q7s+b//xnWQC8GOwq" + + "k7GNVaZWI3kII+bykCHISkIikRBULCKGRIjIMZLxUWTEcIELDeEdObtAQipiQhHagx4/oscB" + + "5oCBjrwwhhlKxEYek4c7KKZiJBHBSvxhB6sdwVNQSJPh/ICPdZjAIYEChCKqkAAJmAELZolF" + + "AnaAE3NMDVCD4Ag9IsIEDNRIISaoRheOgAUzaG0A47CEGQpgj2QAYhvmgIEDhhSjGSmGGpcg" + + "gueI4AQe0EACKxhHIjYhhkBkDh6TsAxkmnQyk7SOWbH5SGtop4vS0EIIpdkH7vZhBRsET1n+" + + "q1nNEO6hoHvgxkLMGsJwnMcb571SerPk1nCs54HmiOtd62rOdd5FnvF0J3zsasW6hCmv+oin" + + "OwIbmPoMoL72GABh87tPNZnpn0VQImEDys//AhQgBUVLMpeRzLJMEjMKXkRkGwmJSCAjMkzd" + + "SDGUuZOHoiQrIz0mKgeYy9JutIADtGppLjPSBSBSkSI55G4L8FFEaJSIOUCFBduw2jh0QQMo" + + "TEMARBgAFhgAhRE4ohwHoIfICnIPI5xhLyOwBA2OYAnPbQAKSKgGCKJUASYMwhSOGAQ9+JSQ" + + "juCAEzuIheCOUJYNoGEcMJAcC7iBCwfQBRBh5JAS8sECHkgAVDf+GCQpGMCDXyRGBpe4gTzk" + + "ATvLiEStkkzQRyjJiG00wg0W2IewcjdXNwjhByA4Ky9uRcCNXUQJq1FMHirRSuLE0jfPa55i" + + "F4st5US2l+UqVzHN5b3rUCeY5MFOMLdTrvKMJwY6qNdmsdEKA/BiCa1Qz3jeg7/X4g9+/MFP" + + "fiiBDW0G8JsCVI1rZvWRtRrNZBGVDM1QFNFESMYxyR3CASA6hAWUlGYCMdqFGtkhhtRzEEtz" + + "DDxIdAF6ZMJVTGCCQWURKIh0ZCSZsJss6IGkRCztIkO7wza4cgMi+IEIDBgHTpyAxgLcAA7Z" + + "yAcgTJGRd3gRHCDghB+OCoYEYAENXZD+0w60oQ1rDCITTMAThxuSQSaYYhDVMEYCjlCAs0Hh" + + "CETIgiVSoIiKQMIBisDgnR7zQTFsQxJf4gQNBOmEG9AgDrMYAhC2MWQgtA6tkykuZV6TB9ew" + + "RlkiGIUVPmOa25XGBXudRbM8tAhGeGQRIhzCsjLEiDwM4ZUAeGW1FOvY50H2erp0jnQu+9ny" + + "MGd73TtXu7aj2c1udgv2Ou16yHPaJehgCfNRj8H+dduCNSw/BUIYAAkkITRLqEEGZeVvXYWx" + + "DplMhwxUHYYYd92QVFXUC5hMjRhjpAslwhQ5G2HOavSnC8xaRaYwhYoyAY8P8sigj5kDNSIS" + + "iG1cgQhBHlz+X7AAYR48WwK9WEdAlfAKWQQNHvdQhDY4EQo0gOG/ZqCBH8BAgxccoxolzCN7" + + "ccSEIeh0ARq4whHMCAWuaekIxXCALMChCCMwbhAZcYyKLqABVXShx+PggR1owANSkAIIgSg2" + + "PGbBLAWZTCSRpBVrVnMr1SxLB0Woqxue0DsXuMEOOaDFCS6eoNp4A4NNm7nTOhIgNQMAltBb" + + "bCybFz1Zcis53xo6F0IAHXOFTzrK5M540hW+0AYTfNw7NNPdRy8d8MI+7sv6fVh7P36FPX/9" + + "u8UWCGRpw/4HBd5Y+4MwZhHgRjB1EsSUSOSiormMjCRGq+eI6JmRgTymMRRhtZH+ZiQLR9BD" + + "DK/oQEVegZV4Hwm6WRnRIF4mC4uAkEhzmZIdiJAAAWC0AKTA6BHiFIsazCIZdANE4+cgowyZ" + + "IBgu2QAUs3CEUCxqHJGohgZqFKgDLM1ItFbIMVp8hFjEgsVY2IE/sqAIQxA8IxzRmYqUAAQW" + + "dEECTtAqA7gfilDIghJzAMI9kvyaytgKYxKyWGtcs3bWVGLkdsAyK0hjB1L84AcuN/MQwOyh" + + "/xCuyliA5GKHBfg5n0tABfS5WaqeyIoOcBm6o6Os0HKX8KgOzYoX7XA67vEzYOKC9kgPXmiF" + + "9bgX2VKt06Kf/BAYhCkYhmEYiNkPSwsQiwGgj2MQyXj+DQpyp3GCjMwzqLkgkQjaIJm5ABRo" + + "FZIQmQ6BjHfAAKKxvCF4L8bIBIWIL4XAEXoABAPkkyIxCI7gmy5cgBwyhWxTkkFAAfuyAgaQ" + + "gL2wgwQggm8bByzoAlIABgJrrscAKIvIkCJLg3BQEyi4gXHYAD/YgQ3AggTYBW1ggXewh4zY" + + "sKjgKVnIBGnQgGn4ig1Yow04FDZyBFnAG01pER+0u0DIgR34qocLBVK4gRewgVNiPzRrlthx" + + "nd6ajQBRljwwrDzQgVEQFjfglRxgBfALhSawgxo4hzHLNqchmWVxjNyYA1loGgdaQFlKQN9g" + + "M1mingeEwDt7DgxUpqf7HvD+kI6mqxdlkhcdII/0ACb4CZjzkA/6WA/70ab1uCYZXJhFUBaF" + + "8QbD+iZnaQ1ME661krt3khmRYIyRWQDMG4ghEYPzsghAkIV2IhmREBsfociLcIyIaiExMMCA" + + "wpFE4CIMGJLbMAUMaC6FQAF4qACRKIiDkJFB2AYpyIIuwC8soIEbOIJC5IECsBJcWAdWG0mJ" + + "lJEFYAgbIQYmcIMbyIIC+C8scIIsiAUwiYdNiBIMiJGcSQSx2RkpYYV0OBswWLENsAQi8Adb" + + "oAOtJJkLcciLZAd2GIJtGAUi2IMb6AInCAU7uAE7OIPUkIw8aBonc43ZsIy140dlQQEAKcxd" + + "HIX+H0g5OwiFHLCCUFiBH6AFHtiFc2CEREgExKycGlQC6VKM4lICa0xAbCxNxyqOcOHGOqsz" + + "qAOfQJuO5/gz6oi68uCedgwf+gim9nCP81iP9iDB9simemSYfZS0ZRkQ4eHH1/A4y3AyH0ER" + + "mbEhy4kgYrsNIawRg4IuiqzOwFMuV7GMQRiEVivKJDkAzNsugeAQ9UqIkJCRgeBIJciEGbkA" + + "sTlCnrEMjNiGIogEQYiDOIiESDCGOACGa4gDY6iDXZgEBzAFu2GCDjBAJsg2GfkgIyCGAI2E" + + "OLgGQcAHAx1QMkgDQFGMIzHAqcAIYSiBOqgDQbgGFhWEXLiGSCiBNKj+tUFACcXokA3SQngw" + + "BlFAUGM4gzg4AyGVh8pwzopxjQRZu0qomIjJg3z8j8PUAW0g0jMwhyE9A1FIgSs4g0joh29g" + + "hBLKDZl5DZJgBDCTBY8YiTZLrGp0HjbTOWvEFqIrOj0bOuiguukQj876rD2tF9gUpnzxF9Y6" + + "LdTqjmeyH/cpQYFpVPjBLf0omG7CJl6ghAPhx7U7zEmqGE4dSKg4yAwamUEYAiRsFZohCVeR" + + "yFYjmYOSjAx5y3iDDMdgnH7ip0m0ESWwB1NAgfhSAhMpmsmjGRkxmnlSEifkCEWQh1noBQeQ" + + "hxkjBgpwgDTohXLIBhNwAI6wG4o4CJTYECH+XABFyId8IAYHWNY0mLFeINcajUh4kIUFMIWO" + + "CLEbTQZLSYZsSINkAJts8AViyIZ1UAL3SoQlgYpsWx0xoAOELddZKAezkodymIXUIExJysUA" + + "SZbdIiCIkdLXOAdl/YZonQQKmAVimIVvWFYH+AZRwzmNIKxoPKAcVDNYaqwF9AA5zUZackBw" + + "oaw6cxd2CS0+/Z6ng7p6Sab06E32uRdh8rrukI9HrUcV5Jfa2p+wk9pKwCHlnMHhYjLXGYgS" + + "sc7I2CD9FBGoMCiIyDbB4qAbmwvRVBK6ga6AGoKCaAykYYwK/ZGMQIGdAQRv0KmHoKGKfIXb" + + "wIo7mEQXKRqAJRL+xVARjSySkFCCpHk9G5mDdxjVGBlVNXWVV7Ac+oTbqTgv6KqABRiEClAI" + + "GYEKJsigVzgADHgFBz2SRGghd3UIDFoI0YQMmvEgtbIIFMmVXGkQWqkYS6tajAUQ/qANjSmz" + + "yqmN5F2EO6CHO5CYDLmVubiAAOkQVkqu2FDAnpPZOe2WboFAyXoXyuLZ7uGODnQtcCzUfsmX" + + "dYQmp6MX9DCt1LoP+GlUa8Kf/skmiEEYAOEFAhIQivkmjcs4FBHTk/ERTWGRJLwTIWwZkTiv" + + "VKPVH/FVmTEa59oRenjLRFDTi8gRyTgSi+CZvhUbmnFQHGGvOeC1t3wvgXKI13sHH+H+mcgQ" + + "2MCzmyipCICKyNKNESJhAnsoEr4xsMdgL9CUhQwKlN8zkqYA4ZG8UXgYkqVpiKw4Eq5UYJKo" + + "ix30II2zCCWjxQeJssJEu/9YmOERicPCjUXIEN8iEqdhtYsJCQNhBCMeyNZYnZFwU2qcgDiN" + + "WchCDuWAFz2zs9esDgMQn3gJNPOAH0ElQeB8JvPQAXpBX9e6H9i6LfyFWoHRJv2QWuatVIlh" + + "0otJFh1sHQpKErnYiA2OmQyyjMuVmRJZACZgtcoRkQy5INFsjMTFAAdFAVju2xa6k08MiQUA" + + "thQWL3bYXIKoIRFiGhwxKCVJLseQBVHz1RhpXDCCLnhoDPr+lNw8mlyDBCFYIRkZEWaBwAgl" + + "kDfH7Qj3yoiRBM0obrzgm2Ie2WDHyAjFcEu1OicDcrIHsYyKWY3WQDPDJF4EYZZl6ZgxGwLo" + + "LbMwKzOn6Ri2uwdO+y2nuQdT2hjg4g1sjFNqrNk3kx7r+ZZxGRd3yVk9rcDKkhfeTJdEG0H2" + + "OVQTHFRl2gL1IZj6gFqDySb40GT+aBiFoQRLHZCMZc4lZbvnbCQPESwfweWOdIy+/dR6Fpnx" + + "3DwVcdUe6eAVgU+3ZRwZOclc/ZP5ZII7SIQ/eSECfCEHTRIHHQh4ODz0nAsS5mH8dJk7MQnV" + + "nYuyjmuDCDyLIJGLOMlqhuvxrND+141IEZtPh0jdo8mEBWhExukAeJA14AOSxlYMylWrdJKQ" + + "2GGW2QBotmM7ZeFH0X7SZWGEShBMkckN3LBUu6mge3gNWfEGv4oMk1nlWyHgkUiuyWAzjdZj" + + "3/ZtAODtmu2WOJuzndUzeMlZY0Lu8cBA1zLUr1sCpgsm+K0XQyW0/FC0+bgm/tmPhPEP79bk" + + "oObfiEkQZsGY4hrbisGUr5UgSHLqyRhP5dIUJaRdhWxqxbgHh4SHx4CHDogM73IM8iKSV+Bv" + + "6FLTHPKusRZhA7OHKIwHu9kwbf6TySOSDJKVVbZPDO+Rwx2JvWacVhmS5rKbA8gEqDgwdtsZ" + + "g9Dl0CX+r6maYni40SFJsCWhB/4GWKsgCVoNGXbgNE37x7Vbu/b77NY4bVAO7eFJcsmoBMuA" + + "0gmZAwNxlWXJIXS6QcwuZWi56ODeci7vci//cjDfcuDm8t/W4+COpTjl6Ddznm7oBmvsBt5O" + + "wDaXUw/ohjq3cw84hRA4BT0/hW7g8z3nc0Hf8z3XAUPXARE4BR3g821o9EbXAUdvdA1Atm0I" + + "hECQAWSbkkpfCkfXgCkJBEOY9EBggYmS9GNggUDovUqvht5bChyYEkOgAk+3Lypo9GrAAVTH" + + "AVxfClb3dBw4hm04Bm2YEhwAAVLHASoYdVbfhqkBdvuqhkqf9VifElY/hkD+AIFaZ4FX3wYc" + + "gHZDqAZLr4aJWnZPJ/XeM3cNYIFQZwFWXwUWOPWpqYZvF/dQP4ap0YBvT/djCPV0Z3ZLnygR" + + "iPSAh3RD3wZIF4FFT/hDN3QRSHQ+b3iD14EpOYVKbwUPePRTEAFkg3RkU3RIj/hK34aAF4Ex" + + "YHiBj/RoSHmVX3mWb/mUf4CUV4MHeIBaqPlaWIYGWIZl0AdMWIUA0Ad92Pll+Hl9IAFkOHqk" + + "N3qjZ4ZPQAam/wSo/4M2IIBP+IM/IIeql3qob4Ooj3qrVwWrhwCpt/o3eIMoKIQiKIM3+IMv" + + "+AK1L4MvaAQhKIJRKAMhCIIysPvSEAIE2KS8+gH+8LMDO2AFHlgBHuABTpgGHniBFXiJFfAU" + + "mLCDFbiJG+ABf0BEO6CwKwmFaThFzyOCwyeCcQCdQSyAbysAxCEFfwCDPjoqmiQCM0ADFRsB" + + "NBD9AeCDcdiDAQADt7k9GgAcLJAA2C+AFYB9PzgKIgiwLkCxINoLMEijI0CErgkcCTiqccCv" + + "AmCAtlgBLBEVIpgiHjgCrDG3HTAjoWAUKOiCMCGCw3kpMIACOYT/9z+jsriJHcivtpAA/Tf8" + + "G3ADUvB/gLATyo4uHnYOCtAlwA1Dhvt0Pdy3TwjDg51C8RDCYIeFMi92WHEjIVSnRm5edCrS" + + "aQUPFzmckHLT6ceLHwL+QnEKtcLFPloz7fBYMfDHj2hGjSaJliQp0qVHj9ZSU2tq1KkNGtRa" + + "1mDZMn0BuC5D1hXsMhJhkQVAhuwTMmaf2K55K3ftn0/k5LapW1fun76f/kCA0PfPF8CqvhQp" + + "8mVxmcUcyryBjCBIEMhlhCC4TFFIEJMQKRI8eIMHKTtOxtGwQ0rCDh66XozjMbpLgR03WI/j" + + "xINGApgbW9/esYMBjSM7SPmxhJoIlg1QdozDkmXckRFgJCRoJ44GFkRYdhwxk+X2ESy8/cU6" + + "AsWMmR2WwJiR4A9Mlh1EshDh0byLBOo0xj1X3DjQ1QceFDfcYFx/RCTQBRFH8EBdF9xtQAP+" + + "FAPYl4UlCWABRgJQxDJOASMUEN0R42zgB3fPqUcEEQXQwAkRwjlxAw0GCaQLA3aoEFpCuvSo" + + "y0Gs6KJQQ27Q0pALK7jhAid2WMFJF40EsQMnQjRhBycTAZWDEPswEEQTneTwpBUCsMIQLS4A" + + "9cINabqBGSuqlTbVU0odNYYrRqlxp1FTuTLVA1NxlRVXYqmFzCGrHKpWWProExZbbiFDAlxy" + + "yUXAXm9t+tdgfaUSxR+HfdJGKotBsJiqHLD6RSGFlNFYrLE2ctlEQnAWUhBCuMDTPiJJQNBo" + + "NzDAgwQ8MEAKDa0JKZxBEZLmxIw3hPJfsKddO04CO9DgorbjZDH+3Q5ZgLGsGWBwiwYY45By" + + "RCx+8LDBAJZIAAUYUNBQgDhg3OAHHrHcgAgi40xzLnTsJbBHFgN0sUMsA3QLBRT9YQEFEVB8" + + "54cZ+RUA4Q5gWHIDxhFiOC4RNGyACg/lJcADFDA650QBG9iHxRGc+OGPfTAm4Ad1RyQwDhFO" + + "OLGbE8UycAMpRRJESg43+OhGDroQqUsOv7ohkRAW7JODCz/sYEcjPHSRgx1EhFLGSQIgoJEb" + + "ipWRgxU/uBCUCyfRUgZROWBEkBBlLJQDDwZ9LQTfdkjl51JL9RlN40k8EM2ealBO1TK1MHoo" + + "WGItcwhXjDqa6FfMqMXWWmt9Epfpb63+0QYBd/VFDgFtCAaBpqpEIWphfR22WBRfcOAq8EUg" + + "MDyssQZhAQKNWMC1ELRYYIcbFswpAJoMHOtG0k6IxgkNCGLvGlAJ0FAsdi+QskMXRZ8WNikJ" + + "ECFkF37UOAAWCdxghnk3OHgEb1BkgQbcGQBq5OW/IyACXQPgg3nQ0J4jZAALp4GCJXgwjYq5" + + "zBL+QA4UjnADIpihABJ4z7ZGADFLoGFbaNjAB8ezA5oxwA8TA8/3CgAFJ0zDfzywxBEk4AQ/" + + "EEECG/DfDvwAnSMQoQsbWA4ROJGOGRlnB9OQwGiSpTQ77IhIWFQBKwRAECKxomt2SIgb0CQ9" + + "NWnPCloKghv+iGCHTrCCCAIowj544IbLDK55rGDA3wC3ENk8SUw+cQMpcOSCJuCKTQdRYw7c" + + "UItoPGAMjYMkn6CSBDv96QGBskpWtjKWs5Clc4cIXaMudbq2kI4tb0EdpgbTBk9BQBV/eFVf" + + "ChOqwnzhDYj5Qhka0QhVNSIyhehEJ4IQGSFYYVeGy8FCDpK1k5ACTayQjRvs0B+D3GAaYbPD" + + "CoKoixug5iBFlIAbeFAAThSEQXbIQRfwp4sdFAB/XUAit1yELBDmJzpZMGIWvNMF9mgLESPw" + + "gcZiIS0wQOgIYCiAy7IAoftwbEMSKA9qLFGAdhqRBjw0p3HO5sHi7EAXtHECePz+8D7y8QCI" + + "3YJRcZo4UaGJa4g7gMIGesYi4xBRgAgSElB2dBA7EGunXiSILuIkPTBaLyQVKeMKWEEL3Yxt" + + "GlaIGydcQBFS/K0QQvhBI0KygpjYgRW4soAQeBAKVjRya1wlJANCYVWKMGQjGfETnvKklFok" + + "RSqN0yuhuKKPWmwlUvpQy2ATVTrDIqOwpzRsKg2LqbcQ4C/k+JTtCKOqw/zuD7/TJfAa84Uo" + + "FKEMxXtDrYIwTAFYoQlslB7X0DqRHBSSIWb76Y1Uw60b6EICDTsID2oElHZic3BACedvb1C3" + + "eLqAO+OQQHGgMCDmmKGb7SgXFPAwADnEAg2x6Ba58mX+nQSEpz1QQMQAJJAFPPgPC2g4ICKQ" + + "iAg8FMAPA8jCNPyAhXF0wWIROpGFYGTD/NyHNQTkgT+OEIoE1McJA8gPKr5TRAE6lDq2aRBr" + + "ZuQz3uBXNmYl6k+JiiPVoGkhWJOekXRhgYV40Y7C6cTZ3riCabghCNZ0ww+4GYpq2qEzuPoB" + + "r+r2JDdYQQiduBs3w4akJqixi3awaieq2Rq8MuUpSRlDNKgcjai4InJGGRRVunw5zq0iUl1B" + + "bOgGexYyJ+oTllJLXE5nF0/t5ZWT1ctnc6cKwWhWMcKEDC/F9Ko3LC+0FOHxPqhnhSTtww6v" + + "VYgFqmkQRx8NKK0ZXwKACk7+HtyECON4Ew9axgPhSKAgQEOQgzadwWzSZyP6ow4YFkoDcvkv" + + "CyOoj6wHhgVPmCEBaEghEbT7HzPgawNogAInssCHCrWaN8C2ECL8geB1FYA+M81C0AawgXgx" + + "LAHpuQEPaZBfGqzgCDCahqZpMI0BScxKM4LOhFwEv3HEhlu9JQUDhioknwoJtwiRSNYE8BAX" + + "sEKsDFmIBO6mMwsQ2A26QMU4cFU0NzTBDSBpciF/IDiiWAEBQN7HC248RiEn2iACKJMLmhwa" + + "VrAxJ46ja10dt1dXJE4qlltG5mh+CM8l6sxkXsYaWLnKZaiSzJjyuaeG/pdP4O4Pr/xDKmpZ" + + "hib+uOoylVFJJ8pQiCBUvQltY4gVOnFisjbaDnAN66+mab1Q1IgBunDCjZR2ox3Z50afnqId" + + "uvU9acVmZRAihQ1H45wbYeF+EVrPjBDWhVYrxwzKYJjiO4gHNLDaEsXJwrWPMB39rGumBLR8" + + "ev1QG0ucrDxEWMEG7pec9fnBDzY6Aio+CDQa+IF8wmlNucEjtBIBCDUnAs/sd5AAbWpLgDci" + + "BdSEpIulGV9IP1L4PgQwg63t4wdkbYILSEELlgjBCf5gxQ+6EApa0IQHVhDcDkJBfjtYoMm7" + + "op6VpPcDtYkVKKFwmtpu7AL7SE8IjeDbC9pIAzcgxVE4heT8CSVJjhr+7EmXGYqhgIUnhcUl" + + "cI7nnIViHRZiwUUFOhbRrVJc/MEaqI4qTNYnQEBmMZ1lFEJkzAquVN0wVR0y0Zgm4Ar6gR9B" + + "NMSOFBraSc9HcE8O+B6yrEwXAJWLQA147MFqaMtBTIsuuEj5wFMQdYsl7EC9ONcKmMEImMER" + + "VAevZcAIWAge5BoUoAEeRMcKRQcYYIEEYMG77MAAeMe4eAcCIcIOdEd9iMPGAMhzPEjQTMeH" + + "6MxMQQGBbcA0dMt3gFc+QYEcfAi3DJHLwAgW2seEJABz2chucEs7tYYAAdUYYVFptIBCFImI" + + "NQ+NMYQQvAEi/QANNBIRMMAPJFEnvJMdPU3+TQjBOjVB8z2JC4zc3TRCJ2zVNKkGD3AVL5LC" + + "QHRaRnxJQTjB9JDGQwSFHdzJI1VSAbrclfVVVvQVWWRFYjVKolBgmrHSN54SCXjjKUWW6hCA" + + "m9WFOepFX+hOEXCAYvDSrHSCFTRCEcAKZxQB1/yAMhFJkBlOnCic9IwfFp0YFUGN0ewI+RQN" + + "/JQPKXgP99hBAiTAN8GPQRCBEb2PctyAHJrBcqjLDrWXE5gBHixReIDByvDBxpgBrjGHJ9yP" + + "J3gCucGHg0TAwECBMkyHFY4DGCBCAMGHP4BQCIEhfkgHvG3ABkgACAlN4PFAOkAeDQxAAcSQ" + + "P0jLjORXPdVG0PD+xrawnXDgF2qwhgSI5duRQjRVky64gNolBJGgiRvMwK9UhmhZAE2EghCE" + + "QtjcHw1sVWtIzYAcxAtwQv8xRBkE2Q8U0jCO3ws8T1gJyZkYBIsNTkvM4gqEFUmFAqFtxFFE" + + "TpQ9xSM9AJdxGaFsxcx1zubc3AR64yeQzji6GaaoDglQSuk8Vpx1yuwUndLJkmAsxig0BqBl" + + "xmQIGWfgiq1MTfRNzz5Ywa+QFS0ICdcEjhWwAk7wQHS2zPHhEGncQMskzYyUJUmFzW5EYnZW" + + "jLI4xwcNGymMw6ztAXhRG7ikhxNkgUuCEB6AARGMAB5gARHQ57h0kBAFHg3EQn36Qxb+YME0" + + "AFB9VAwU+MERQOF9QEEXBB6AYEEBwCcUUpTLsEh+cgK83UgUYkdW4uGJaNpF1VPQDMi5AQfb" + + "TQgN0JuPEMRCsGVRKVyMRcYbzCItCEFqgM0OaIQ/rECNlV/E2VHVAQUhrcBGuEBydkLXRGcQ" + + "Wc8wQUkOrEDY4Ipdlk8oMAiP3QSz8CAnVJkATpIaaBI0dpkaXI7l1AIyMCAoIQoFmg5iiSOm" + + "vNLQtYXpuMVcqNJttsFdcMo67sWn5E7w8FIj4AoCNAEiEerz/AAvVtP0hMQPJIkbdBFFsIJV" + + "SWoovEDAWVON8AAncIIEpE9+2NZwbOQ0IIsQHUHdARFQbUD+AYxGB+3AadQGKdwHhABoFpSI" + + "GaBBbcQCIjzIFoJLBnhIdREQFliCxaSDd+zkeiFQR6LBwAjbCEzDBswauFjMEUQlgMSTP+Rn" + + "ccTTOPAQdPiMtBzBaQDYDRFBTb2ItjhIqTHIgxAMdCzXhDBXa4DqvTHADCiEoklqnExEFJQB" + + "o94Ar9gRK7RG3WxATGApZW7EOGDRjfGYEAgAA/ANNlnArkiqUHRJGcjYL1bTj33aOJxVECgh" + + "Zc7TDjCFlT1FoOzVVFQOYF1OzBbKNiIKmokjYbVFnaaSa8Jmnq6OXKjOKt0Fn27K0v1F63xK" + + "KoxC8JzgZrQNWXHsryTTLBaVBVj+gUL8yvwB2Q8Iya8AFQP8ym4QxGlgmjlNpABAhx0lJaiK" + + "DBEMYYkAFRLZSAfRQL3MDDj1ZwIIKydAkAdF23dkARpMRyzwwcCAgXx6Ah48CB5kQK85AxbS" + + "Z6+NgM4AW8PEQoFqzBLBx4OAQYhswMYQQbgWQAi9UBPlV4U5SAE8CBBp2u3hHn5pGrzC2w7s" + + "gQCBGoKQRifOwFr6m/XEZSGMQpV+nxCETdxMw9UIkJeURqP9AMUWC0lxggBAKpmUkUCYTZIq" + + "2iwGC0O8gRtwguAkUTRJxAs4wUD4AxSInYygbFIshco2DjSuXC1sEmnWHFk4imomSmORWc+p" + + "WaUE7Sr+RVZsyubREXDqtBJf+MVfQMBkRcFh2GNkHNrTKVOVpglc0ZgLMsQ3+ZsQ+OJAYpr2" + + "yAYxDsfaJdFofBpuvY9t8ICLgOp/HIcEeN7gDOiNZEEGGIuGbBq5uO16+A9P3tcAeIJzFC5z" + + "eEcCnIvqmoG1HSgAgcEAoEKAzggAuQgWgms6DJCmtZo+zYglVEjoottzJCX5EMEeeEvHsC68" + + "CY2LqG4B1IamQYfvyZvcEcsLrJPUmJEbaIEQRMEbBA8C7AMCEAmLEcH72cE45ABN5Mddcuej" + + "2YH0zQlQsAQpzE2sVO+U6oKQAc6ObGRGSA1zuUYLaFP1PYgkS2wCIEWfcCb+JcnvKvMVl3FF" + + "A2CCAx5KmKUZM9wsMvTc/a7OKamm0eVyXFjKnVoK0PapXMjSJ2iKn7JjqtRKwFJGJ7RNlS7T" + + "JYdEUX0JDVaTVf2AwqFWObmG9kzaRnYBsrSTQQ4IsninjaBCD2nJGdrBBoTIB92XR40DSelP" + + "EjWxxYDBsO3A44GHdcyUOEwHxthMeBzB5yJCAQDxfUUAfG2Ad7zaCiGYOFxMuFBHPLFxFDuX" + + "xeDLzCxX7ElYO3GCuc4I7rUrGotbEuEXSjGX8PnWjhRJ18LJGywtCjZaGTzVDzRBW+EKD7yA" + + "agmJUZXfbLXGnGyz2BEJ37ACdHqJxP4lMpXGPvT+RzLGYPmGAgBNw69k5zQMhIUMYMs5TmgC" + + "iphWRSfBrCdFiqLonGyymaJkoM9p4M8Z1jBrCqfwxTHv6WB4ShvkxangUiNkRhkUATLtyg80" + + "nxWExBjRAnTeWJOEQlF50Q3QGBapXUF856fZBgM8CG6tcAEQhNC4Bgvz4ICoAHjkR388qDy3" + + "THTczwaAwQhQB+OuzArdABjgwQ1ZwqoBMRrsQOISQSxEgCV0QQLl1z0H3rFKx+8pKHgMgHNl" + + "AehebnEPiHiMw3wVERTGnfociwDtBrw1jO9py7Zwyx7I60q3nfksC9QQi2q8SULswxvAN29a" + + "ndSUwTTx4jJqBCdIzeD+zAknVOod/YAVuMALBMVxLITaMIALYAQPWADUaU+a2EcOmKJuCImL" + + "3M1M2UaSWMjgPPeUffVR6JXLuSw1YoU1vnI2bk6ardKbrsU27vLP4nLqIFYuD/BbzClf1wUy" + + "dIpcFIZiFAIvFUIT6JLeYAYGs5GkRp8VSUSRhoRshG0yVlNt6ULdGgTsBQt6joMcCM5ycdOD" + + "0MCUfwc4nQgOmSF/jEN6xEs7rM+50MwAhMgKoMd9jcAK6acnYGEEjMAO6CoSXS7GxEI70BQi" + + "xMK4ZIDQzBd1lB5zOIdzlMgGNNHFzEirFpHFyAhJzUjw+YBE1i3bSWQXNIy1iLcPfEvC4G7+" + + "jQSVMwVcQghAECBAZARBLv3NLP4N3eC0WVmBBTCZxEovQ4SCcYUVUVxGURWLhr0VI60TZeIo" + + "UDiNSdiRxLWqZFuBCszIlGcBFJjN/DhFEgDA4kjO/LKs/IqpK5v152ACKIXFarZZBZpOLrP4" + + "KjFWz7o1oqjZbM5pKyXwqBAGYZRB8KRCKsTK75BVcDbJ9Mwo9DRENZtYLwLZWTaTcP0WLn4a" + + "EaBPAqgMK0hLh7pI0aiu7BEodthMp2WrEt0XCJlhGfqMGUQAFOgaAc05FuyBJdhPdWfAEBGC" + + "4uKBJwBRBgzAh2xMF2iIi+jwBmTAFQLQy1T7xWyAp0NBgZlBO5n+KLcsiye3jFj2Vg+2hrFQ" + + "OQ04AflwwtVLwLAfREy3ZZxcRqzASqMVwcUJwUbOopXQsWo0SSPHiRAQz34bBEUsT9ZIWrD8" + + "AAKs09q7bQ5YwBvUWLMQQSOxyQqA7HO4AIocgQCQFQMsDvsyxSQ5zibJXFnP3FeEUs0yFums" + + "prsbVlqsploEwJv2XGGluy3jhV7QRZ8CqmZFQfBYXQPDCgccD5aw0UJYcCKN0UQ4xEA20vEh" + + "yzcNTiE5/FYOzri0zEx9VDr8oRN8vH4I9wo/+zylQ4PU4TigghkkdAFEgBlwwnpYghNAAYk4" + + "wZynw04Swvni2jgkkA0F3hH4QXQrlMX+OAeHdNBO3g8I+UEXAMSIAQkKZJmWAMu4BEfGNWxI" + + "gwYPGjsg8nDCg8cNBhJu3OAhYSKnizciQgQJ8kaLG7pa6LIjYEaQMm8KNfnypUyRMqyECHHj" + + "powbTm466eLxowkCAT982nESKkcONy7slLG6z06OFzzs0LJqwU5YHjvsCLGwbywrF11WCEEr" + + "gUeOIFYS7MihC8qAFVid7CBrgUeSJNEGRxsTjXC0Wg8QP1CDyVUtyZNrLbO8DJPlBpUbWA6A" + + "DPSn0J+YMRP9STSyNSRQIyPhGpllZJ/WLEsNenZqZn/+kG6DGvinNm12f+L956aqLxBSvfmS" + + "6kuTTgjKmP3+EaRn2Z5uBOwTwuqlECsv7LgRouuGVFZdyLrhMe6GgBvjaDAgNa6AEzs8iBCR" + + "IKG/HW6Ypj8JdiDiiI8KAKOAHaDA4ggJxkEkCyeyMMM/MMA4wokBYoGChiyy8GMPMyKwhAg8" + + "zNghFjSgGCcWcaaAQkU/xEFkgwTMGOEIKBDBgogsPgwyi/5EJCKdF4mAoj8ouuhvnCMa7GKa" + + "HQxMAKK+aAAJo44wooEUi7b0yMuKaLhhh4xuCIsBVgRAAIEmOHhjpjp/KMs9XXzaQRda9mPA" + + "CjdeAKqTH35Si4dQWHFjn+pYKYMW8OzQxYqwxBuLKyEE2NKoI3YwLyj9Nt2AiB/+dNlhHLss" + + "0GWaLlghhQjBZJ0VMcEUo0wNyjqjrLJlJMvsMtxCGy23NU6bTTVkcVsmNGZBczbZ2XoT7Y/h" + + "ejvOON6+aEO5m/4oZBTnUrFKzibcsMKC7fQswyU30s2BlU46EaA8n0JJT1AGJt2PFFK02sGJ" + + "jnZIgKMdGiTFQSJocKKAAo6gYRwosvArFjzG6cKMDSAGY4oGoTiCvQs1xgIMIsYRiAcs8DhC" + + "Dg2P0BENS2hEhAgz0NjADzOcjAUMJjfI4sEBioQiliwKwpAIRCzZAegliUjAoS5o4ASiVPdY" + + "WCKMJIIrIwkYCCUjrTMak6KIAvZIl7TTbaKJmTiIYhT+mYJgRZd0Q/GKOyEQuHO7G0IpT+vr" + + "ZOqkvP3sCOKNInRhgJYcdrhbiKC4smOcdF5AACxOeBDAvfacgCIBnqxAeAU7drBkGjfsICKx" + + "WW1VQw3HFHugstolk22VyzrztdfRWguuNWRRM0001tZYdlnZcNPn2GuD442AP6LgDQLk/lCF" + + "uedwKoMDnYpIqoxOfjLPTz19WlSIH/bZx4ogsOppdB72UZ0TBtzIgQEn7B/Hnx1U4KELqXqP" + + "PwowFomlSWIJ4EFBoCCBI4BhAzs4AtAUAoWScWIAK5qQGQCkMx4cYQBE2AEYzFCABIDBE0GK" + + "wEAQMQIoWBANR8BCFkg1gAz+FCkWZsDCBnpWAIkRoQDpKMA0xGEyJjUsgCKsy8VQNY4q+YVL" + + "EZGDHNZERZKI6T8MuEGYIEIRrqHNOz3BjlWKwIEytK0T9vtJXL7zAp6Ux1CdkIkbWJEDHpAi" + + "LOPrRBEscCc37scNb/CJvtzFgxXQ0QdEOGQZgtAv1T3NDerTBSd2IAALRAyPQUodVgBAK8Qk" + + "BjGRuV0tcnUZUy5jV7czpT6EpSxklAZ4wyPebZ4FLdwcb1jAwVa2eqOK41zvC9OLAk44MKdC" + + "lAE51amTBdzlk58EIQjcsYJ4XJCDdFmAFCpglAB4oAsBGEUCLkGVBEJBAyAmioASWIHM4EME" + + "CJH+ggZHeNgOfuYpC2LBQWCIxXtieAMQjsMJZsgCKsz5Ige5iAgZwFA70DCOIIHBEpZABB6g" + + "YCIo7GAEZkiAJcwwgHFgwUU+wtAGBEqEAWygAFPYQEOO4Ien+cUv4/jIRMZxNYicyUtau8FW" + + "OqIRi/SUI044CSk4wgAGeAea1JmTTQohhE58wQo8cAMCwhIo/OWAc+UsD1VegBRB2sEF7rFD" + + "+0YhBGuqTqpC+IIQeMAA9DwtB0jRBQ3KQ4oC2GF++RtUULbECh5YYgOHZMB7NqcLWXXSdYRR" + + "QzRolyvbjfIQmOgVr5h1CH1AyzZrwKWyZpmb6D0LeYcwpbBWA7xpkUP+FdZCTvW4dT3k4KR6" + + "fyhDIXAiBFpErgxW2AcCsOMGrzTBDqy4jhtIsY8mCCEUEhAAul5ACregypsO2kNYTEYWJwRw" + + "sO48kwwv6iCa0UCiIrTZOCQwgoTw4EEUgUIEx7EBRHgKEWA46AZucKEnXegIRPBEBDDmopxl" + + "oUcdRRANl5QOf5DwhWiIBZJkZgmGANGcClnYDq5mICuV7SISIEVHOJIRor5AixnRYjjXdBFS" + + "DDYj85tL5HhrlTekogiNKoIbdHFc+9nWPFaghXQQ4K5NSVW4drjBHovgE10Q1w6dGEUhLHCX" + + "fdzgorQAy5pcwFYa/OQFRHiBcc9DCrqtYBz+oTDrHhTYPso5wQU7kBVh1iwYV7jCMbyqxe4s" + + "c7vN9OqUmI2Ns0xjmtwMCze6WVYDPmMZ5hkLNG0gQCyH48s2AJO1X3BOG5IThWHOCSfYQaNP" + + "zuiGJ1igUJOSozM7gRVSCMBe5fErn3IwNT4NCKAMOBB8eDCNHC2QR/602AsKACF6UpAIP6NP" + + "FtAQwI7yIAt8AJEZwJCAaehQnmgYQXvxIF80mKEhN9oAFvhQQjO81x/tQITEYlgACvlhvR/d" + + "wHpJxZCGAGxLEzHQltI0MIIJlUz3+k/XrHRHO6hAyBoh55n0hC6zIC5yUSgCbY8bhOPS4gfi" + + "W8r8siIARS3quLn+BSvCctC2oMTLCoZiVCPcQwta8GcoQghCWOjFHiE0IQjoMc8+dsAJQzmU" + + "BxbATkfc2l4imC4JAABA62y15sXkKna8SmWdR4sM0SKDlctgZSuf1ZplfAY3JNis05sem1ee" + + "ZniomVb0fHkc7QGzN1FIRbd0UoayijFOZqmOEPDqzJ6k78j74OZLTM2AHOxnTUYRoS5ekAA/" + + "rGQHfiBLFxyckRda6WP+ycKGaLCgClX0CPWdNng9ihAdwnCGfEADEUjo0iwACQoZHccAlCGO" + + "ArQDDOOwRBZk9rNe0/4IGXvQth08Dpf63mRQ86IEpIYRJ9DbCULFCFzkoKa2BkwFcAn+y0rc" + + "umEeuKmZDlf5GxDwBjqVobZlaARTnNoI2zrVKhD/+9/v9wILWCV9nHPDCnSBgGPSfR+ssNL7" + + "34AWVjy5gNInI1ygbfTPBX7AQT7FrNDGCqygSuyAAWxkHKiCVgbjdWinFqJBDVJJziardphl" + + "tGRDNgpNWEQDBKHleJhhs06w61IjODSr7P6AAL5AW76FN6aHN4wjCgrheopscMQjchphmtwC" + + "K1AtCLDq5VSnLPaBFJzgXFqtbgTgIlxgU4igm/bAhOyAFKpEPxJgpQwIDLrACUiPCG6ApEzm" + + "RxLAC9ftdAbgZbIAEfzgCNDAYpINQjwhCyLm245gA/gAEcb+wWaYxAw+pAAGkQ8joGfMAENm" + + "L9iAhmjkiUkWIgFeyqEW5vi+5AaCaks0bMOOD2xuCqfWxKjcim40ojzOQjw0IXycYyYkrRPe" + + "gAN6grfep1I2pycIZx+UbMZoQXx0Qe9eriywg3NyQI64IihcghSAYj9ygBacwA9C4f3KYFK6" + + "Y0kYoAnmql6aYB/0QyigIB3gxS9W4Ab2QegOa80Qg5QWy7HmjB0/EJVQCVhAEOqSB1pSQ3mW" + + "JTUOATVeQ1gMrbKIJTTIgTaw5dGOgxxo8BOiBwJ4EHsKgSbKgLccshOSgk58oieqAyjMxZLE" + + "R8giSQtzYB8iJRndQIvs4E78IiP+DmQaJKIAIgi9YuEI7GADRqCAdgALLqoR+8MSYsGlBgAP" + + "oIbZECIDQOfaImYAwAALsAAR0KAARkAZUERFsiDc1KElEWHBxGFozABFmM0fTq9HkHIDwrKl" + + "HuxiREjeIiKKPGKwAOYjQkFf0CMjXILDzqRf4kLVvMknLEAvHa4RyiAKwE/SZqvIcIs6INIt" + + "EEA87idQ0EoIiuALCIc7XIIWEOALRoFR3AAucsAqyoD97AAK/MANSA6PtANsfoAB+gMatdEj" + + "0uUGiMB+Ks8uJGkFSgexiq5WNDAa3qwDd5N3MMHrguUeT/Cy9sw2nA7q/CzQkMdXDG1YXgN4" + + "yEEGe+P+0ZZDW1QhIf8AAoIJO63iC44JAThAFYrMAtrOPN4gmtxAJqKKJ6YiuFRnp/bBArbC" + + "F/fDCdKGIO6IBiJoP+RQBfJzA3wAvB6EB/yAZIjAD2AvP3mEBhQRFXZAERkCDgFsAFLIEiKg" + + "HYgADZShSBRxvTwBD1DBZiKqRU5vBCQ0D2dvh3AvKS3hJj9GnhSCYCYCYEBCqCIiTcSGI1Rg" + + "wzZs+uhKTU7MrdLGDs5ifYxrmiAScWaLA6LDqcylJ2ghUAzFO0AFJ9RHrKbpB8LE7YTwXM4j" + + "NNdqH46MKeplH2ggFHQB4U6RAaCAB8Rj71hh5ciiUpZky6zAr+rlPexnVmr+cwwKY7E0sAHu" + + "bDIW6wEwcDM2w5RqQbQCwJSeTgSRpwSPBTYg1es+wZaAQyDF7nrW4Fpu8AtUgQc/QTkuDQH2" + + "aBTOKAjuL3LW6rYYySeYAj3+7370Re8Cxn1EojuSC6/8ia5IIb80YgcI6AbQDQuwxNymIRQs" + + "Qb66AAwG4DNLFEKOAA8GwA8qxsG6bRzwAA+mYA4zxhI8wRlOhg9oaEcYZAQygKTwcAPwAGdE" + + "BAq68oVEpEdaFKWWxA+6QGqsxNVMzCI8zEvsgDzEQsj8zqjEwq3CYlHCyPyuAzFfblVn6wuK" + + "4PsEKXw6IXIslip86yfKg/s4QHxI8kz24Q3KKgf+bMtSWHG5guA9BAD8CsE03aUvrEAbM0IA" + + "gqAHJgkcoYAT9HIsyMMtOuJVDFSqOgmxPqkwcjMDBZVXXKExJGs5mc4zQjAelecQQIvqfufq" + + "oE4egWM0poWXdPAPjOUTLM046EQ622aYzsgvVQExEUAVGOn9+Mg8yurIsKMjowmPoLS5zMOv" + + "boCOlG8/TEZBLmpA85ABVi/zuuAz96ARseDZPOEz0QARKo8PYkECLqQAAFFoKioCblIZzGAa" + + "8GBcsSADntJHNhSClHJEZi8sVxQLLKEle+aFZCi/GEIN62JhsmTfMtFM7UMjOmJxvIle6AY9" + + "Ak8XSCFtuiNdVK4BxSj+CKhD0uAE/tDlttIFKPJPCGARc8Bifs7FDf6mMO+HOwBmJrDDUCRH" + + "CEYhUHjC+6bCJ9QwNBkpUVSHQP6PBxSIfWKOKx7JLkxnB9yoNs/xk3LlVnhnUCVjHX0lUE8J" + + "GQJAtOiMUfPMlrLOaoETNA6han8nW8DOOGLJerSFBw/yJp6jqZzjCxohCG6iqWziC4IgXcyv" + + "PILgB+glJC1gJSyJXvzWr+xnP2TKPUgFPRwKLl7EIvojQZjGDJxgGpaSB1okVc4t2OhwgobS" + + "DzzBDGgAD5zhhZZSRPgghUagcyvKDOQJDAAsKX9GoFBq3TbAwditR45AZvrDD9QwVWI0Isr+" + + "5AYuQl+2aE3CxMtcIiyEDJDVaJqsQBNUrhN0ruHMUybewOOqA+awoyf2gQp/oif81v6+oHG+" + + "oz0hsjzMhZBmQnWaggEauQy8o9T0pW2iqTwQQBe64AWEAFaIACSt4HhDIVDGIhnNqZLySouS" + + "oE8F+JOYlpSWU2kpC2qvToIrI4JryVkuSx9pqR8vKzhRYw3aQLOM49HErjV44zd2CTneoHpG" + + "+CZmyzm+bxROdSIR4Hu6w32m4rhUx7jsqF5aE4cThQmt5JuuqwsC96I4wRIGAIGueIFIZUGB" + + "JgEqKgv2gHQLgAj4AA9oAAzea0GSktj4QIYIoaEmakM84b0uRET+AAuCTs/BblKe5GkDThqI" + + "5MlhMpcI8BUi5AAtLYIjAK+n2goCeThIXcKb0ubIOIeZJhmFm6AIeAu3/BJJYW5vaKEvzwgn"; private static String splashScreen_gif_base64_3 = - "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"; + "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"; private static String splashScreen_gif_base64_4 = - "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"; - + "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" + + "X3VAAAA7"; } /** a base64-encoded png image of the scar */ @@ -1841,5 +1786,4 @@ public class Main extends Applet { "xzUYrQmF5hVZPlw42D216CrdPXfbKMzMRliYv6LReqJ/CVZISsBUkSonBHGd7bgZjiqy/F6F" + "qsZCjR87c0w2DF++Nbn25xkNnhg1YGmBQxkD1hDFiix/7VDVxQcdcD1ERkeydphyqOrx5B3z" + "YSMxJzKagTvRDKWKLH/VqKqPwgHAf3HDlnr6flmoAAAAAElFTkSuQmCC"; - } diff --git a/src/org/xwt/Platform.java b/src/org/xwt/Platform.java index af9a169..8efe59a 100644 --- a/src/org/xwt/Platform.java +++ b/src/org/xwt/Platform.java @@ -113,7 +113,7 @@ public class Platform { protected Picture _createPicture(int[] b, int w, int h) { return null; } /** should return true if it is safe to supress full-surface dirties immediately after a window resize */ - protected boolean _supressDirtyOnResize() { return true; } + protected boolean _supressDirtyOnResize() { return false; } /** the human-readable name of the key mapped to XWT's 'alt' key */ protected String _altKeyName() { return "alt"; } @@ -167,6 +167,9 @@ public class Platform { /** if true, org.xwt.Surface will generate a Click automatically after a press and a release */ protected boolean _needsAutoClick() { return false; } + /** if true, org.xwt.Surface will generate a DoubleClick automatically after recieving two clicks in a short period of time */ + protected boolean _needsAutoDoubleClick() { return false; } + protected void _newBrowserWindow(String url) { if (Log.on) Log.log(this, "Platform " + platform.getClass().getName() + " cannot open browser windows"); return; @@ -175,11 +178,21 @@ public class Platform { /** Returns null if XWT should always use direct connection; otherwise returns a ProxyInfo object with proxy settings */ protected synchronized HTTP.ProxyInfo _detectProxy() { return null; } + /** displays a platform-specific "open file" dialog and returns the chosen filename */ + protected String _fileDialog(String suggestedFileName, boolean write) { return null; } + + /** returns true iff the platform has a case-sensitive filesystem */ + protected boolean _isCaseSensitive() { return true; } + + // Static methods -- thunk to the instance ///////////////////////////////////////////////////////////////////////// /** if true, org.xwt.Surface should generate Click messages automatically when a Release happens after a Press and the mouse has not moved much */ public static boolean needsAutoClick() { return platform._needsAutoClick(); } + /** if true, org.xwt.Surface should generate DoubleClick messages automatically when needed */ + public static boolean needsAutoDoubleClick() { return platform._needsAutoDoubleClick(); } + /** should return true if it is safe to supress full-surface dirties immediately after a window resize */ public static String getDefaultFont() { return platform._getDefaultFont(); } @@ -233,6 +246,31 @@ public class Platform { /** creates and returns a picture */ public static Picture createPicture(ImageDecoder i) { return platform._createPicture(i.getData(), i.getWidth(), i.getHeight()); } + /** returns true iff the platform has a case-sensitive filesystem */ + public static boolean isCaseSensitive() { return platform._isCaseSensitive(); } + + /** displays a platform-specific "open file" dialog and returns the chosen filename */ + public static String fileDialog(String suggestedFileName, boolean write) { + // put ourselves in the background + Thread thread = Thread.currentThread(); + if (!(thread instanceof ThreadMessage)) { + if (Log.on) Log.log(Platform.class, "xwt.openFile may only be called from background threads"); + return null; + } + ThreadMessage mythread = (ThreadMessage)thread; + mythread.setPriority(Thread.MIN_PRIORITY); + mythread.done.release(); + + try { + return platform._fileDialog(suggestedFileName, write); + } finally { + // okay, let ourselves be brought to the foreground + MessageQueue.add(mythread); + mythread.setPriority(Thread.NORM_PRIORITY); + mythread.go.block(); + } + } + /** opens a new browser window */ public static void newBrowserWindow(String url) { if (!(url.startsWith("https://") || url.startsWith("http://") || url.startsWith("ftp://") || url.startsWith("mailto:"))) { @@ -333,7 +371,7 @@ public class Platform { public void parse(String font) { int i = 0; - while(i < font.length() && !Character.isDigit(font.charAt(i))) i++; + while(i < font.length() && !Character.isDigit(font.charAt(i)) && font.charAt(i) != '*') i++; name = font.substring(0, i).toLowerCase().replace('_', ' '); size = 10; italic = false; @@ -341,10 +379,15 @@ public class Platform { underline = false; dotted_underline = false; if (i != font.length()) { - int j = i; - while (j < font.length() && Character.isDigit(font.charAt(j))) j++; - if (i != j) size = stoi(font.substring(i, j)); - i = j; + if (font.charAt(i) == '*') { + size = 0; + i++; + } else { + int j = i; + while (j < font.length() && Character.isDigit(font.charAt(j))) j++; + if (i != j) size = stoi(font.substring(i, j)); + i = j; + } while(i < font.length()) { switch (font.charAt(i)) { case 'b': bold = true; break; diff --git a/src/org/xwt/SOAP.java b/src/org/xwt/SOAP.java index ade85e5..02f3583 100644 --- a/src/org/xwt/SOAP.java +++ b/src/org/xwt/SOAP.java @@ -91,7 +91,7 @@ class SOAP extends XMLRPC { } else if (me instanceof byte[]) { objects.removeElementAt(objects.size() - 1); - objects.addElement(new String(Base64.decode(new String(content.getBuf(), 0, content.size())))); + objects.addElement(new ByteStream(Base64.decode(new String(content.getBuf(), 0, content.size())))); content.reset(); } else if (me instanceof Integer) { @@ -159,7 +159,7 @@ class SOAP extends XMLRPC { } /** Appends the SOAP representation of o to sb */ - void appendObject(String name, Object o, StringBuffer sb) { + void appendObject(String name, Object o, StringBuffer sb) throws JavaScriptException { if (o instanceof Number) { if ((double)((Number)o).intValue() == ((Number)o).doubleValue()) { sb.append(" <" + name + " xsi:type=\"xsd:int\">"); @@ -176,6 +176,31 @@ class SOAP extends XMLRPC { sb.append(((Boolean)o).booleanValue() ? "true" : "false"); sb.append("\n"); + } else if (o instanceof ByteStream) { + try { + sb.append(" <" + name + " xsi:type=\"xsd:base64\">"); + InputStream is = ((ByteStream)o).getInputStream(); + byte[] buf = new byte[96]; + while(true) { + int numread = is.read(buf, 0, 96); + if (numread == -1) break; + byte[] writebuf = buf; + if (numread < buf.length) { + writebuf = new byte[numread]; + System.arraycopy(buf, 0, writebuf, 0, numread); + } + sb.append(" "); + sb.append(Base64.encode(writebuf)); + sb.append("\n"); + } + sb.append(((Boolean)o).booleanValue() ? "1" : "0"); + sb.append("\n"); + } catch (IOException e) { + if (Log.on) Log.log(this, "caught IOException while attempting to send a ByteStream via SOAP"); + if (Log.on) Log.log(this, e); + throw new JavaScriptException("caught IOException while attempting to send a ByteStream via SOAP"); + } + } else if (o instanceof String) { sb.append(" <" + name + " xsi:type=\"xsd:string\">"); String s = (String)o; diff --git a/src/org/xwt/Surface.java b/src/org/xwt/Surface.java index d8b944d..7cecd62 100644 --- a/src/org/xwt/Surface.java +++ b/src/org/xwt/Surface.java @@ -92,6 +92,12 @@ public abstract class Surface { /** the y-position of the mouse the last time a Press message was enqueued */ int last_press_y = Integer.MAX_VALUE; + /** the last button to recieve a Click message; used for simulating DoubleClick's */ + static int lastClickButton = 0; + + /** the last time a Click message was processed; used for simulating DoubleClick's */ + static long lastClickTime = 0; + // Methods to be overridden by subclasses /////////////////////////////////////////////////////// @@ -177,6 +183,12 @@ public abstract class Surface { if (button == 1) new SimpleMessage("Click1", Boolean.TRUE, root.whoIs(mousex, mousey)); else if (button == 2) new SimpleMessage("Click2", Boolean.TRUE, root.whoIs(mousex, mousey)); else if (button == 3) new SimpleMessage("Click3", Boolean.TRUE, root.whoIs(mousex, mousey)); + if (Platform.needsAutoDoubleClick()) { + long now = System.currentTimeMillis(); + if (lastClickButton == button && now - lastClickTime < 350) DoubleClick(button); + lastClickButton = button; + lastClickTime = now; + } } protected final void DoubleClick(int button) { @@ -551,11 +563,11 @@ public abstract class Surface { } // FEATURE: reinstate recycler - private class SimpleMessage implements Message { + public class SimpleMessage implements Message { private Box boxContainingMouse; private Object value; - private String name; + public String name; SimpleMessage(String name, Object value, Box boxContainingMouse) { this.boxContainingMouse = boxContainingMouse; diff --git a/src/org/xwt/XMLRPC.java b/src/org/xwt/XMLRPC.java index 8aa3321..efe4959 100644 --- a/src/org/xwt/XMLRPC.java +++ b/src/org/xwt/XMLRPC.java @@ -95,7 +95,7 @@ class XMLRPC extends XML implements Function { objects.setElementAt(new Double(new String(content.getBuf(), 0, content.size())), objects.size() - 1); else if (name.equals("base64")) - objects.setElementAt(new String(Base64.decode(new String(content.getBuf(), 0, content.size()))), objects.size() - 1); + objects.setElementAt(new ByteStream(Base64.decode(new String(content.getBuf(), 0, content.size()))), objects.size() - 1); else if (name.equals("name")) objects.addElement(new String(content.getBuf(), 0, content.size())); @@ -182,6 +182,31 @@ class XMLRPC extends XML implements Function { sb.append(((Boolean)o).booleanValue() ? "1" : "0"); sb.append("\n"); + } else if (o instanceof ByteStream) { + try { + sb.append(" "); + InputStream is = ((ByteStream)o).getInputStream(); + byte[] buf = new byte[96]; + while(true) { + int numread = is.read(buf, 0, 96); + if (numread == -1) break; + byte[] writebuf = buf; + if (numread < buf.length) { + writebuf = new byte[numread]; + System.arraycopy(buf, 0, writebuf, 0, numread); + } + sb.append(" "); + sb.append(Base64.encode(writebuf)); + sb.append("\n"); + } + sb.append(((Boolean)o).booleanValue() ? "1" : "0"); + sb.append("\n \n"); + } catch (IOException e) { + if (Log.on) Log.log(this, "caught IOException while attempting to send a ByteStream via XML-RPC"); + if (Log.on) Log.log(this, e); + throw new JavaScriptException("caught IOException while attempting to send a ByteStream via XML-RPC"); + } + } else if (o instanceof String) { sb.append(" "); String s = (String)o; diff --git a/src/org/xwt/XWT.java b/src/org/xwt/XWT.java index 1789743..7c37978 100644 --- a/src/org/xwt/XWT.java +++ b/src/org/xwt/XWT.java @@ -12,6 +12,10 @@ import org.mozilla.javascript.*; public final class XWT extends JSObject { public static final XWT singleton = new XWT(); + + /** each key is a string representing a filename which the user has already given XWT permission to write to */ + private static Hashtable safeFiles = new Hashtable(); + public String getClassName() { return "XWT"; } private XWT() { setSeal(true); } @@ -40,6 +44,10 @@ public final class XWT extends JSObject { else if (name.equals("screenHeight")) return new Integer(Platform.getScreenHeight()); else if (name.equals("static")) return Static.getStatic(""); else if (name.equals("theme")) return theme; + else if (name.equals("openFile")) return openFile; + else if (name.equals("saveFile")) return saveFile; + else if (name.equals("saveFileAs")) return saveFileAs; + else if (name.equals("utfEncode")) return utfEncode; else if (name.equals("button")) { if (Surface.button1 && !Surface.button2 && !Surface.button3) return new Integer(1); else if (!Surface.button1 && Surface.button2 && !Surface.button3) return new Integer(1); @@ -209,6 +217,63 @@ public final class XWT extends JSObject { } }; + private static final JSFunction openFile = new JSFunction() { + public Object call(Context cx, Scriptable thisObj, Scriptable ctorObj, Object[] args) throws JavaScriptException { + if (args == null || args.length != 1) return null; + String file = Platform.fileDialog(args[0].toString(), false); + return file == null ? null : new ByteStream(file); + } + }; + + private static final JSFunction saveFile = new JSFunction() { + public Object call(Context cx, Scriptable thisObj, Scriptable ctorObj, Object[] args) throws JavaScriptException { + if (args == null || args.length != 2) return null; + if (!(args[1] instanceof ByteStream)) return null; + String file = args[0].toString(); + if (safeFiles.get(Platform.isCaseSensitive() ? file : file.toLowerCase()) == null) { + file = Platform.fileDialog(file, true); + if (file == null) return null; + System.out.println(">>" + file + "<<"); + safeFiles.put(Platform.isCaseSensitive() ? file : file.toLowerCase(), new Object()); + } + try { + System.out.println("WRITING TO " + file); + ((ByteStream)args[1]).writeTo(new FileOutputStream(file)); + return null; + } catch (IOException e) { + if (Log.on) Log.log(ByteStream.class, "IO Exception while writing a ByteStream to a file"); + if (Log.on) Log.log(ByteStream.class, e); + throw new JavaScriptException("error while writing a ByteStream to a file"); + } + } + }; + + private static final JSFunction saveFileAs = new JSFunction() { + public Object call(Context cx, Scriptable thisObj, Scriptable ctorObj, Object[] args) throws JavaScriptException { + if (args == null || args.length != 2) return null; + if (!(args[1] instanceof ByteStream)) return null; + String file = args[0].toString(); + file = Platform.fileDialog(file, true); + if (file == null) return null; + safeFiles.put(Platform.isCaseSensitive() ? file : file.toLowerCase(), new Object()); + try { + ((ByteStream)args[1]).writeTo(new FileOutputStream(file)); + return null; + } catch (IOException e) { + if (Log.on) Log.log(ByteStream.class, "IO Exception while writing a ByteStream to a file"); + if (Log.on) Log.log(ByteStream.class, e); + throw new JavaScriptException("error while writing a ByteStream to a file"); + } + } + }; + + private static final JSFunction utfEncode = new JSFunction() { + public Object call(Context cx, Scriptable thisObj, Scriptable ctorObj, Object[] args) throws JavaScriptException { + if (args == null || args.length != 1) return null; + return new ByteStream(args[0].toString().getBytes()); + } + }; + } diff --git a/src/org/xwt/plat/AWT.java b/src/org/xwt/plat/AWT.java index 5a0b120..43168fd 100644 --- a/src/org/xwt/plat/AWT.java +++ b/src/org/xwt/plat/AWT.java @@ -25,6 +25,7 @@ public class AWT extends Platform { protected int _stringWidth(String font, String text) { return getFont(font).metrics.stringWidth(text); } protected int _getMaxAscent(String font) { return getFont(font).metrics.getMaxAscent(); } protected int _getMaxDescent(String font) { return getFont(font).metrics.getMaxDescent(); } + protected boolean _supressDirtyOnResize() { return true; } protected String _getClipBoard() { Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard(); @@ -48,6 +49,37 @@ public class AWT extends Platform { return 0; } + static class Open extends FileDialog implements WindowListener, ComponentListener { + Semaphore s; + public Open(String suggestedFileName, Semaphore s, boolean write) { + super(new Frame(), suggestedFileName, write ? FileDialog.SAVE : FileDialog.LOAD); + this.s = s; + } + public void windowActivated(WindowEvent e) { } + public void windowClosed(WindowEvent e) { s.release(); } + public void windowClosing(WindowEvent e) { } + public void windowDeactivated(WindowEvent e) { } + public void windowDeiconified(WindowEvent e) { } + public void windowIconified(WindowEvent e) { } + public void windowOpened(WindowEvent e) { } + public void componentHidden(ComponentEvent e) { s.release(); } + public void componentMoved(ComponentEvent e) { } + public void componentResized(ComponentEvent e) { } + public void componentShown(ComponentEvent e) { } + }; + + protected String _fileDialog(String suggestedFileName, boolean write) { + Semaphore s = new Semaphore(); + Open fd = new Open(suggestedFileName, s, write); + fd.addWindowListener(fd); + fd.addComponentListener(fd); + fd.show(); + s.block(); + return fd.getDirectory() + File.separatorChar + fd.getFile(); + } + + protected void _saveFile(String suggestedFileName, ByteStream data) throws IOException { } + // Inner Classes ///////////////////////////////////////////////////////////////////////////////////// protected static class AWTPicture implements Picture { @@ -171,6 +203,9 @@ public class AWT extends Platform { componentResized(window.getWidth() - insets.left - insets.right, window.getHeight() - insets.top - insets.bottom); Dirty(r.x - insets.left, r.y - insets.top, r.width, r.height); + + // this is safe because AWT's low-level drawing functions are threadsafe + blitDirtyScreenRegions(); } } @@ -180,6 +215,9 @@ public class AWT extends Platform { public void paint(Graphics gr) { Rectangle r = gr.getClipBounds(); Dirty(r.x - insets.left, r.y - insets.top, r.width, r.height); + + // this is safe because AWT's low-level drawing functions are threadsafe + blitDirtyScreenRegions(); } } diff --git a/src/org/xwt/plat/Linux.xml b/src/org/xwt/plat/Linux.xml new file mode 100644 index 0000000..21db5fc --- /dev/null +++ b/src/org/xwt/plat/Linux.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + bin-Linux/xwt.linux + + + + + + diff --git a/src/org/xwt/plat/POSIX.cc b/src/org/xwt/plat/POSIX.cc new file mode 100644 index 0000000..b5d4662 --- /dev/null +++ b/src/org/xwt/plat/POSIX.cc @@ -0,0 +1,2299 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +// static (per-xserver) data +static Visual* visual; +static Colormap colormap; +static XStandardColormap* colormap_info; +static XShmSegmentInfo shm_info; +static Window selectionWindow; +static int shm_supported; +static int screen_num; +static int colorDepth = 0; +static Display* display; + +#define min(a, b) (a < b ? a : b) + +// X11DoubleBuffer ////////////////////////////////////////////////////////////////////// + +void org::xwt::plat::POSIX$X11DoubleBuffer::drawPicture(org::xwt::Picture* s, + jint dx1, jint dy1, jint dx2, jint dy2, jint sx1, jint sy1, jint sx2, jint sy2) { + + if (pm == NULL) return; + org::xwt::plat::POSIX$X11Picture* source = (org::xwt::plat::POSIX$X11Picture*)s; + + int scaling = dx2 - dx1 != sx2 - sx1 || dy2 - dy1 != sy2 - sy1; + + // FIXME: this needs to be moved into the fastpath-only to prevent image wriggling + if (dx1 < clipx) { sx1 += ((clipx - dx1) * (sx2 - sx1)) / (dx2 - dx1); dx1 = clipx; } + if (dy1 < clipy) { sy1 += ((clipy - dy1) * (sy2 - sy1)) / (dy2 - dy1); dy1 = clipy; } + if (dx2 > clipx + clipw) { sx2 -= ((dx2 - clipx - clipw) * (sx2 - sx1)) / (dx2 - dx1); dx2 = clipx + clipw; } + if (dy2 > clipy + cliph) { sy2 -= ((dy2 - clipy - cliph) * (sy2 - sy1)) / (dy2 - dy1); dy2 = clipy + cliph; } + if (dx1 > clipx + clipw) return; + if (dy1 > clipy + cliph) return; + + if (dx2 - dx1 <= 0 || dy2 - dy1 <= 0) return; + + // fastpath: if the X11Picture has a pixmap, and no scaling, and all-or-nothing alpha + if (!scaling && source->doublebuf != NULL) { + if (source->doublebuf->stipple != NULL) { + XSetClipMask(display, (*((GC*)clipped_gc)), *((Pixmap*)source->doublebuf->stipple)); + XSetClipOrigin(display, (*((GC*)clipped_gc)), dx1 - sx1, dy1 - sy1); + } else { + XSetClipMask(display, (*((GC*)clipped_gc)), None); + } + XCopyArea(display, *((Pixmap*)source->doublebuf->pm), (*((Pixmap*)pm)), (*((GC*)clipped_gc)), sx1, sy1, sx2 - sx1, sy2 - sy1, dx1, dy1); + return; + } + + // slowpath: true alpha or scaling + + // the following optimizations were abandoned because they don't + // improve performance in the presence of XSHM extensions, and + // therefore aren't worth the code-bloat: + // - scaling clipmask bitmaps (and caching them) + // - caching pre-scaled XImages + + // ximage from our destination -- if true_alpha is false, we can use malloc() instead of XGetImage + XImage* xi; + + if (force_slowpath && shm_supported) { + + // if the shared memory area is unsuitable, destroy it + + if (((XImage*)shm_ximage) != NULL && (dx2 - dx1 != ((XImage*)shm_ximage)->width || dy2 - dy1 != ((XImage*)shm_ximage)->height)) { + XShmDetach(display, &shm_info); + XDestroyImage(((XImage*)shm_ximage)); + } + + // FIXME: replace 4 with something sensible + if (((XImage*)shm_ximage) != NULL && (dx2 - dx1) * (dy2 - dy1) * 4 < old_shmsize) { + shmdt(shm_info.shmaddr); + shmctl(shm_info.shmid, IPC_RMID, 0); + memset(&shm_info, 0, sizeof(XShmSegmentInfo)); + shm_info.shmaddr = NULL; + } + + // if we need to recreate the shared memory area + if (shm_info.shmaddr == NULL) { + old_shmsize = xi->bytes_per_line * xi->height; + memset(&shm_info, 0, sizeof(XShmSegmentInfo)); + shm_info.shmid = shmget(IPC_PRIVATE, xi->bytes_per_line * xi->height, IPC_CREAT | 0777 | IPC_EXCL); + shm_info.shmaddr = xi->data = (char*)shmat(shm_info.shmid, 0, 0); + shm_info.readOnly = False; + + XSync(display, False); + shmctl(shm_info.shmid, IPC_RMID, 0); + XShmAttach(display, &shm_info); + XSync(display, False); + } + + xi = ((XImage*)shm_ximage) = XShmCreateImage(display, visual, colorDepth, ZPixmap, shm_info.shmaddr, &shm_info, dx2 - dx1, dy2 - dy1); + + } else if (shared_pixmap && shm_supported) { + xi = ((XImage*)mxi); + + } else { + xi = XGetImage(display, (*((Pixmap*)pm)), dx1, dy1, dx2 - dx1, dy2 - dy1, AllPlanes, ZPixmap); + + } + + // FIXME: xoffset? + // FIXME: optimize pixels that have 0xFF or 0x00 alpha + // endian issues + + + // further assumption: the only time source->data will be null is + // if we're drawing from a bordercache -- but those don't get + // stretched. + if (source->data == NULL || elements(source->data) == NULL) { + printf("AIEEEEE %i %i %i %i\n", dx2 - dx1, dy2 - dy1, sx2 - sx1, sy2 - sy1); + return; + } + int* sourcedata = (int*)elements(source->data); + + for(int y=dy1; y= clipy + cliph) continue; + + char* bitstart; + if (shared_pixmap && shm_supported) { + // FIXME: not sure if bitmap_unit is the right thing + bitstart = xi->data + y * xi->bytes_per_line + dx1 * (xi->bits_per_pixel / 8); + } else { + bitstart = xi->data + (y - dy1) * xi->bytes_per_line; + } + + for(int x=dx1; xbits_per_pixel / 8) { + + if (x < clipx || x >= clipx + clipw) continue; + + int source_x = ((x - dx1) * (sx2 - sx1)) / (dx2 - dx1) + sx1; + int source_y = ((y - dy1) * (sy2 - sy1)) / (dy2 - dy1) + sy1; + + // note that we can assume that source->data exists here, since writeable PixelGrids (ie + // doublebuffers) never have true_alpha, and are never scaled. + int sourcepixel = sourcedata[source_x + source_y * source->getWidth()]; + int alpha = (sourcepixel & 0xFF000000) >> 24; + int source_red = (sourcepixel & 0x00FF0000) >> 16; + int source_green = (sourcepixel & 0x0000FF00) >> 8; + int source_blue = (sourcepixel & 0x000000FF); + int red = 0, blue = 0, green = 0; + + if (alpha != 0xFF) { + int targetpixel; + switch (xi->bits_per_pixel) { + case 8: targetpixel = (int)(*bitstart); break; + case 16: targetpixel = (int)(*((u_int16_t*)bitstart)); break; + case 24: targetpixel = (((int)*bitstart) << 16) | (((int)*(bitstart + 1)) << 8) | (((int)*(bitstart + 2))); break; + case 32: targetpixel = *((int*)bitstart); break; + default: org::xwt::Platform::criticalAbort(JvNewStringLatin1("ERROR: bpp not a multiple of 8!")); + } + + targetpixel -= colormap_info->base_pixel; + + // if you're on some wierd display that isn't either RGB or BGR, that's your problem, not mine + if (colormap_info->red_mult > colormap_info->green_mult && colormap_info->green_mult > colormap_info->blue_mult) { + red = targetpixel / colormap_info->red_mult; + green = (targetpixel - red * colormap_info->red_mult) / colormap_info->green_mult; + blue = (targetpixel - red * colormap_info->red_mult - green * colormap_info->green_mult) / colormap_info->blue_mult; + } else { + blue = targetpixel / colormap_info->blue_mult; + green = (targetpixel - blue * colormap_info->blue_mult) / colormap_info->green_mult; + red = (targetpixel - blue * colormap_info->blue_mult - green * colormap_info->green_mult) / colormap_info->red_mult; + } + } + + red = ((source_red * colormap_info->red_max * alpha) + (red * 0xFF * (0xFF - alpha))) / (0xFF * 0xFF); + green = ((source_green * colormap_info->green_max * alpha) + (green * 0xFF * (0xFF - alpha))) / (0xFF * 0xFF); + blue = ((source_blue * colormap_info->blue_max * alpha) + (blue * 0xFF * (0xFF - alpha))) / (0xFF * 0xFF); + + int destpixel = red * colormap_info->red_mult + green * colormap_info->green_mult + + blue * colormap_info->blue_mult + colormap_info->base_pixel; + + switch (xi->bits_per_pixel) { + case 8: *bitstart = (char)(destpixel & 0xFF); break; + case 16: *((u_int16_t*)bitstart) = (u_int16_t)destpixel; break; + case 24: break; // FIXME, unimplemented + case 32: *((int*)bitstart) = destpixel; break; + default: org::xwt::Platform::criticalAbort(JvNewStringLatin1("ERROR: bpp not a multiple of 8!")); + } + + } + } + + if (force_slowpath && shm_supported) { + // watch for concurrency issues if we're going to keep the shm region around + XShmPutImage(display, (*((Pixmap*)pm)), (*((GC*)gc)), xi, 0, 0, dx1, dy1, dx2 - dx1, dy2 - dy1, False); + + } if (shared_pixmap && shm_supported) { + // do nothing, it's all taken care of + + } else { + XPutImage(display, (*((Pixmap*)pm)), (*((GC*)gc)), xi, 0, 0, dx1, dy1, dx2 - dx1, dy2 - dy1); + + } +} + +void org::xwt::plat::POSIX$X11DoubleBuffer::natInit() { + + if (width == 0 || height == 0) return; + + pm = (gnu::gcj::RawData*)malloc(sizeof(Pixmap)); + + if (shared_pixmap && shm_supported) { + + // FIXME: check if server pixmaps are XYPixmaps + printf("CREATING SHARED (*((Pixmap*)pm)) %i %i\n", width, height); + + XShmSegmentInfo *sinfo = (XShmSegmentInfo*)malloc(sizeof(XShmSegmentInfo)); + ((XImage*)mxi) = XShmCreateImage(display, visual, colorDepth, ZPixmap, NULL, sinfo, width, height); + + memset(sinfo, 0, sizeof(XShmSegmentInfo)); + + sinfo->shmid = shmget(IPC_PRIVATE, ((XImage*)mxi)->bytes_per_line * height, IPC_CREAT | 0777 | IPC_EXCL); + ((XImage*)mxi)->data = sinfo->shmaddr = (char*)shmat(sinfo->shmid, 0, 0); + sinfo->readOnly = False; + XShmAttach(display, sinfo); + + XSync(display, False); + shmctl(sinfo->shmid, IPC_RMID, 0); + + (*((Pixmap*)pm)) = XShmCreatePixmap(display, RootWindow(display, 0), sinfo->shmaddr, sinfo, width, height, colorDepth); + XSync(display, False); + + } else { + (*((Pixmap*)pm)) = XCreatePixmap(display, RootWindow(display, 0), width, height, colorDepth); + + } + gc = (gnu::gcj::RawData*)malloc(sizeof(GC)); + clipped_gc = (gnu::gcj::RawData*)malloc(sizeof(GC)); + (*((GC*)gc)) = XCreateGC(display, (*((Pixmap*)pm)), 0, 0); + (*((GC*)clipped_gc)) = XCreateGC(display, (*((Pixmap*)pm)), 0, 0); + + XGCValues vm; + vm.graphics_exposures = 0; + XChangeGC(display, (*((GC*)gc)), GCGraphicsExposures, &vm); + XChangeGC(display, (*((GC*)clipped_gc)), GCGraphicsExposures, &vm); +} + +void org::xwt::plat::POSIX$X11DoubleBuffer::createStipple(org::xwt::plat::POSIX$X11Picture* xpi) { + + stipple = (gnu::gcj::RawData*)malloc(sizeof(Pixmap)); + (*((Pixmap*)stipple)) = XCreatePixmap(display, RootWindow(display, 0), width, height, 1); + + XImage xi; + xi.data = (char*)malloc((width + 1) * height); + xi.width = width; + xi.height = height; + xi.xoffset = 0; + xi.format = ZPixmap; + xi.bitmap_pad = 8; + xi.bitmap_unit = 8; + xi.byte_order = LSBFirst; + xi.depth = 1; + xi.bytes_per_line = (width / 8) + 1; + xi.bits_per_pixel = 1; + + jint* d = (jint*)elements(xpi->data); + memset(xi.data, 0xFF, (width + 1) * height); + for(int x=0; xpm), *((Window*)window), *((GC*)gc), sx, sy, dx2 - dx, dy2 - dy, dx, dy); + XFlush(display); +} + +void org::xwt::plat::POSIX$X11DoubleBuffer::fillRect (jint x, jint y, jint x2, jint y2, jint argb) { + + jint w = x2 - x; + jint h = y2 - y; + + if (x < clipx) { w -= (clipx - x); x = clipx; } + if (y < clipy) { h -= (clipy - y); y = clipy; } + if (x + w > clipx + clipw) w = (clipx + clipw - x); + if (y + h > clipy + cliph) h = (cliph + clipy - y); + + XSetForeground(display, (*((GC*)gc)), + ((((argb & 0x00FF0000) >> 16) * colormap_info->red_max) / 0xFF) * colormap_info->red_mult + + ((((argb & 0x0000FF00) >> 8) * colormap_info->green_max) / 0xFF) * colormap_info->green_mult + + ((((argb & 0x000000FF)) * colormap_info->blue_max) / 0xFF) * colormap_info->blue_mult + + colormap_info->base_pixel + ); + + XFillRectangle(display, (*((Pixmap*)pm)), (*((GC*)gc)), x, y, w, h); + +} + +void org::xwt::plat::POSIX$X11DoubleBuffer::drawString(::java::lang::String* font, ::java::lang::String* text, jint x, jint y, jint argb) { + + XRectangle rect; + rect.x = clipx, rect.y = clipy; rect.width = clipw; rect.height = cliph; + XSetClipMask(display, (*((GC*)clipped_gc)), None); + XSetClipRectangles(display, (*((GC*)clipped_gc)), 0, 0, &rect, 1, YSorted); + XSetForeground(display, (*((GC*)clipped_gc)), + ((((argb & 0x00FF0000) >> 16) * colormap_info->red_max) / 0xFF) * colormap_info->red_mult + + ((((argb & 0x0000FF00) >> 8) * colormap_info->green_max) / 0xFF) * colormap_info->green_mult + + ((((argb & 0x000000FF)) * colormap_info->blue_max) / 0xFF) * colormap_info->blue_mult + + colormap_info->base_pixel + ); + + // Grab the string + char buf[text->length() + 1]; + JvGetStringUTFRegion(text, 0, text->length(), buf); + buf[text->length()] = '\0'; + + // Build the XTextItem structure + XTextItem textitem; + textitem.chars = buf; + textitem.nchars = text->length(); + textitem.delta = 0; + textitem.font = ((XFontStruct*)org::xwt::plat::POSIX::fontToXFont(font))->fid; + + // Draw the text + XDrawText(display, (*((Pixmap*)pm)), (*((GC*)clipped_gc)), x, y, &textitem, 1); +} + + +// X11Surface ////////////////////////////////////////////////////////////////////// + +void org::xwt::plat::POSIX$X11Surface::setTitleBarText(java::lang::String* s) { + int len = min(JvGetStringUTFLength(s), 1024); + char buf[len + 1]; + JvGetStringUTFRegion(s, 0, len, buf); + buf[len] = '\0'; + + XTextProperty tp; + tp.value = (unsigned char*)buf; + tp.nitems = len; + tp.encoding = XA_STRING; + tp.format = 8; + XSetTextProperty(display, (*((Window*)window)), &tp, XA_WM_NAME); + XSetTextProperty(display, (*((Window*)window)), &tp, XA_WM_ICON_NAME); +} + +void org::xwt::plat::POSIX$X11Surface::setLimits(jint minw, jint minh, jint maxw, jint maxh) { + XSizeHints hints; + hints.min_width = minw; + hints.min_height = minh; + hints.max_width = maxw; + hints.max_height = maxh; + hints.flags = PMinSize | PMaxSize; + XSetWMNormalHints(display, (*((Window*)window)), &hints); +} + +void org::xwt::plat::POSIX$X11Surface::setSize (jint width, jint height) { + if (width <= 0 || height <= 0) return; + XResizeWindow(display, (*((Window*)window)), width, height); + XFlush(display); +} + +void org::xwt::plat::POSIX$X11Surface::_dispose() { XDestroyWindow(display, (*((Window*)window))); } +void org::xwt::plat::POSIX$X11Surface::setLocation (jint x, jint y) { XMoveWindow(display, (*((Window*)window)), x, y); } +void org::xwt::plat::POSIX$X11Surface::toFront() { XRaiseWindow(display, (*((Window*)window))); } +void org::xwt::plat::POSIX$X11Surface::toBack() { XLowerWindow(display, (*((Window*)window))); } + +void org::xwt::plat::POSIX$X11Surface::_setMinimized(jboolean b) { + if (b) XIconifyWindow(display, (*((Window*)window)), screen_num); + else XMapRaised(display, (*((Window*)window))); +} + +void org::xwt::plat::POSIX$X11Surface::natInit() { + XSetWindowAttributes xswa; + window = (gnu::gcj::RawData*)malloc(sizeof(Window)); + xswa.bit_gravity = NorthWestGravity; + xswa.colormap = colormap; + xswa.event_mask = ExposureMask | ButtonPressMask | StructureNotifyMask | + KeyPressMask | KeyReleaseMask | ButtonPressMask | + ButtonReleaseMask | EnterWindowMask | LeaveWindowMask | + PointerMotionMask | ButtonMotionMask | ConfigureNotify | FocusChangeMask; + *((Window*)window) = XCreateWindow(display, DefaultRootWindow(display), 10, 10, 500, 300, 0, + colorDepth, InputOutput, CopyFromParent, + CWColormap | CWBitGravity | CWEventMask, &xswa); + + if (!framed) { + // FIXME: figure out why this works and make it elegant + int dat[5] = { 0x2, 0xbffff804, 0x0, 0x817f560, 0x8110694 }; + XChangeProperty(display, (*((Window*)window)), + XInternAtom(display, "_MOTIF_WM_HINTS", False), + XInternAtom(display, "_MOTIF_WM_HINTS", False), + 32, + PropModeReplace, + (unsigned char*)dat, + 5); + } + + XTextProperty tp; + tp.value = (unsigned char*)"XWT"; + tp.nitems = 3; + tp.encoding = XA_STRING; + tp.format = 8; + XSetTextProperty(display, (*((Window*)window)), &tp, XA_WM_CLASS); + + Atom proto = XInternAtom(display, "WM_DELETE_WINDOW", False); + XSetWMProtocols(display, (*((Window*)window)), &proto, 1); + + XSelectInput(display, (*((Window*)window)), StructureNotifyMask); + org::xwt::plat::POSIX::windowToSurfaceMap->put(new java::lang::Long(*((Window*)window)), this); + + XEvent e; + XMapRaised(display, (*((Window*)window))); + XFlush(display); + + waitForCreation->block(); + XSelectInput(display, (*((Window*)window)), xswa.event_mask); + XFlush(display); + + gc = (gnu::gcj::RawData*)malloc(sizeof(GC)); + *((GC*)gc) = XCreateGC(display, (*((Window*)window)), 0, 0); + + XGCValues vm; + vm.graphics_exposures = 0; + XChangeGC(display, *((GC*)gc), GCGraphicsExposures, &vm); +} + + +void org::xwt::plat::POSIX$X11Surface::dispatchEvent(gnu::gcj::RawData* ev) { + + XEvent* e = (XEvent*)ev; + if (e->type == Expose) { + XExposeEvent *expose = (XExposeEvent*)(e); + Dirty(expose->x, expose->y, expose->width, expose->height); + + } else if (e->type == ClientMessage) { if (((XClientMessageEvent*)(e))->data.l[0] == XInternAtom(display, "WM_DELETE_WINDOW", False)) Close(); + } else if (e->type == MapNotify) { Minimized(0); waitForCreation->release(); + } else if (e->type == UnmapNotify) { Minimized(1); + } else if (e->type == FocusIn) { Focused(1); + } else if (e->type == FocusOut) { Focused(0); + + } else if (e->type == SelectionNotify) { + XSelectionEvent* xsn = (XSelectionEvent*)(e); + if (xsn->property == None) org::xwt::plat::POSIX::clipboard = JvNewStringLatin1("", 0); + else { + Atom returntype; + int returnformat; + unsigned long numitems; + unsigned char* ret; + unsigned long bytes_after; + XGetWindowProperty(display, xsn->requestor, xsn->property, 0, 4096, + True, AnyPropertyType, &returntype, &returnformat, + &numitems, &bytes_after, &ret); + org::xwt::plat::POSIX::clipboard = + (returntype == None ? JvNewStringLatin1("", 0) : JvNewStringLatin1((char*)ret, strlen((char*)ret))); + } + org::xwt::plat::POSIX::waiting_for_selection_event->release(); + + } else if (e->type == SelectionRequest) { + XSelectionRequestEvent* xsr = (XSelectionRequestEvent*)(e); + XSelectionEvent xsn; + xsn.type = SelectionNotify; + xsn.serial = xsr->serial; + xsn.send_event = True; + xsn.display = display; + xsn.requestor = xsr->requestor; + xsn.selection = xsr->selection; + xsn.target = xsr->target; + xsn.property = xsr->property; + xsn.time = xsr->time; + + int len = min(1024, JvGetStringUTFLength(org::xwt::plat::POSIX::clipboard)); + char buf[len + 1]; + JvGetStringUTFRegion(org::xwt::plat::POSIX::clipboard, 0, len, buf); + buf[len] = '\0'; + + XChangeProperty(display, xsr->requestor, xsr->property, xsr->target, 8, PropModeReplace, (unsigned char*)buf, len + 1); + XSendEvent(display, xsr->requestor, True, 0, (XEvent*)(&xsn)); + + } else if (e->type == KeyPress || e->type == KeyRelease) { + XKeyEvent *xbe = (XKeyEvent*)(e); + + // drop faked KeyRelease events generated by the X server's autorepeat + if (e->type == KeyRelease) { + char depressed[32]; + XQueryKeymap(display, depressed); + if ((depressed[(xbe->keycode & 0xff) / 8] & (0x1 << (xbe->keycode % 8))) >> (xbe->keycode % 8)) return; + } + + char ss[20]; + char* s = ss; + + unsigned int savestate = xbe->state; + xbe->state = xbe->state & ShiftMask; // ignore everything except shiftmask + XLookupString(xbe, s, 20, NULL, NULL); + xbe->state = savestate; + + if (s != NULL && s[0] != '\0' && s[1] == '\0' && s[0] >= 0x20 && s[0] <= 0x7E) { + int i = s[0]; + + } else { + KeySym ks = XKeycodeToKeysym(display, xbe->keycode, 0); + switch (ks) { + case XK_BackSpace: s = "back_space"; break; + case XK_Tab: s = "tab"; break; + case XK_Linefeed: s = "enter"; break; + case XK_Return: s = "enter"; break; + case XK_Scroll_Lock: s = "scroll_lock"; break; + case XK_Escape: s = "escape"; break; + case XK_Insert: s = "insert"; break; + case XK_Delete: s = "delete"; break; + case XK_Home: s = "home"; break; + case XK_Left: s = "left"; break; + case XK_Up: s = "up"; break; + case XK_Right: s = "right"; break; + case XK_Down: s = "down"; break; + case XK_Page_Up: s = "page_up"; break; + case XK_Page_Down: s = "page_down"; break; + case XK_End: s = "end"; break; + case XK_Num_Lock: s = "num_lock"; break; + case XK_KP_Tab: s = "tab"; break; + case XK_KP_Enter: s = "enter"; break; + case XK_KP_F1: s = "f1"; break; + case XK_KP_F2: s = "f2"; break; + case XK_KP_F3: s = "f3"; break; + case XK_KP_F4: s = "f4"; break; + case XK_KP_Home: s = "home"; break; + case XK_KP_Left: s = "left"; break; + case XK_KP_Up: s = "up"; break; + case XK_KP_Right: s = "right"; break; + case XK_KP_Down: s = "down"; break; + case XK_KP_Page_Up: s = "page_up"; break; + case XK_KP_Page_Down: s = "page_down"; break; + case XK_KP_End: s = "end"; break; + case XK_KP_Insert: s = "insert"; break; + case XK_KP_Delete: s = "delete"; break; + case XK_F1: s = "f1"; break; + case XK_F2: s = "f2"; break; + case XK_F3: s = "f3"; break; + case XK_F4: s = "f4"; break; + case XK_F5: s = "f5"; break; + case XK_F6: s = "f6"; break; + case XK_F7: s = "f7"; break; + case XK_F8: s = "f8"; break; + case XK_F9: s = "f9"; break; + case XK_F10: s = "f10"; break; + case XK_F11: s = "f11"; break; + case XK_F12: s = "f12"; break; + case XK_Shift_L: s = "shift"; break; + case XK_Shift_R: s = "shift"; break; + case XK_Control_L: s = "control"; break; + case XK_Control_R: s = "control"; break; + case XK_Caps_Lock: s = "caps_lock"; break; + case XK_Meta_L: s = "alt"; break; + case XK_Meta_R: s = "alt"; break; + case XK_Alt_L: s = "alt"; break; + case XK_Alt_R: s = "alt"; break; + default: return; + } + } + + if (e->type == KeyPress) KeyPressed(JvNewStringLatin1(s)); + if (e->type == KeyRelease) KeyReleased(JvNewStringLatin1(s)); + + } else if (e->type == ButtonPress) { + XButtonEvent* xbe = (XButtonEvent*)(e); + if (xbe->button == 2) xbe->button = 3; + else if (xbe->button == 3) xbe->button = 2; + Press(xbe->button); + + } else if (e->type == ButtonRelease) { + XButtonEvent* xbe = (XButtonEvent*)(e); + if (xbe->button == 2) xbe->button = 3; + else if (xbe->button == 3) xbe->button = 2; + Release(xbe->button); + + } else if (e->type == MotionNotify) { + XMotionEvent* xme = (XMotionEvent*)(e); + Move(xme->x, xme->y); + + } else if (e->type == EnterNotify || e->type == LeaveNotify) { + XCrossingEvent* xce = (XCrossingEvent*)(e); + Move(xce->x, xce->y); + + } else if (e->type == ConfigureNotify) { + Window child; + int x_out, y_out; + XConfigureEvent* xce = (XConfigureEvent*)(e); + XTranslateCoordinates(display, (*((Window*)window)), DefaultRootWindow(display), 0, 0, &x_out, &y_out, &child); + if (xce->width != width || xce->height != height) SizeChange(xce->width, xce->height); + if (x_out != root->abs(0) || y_out != root->abs(1)) PosChange(x_out, y_out); + + } +} + +static jstring crosshair, east, hand, move, north, northeast, northwest, + south, southeast, southwest, text, west, wait_string; +static Cursor crosshair_cursor, east_cursor, hand_cursor, move_cursor, north_cursor, + northeast_cursor, northwest_cursor, south_cursor, southeast_cursor, + southwest_cursor, text_cursor, west_cursor, wait_cursor, default_cursor; + +void org::xwt::plat::POSIX$X11Surface::syncCursor() { + + Cursor curs; + if (cursor->equals(crosshair)) curs = crosshair_cursor; + else if (cursor->equals(east)) curs = east_cursor; + else if (cursor->equals(hand)) curs = hand_cursor; + else if (cursor->equals(move)) curs = move_cursor; + else if (cursor->equals(north)) curs = north_cursor; + else if (cursor->equals(northeast)) curs = northeast_cursor; + else if (cursor->equals(northwest)) curs = northwest_cursor; + else if (cursor->equals(south)) curs = south_cursor; + else if (cursor->equals(southeast)) curs = southeast_cursor; + else if (cursor->equals(southwest)) curs = southwest_cursor; + else if (cursor->equals(text)) curs = text_cursor; + else if (cursor->equals(west)) curs = west_cursor; + else if (cursor->equals(wait_string)) curs = wait_cursor; + else curs = default_cursor; + + XDefineCursor(display, (*((Window*)window)), curs); +} + + + +// POSIX /////////////////////////////////////////////////////////////////// + +jint org::xwt::plat::POSIX::_getScreenWidth() { return WidthOfScreen(DefaultScreenOfDisplay(display)); } +jint org::xwt::plat::POSIX::_getScreenHeight() { return HeightOfScreen(DefaultScreenOfDisplay(display)); } + +void org::xwt::plat::POSIX::eventThread() { + XEvent e; + while(true) { + XNextEvent(display, &e); + org::xwt::plat::POSIX$X11Surface* surface = + (org::xwt::plat::POSIX$X11Surface*)windowToSurfaceMap->get(new java::lang::Long(((XAnyEvent*)&e)->window)); + if (surface != NULL) surface->dispatchEvent((gnu::gcj::RawData*)&e); + } +} + +jstring org::xwt::plat::POSIX::_getClipBoard() { + XConvertSelection(display, XA_PRIMARY, XA_STRING, XInternAtom(display, "VT_SELECTION", False), selectionWindow, CurrentTime); + XFlush(display); + org::xwt::plat::POSIX::waiting_for_selection_event->block(); + return clipboard; +} + +void org::xwt::plat::POSIX::_setClipBoard(jstring s) { + clipboard = s; + int len = JvGetStringUTFLength(clipboard); + char buf[len + 1]; + JvGetStringUTFRegion(clipboard, 0, len, buf); + buf[len] = '\0'; + XSetSelectionOwner(display, XInternAtom(display, "PRIMARY", 0), selectionWindow, CurrentTime); +} + +void org::xwt::plat::POSIX::natInit() { + + if (!XInitThreads()) + org::xwt::Platform::criticalAbort(JvNewStringLatin1("Your X11 libraries do not support multithreaded programs")); + + display = XOpenDisplay(NULL); + screen_num = XDefaultScreen(display); + colorDepth = (jint)(DefaultDepth(((Display*)display), 0)); + shm_info.shmaddr = NULL; + shm_supported = (XShmQueryExtension(display) == True); + //shm_supported = 0; + + crosshair = JvNewStringLatin1("crosshair"); + east = JvNewStringLatin1("east"); + hand = JvNewStringLatin1("hand"); + move = JvNewStringLatin1("move"); + north = JvNewStringLatin1("north"); + northeast = JvNewStringLatin1("northeast"); + northwest = JvNewStringLatin1("northwest"); + south = JvNewStringLatin1("south"); + southeast = JvNewStringLatin1("southeast"); + southwest = JvNewStringLatin1("southwest"); + text = JvNewStringLatin1("text"); + west = JvNewStringLatin1("west"); + wait_string = JvNewStringLatin1("wait"); + crosshair_cursor = XCreateFontCursor(display, XC_tcross); + east_cursor = XCreateFontCursor(display, XC_right_side); + hand_cursor = XCreateFontCursor(display, XC_hand2); + move_cursor = XCreateFontCursor(display, XC_fleur); + north_cursor = XCreateFontCursor(display, XC_top_side); + northeast_cursor = XCreateFontCursor(display, XC_top_right_corner); + northwest_cursor = XCreateFontCursor(display, XC_left_side); + south_cursor = XCreateFontCursor(display, XC_bottom_side); + southeast_cursor = XCreateFontCursor(display, XC_bottom_right_corner); + southwest_cursor = XCreateFontCursor(display, XC_bottom_left_corner); + text_cursor = XCreateFontCursor(display, XC_xterm); + west_cursor = XCreateFontCursor(display, XC_right_side); + wait_cursor = XCreateFontCursor(display, XC_watch); + default_cursor = XCreateFontCursor(display, XC_left_ptr); + + selectionWindow = XCreateWindow(display, DefaultRootWindow(display), 0, 0, 1, 1, 0, colorDepth, InputOutput, CopyFromParent, 0, NULL); + visual = DefaultVisual(display, screen_num); + char buf[255]; + sprintf(buf, "X11 SHM: %s", shm_supported ? "enabled" : "disabled"); + org::xwt::util::Log::log(this->getClass(), JvNewStringLatin1(buf)); + sprintf(buf, "X11 Visual: %x %x %x bits: %i visualid: %i depth: %i", + visual->red_mask, visual->green_mask, visual->blue_mask, visual->bits_per_rgb, visual->visualid, colorDepth); + org::xwt::util::Log::log(this->getClass(), JvNewStringLatin1(buf)); + + if(XmuLookupStandardColormap(display, screen_num, visual->visualid, colorDepth, XA_RGB_BEST_MAP, False, True) == 0) + org::xwt::Platform::criticalAbort(JvNewStringLatin1("ERROR: XmuLookupStandardColormap failed")); + + XStandardColormap* best_map_info = NULL; + int count; + if (XGetRGBColormaps(display, RootWindow(display, screen_num), &best_map_info, &count, XA_RGB_BEST_MAP) == 0) + org::xwt::Platform::criticalAbort(JvNewStringLatin1("ERROR: couldn't allocate a standard colormap")); + if (!best_map_info->colormap) + org::xwt::Platform::criticalAbort(JvNewStringLatin1("ERROR: XmuLookupStandardColomap succeded, but no colormap was found on the root window")); + if (best_map_info->red_max == 0) + org::xwt::Platform::criticalAbort(JvNewStringLatin1("ERROR: standard colormap exists, but was improperly allocated")); + colormap = best_map_info->colormap; + colormap_info = best_map_info; + + sprintf(buf, " red_max / red_mult: %x %x", colormap_info->red_max, colormap_info->red_mult); + org::xwt::util::Log::log(this->getClass(), JvNewStringLatin1(buf)); + sprintf(buf, " green_max / green_mult: %x %x", colormap_info->green_max, colormap_info->green_mult); + org::xwt::util::Log::log(this->getClass(), JvNewStringLatin1(buf)); + sprintf(buf, " blue_max / blue_mult: %x %x", colormap_info->blue_max, colormap_info->blue_mult); + org::xwt::util::Log::log(this->getClass(), JvNewStringLatin1(buf)); + sprintf(buf, " base_pixel: %x", colormap_info->base_pixel); + org::xwt::util::Log::log(this->getClass(), JvNewStringLatin1(buf)); +} + +JArray* org::xwt::plat::POSIX::listNativeFonts() { + int numfonts; + char** xfonts = XListFonts(display, "-*-*-*-*-*-*-*-*-*-*-*-*-*-*", 0xFFFFFFFF, &numfonts); + JArray* fonts = (JArray*)JvNewObjectArray(numfonts, &(::java::lang::String::class$), NULL); + java::lang::String** jfonts = (java::lang::String**)(elements(fonts)); + for(int i=0; imax_bounds.ascent; } +jint org::xwt::plat::POSIX::_getMaxDescent(::java::lang::String* font) { return ((XFontStruct*)fontToXFont(font))->max_bounds.descent; } +jint org::xwt::plat::POSIX::_stringWidth(::java::lang::String* font, ::java::lang::String* text) { + if (text == NULL) return 0; + int len = JvGetStringUTFLength(text); + char buf[len + 1]; + JvGetStringUTFRegion(text, 0, len, buf); + buf[len] = '\0'; + return XTextWidth((XFontStruct*)fontToXFont(font), buf, len); +} + + +////////////////////////////////////////////////////////////////////////////// + +/* $Xorg: LookupCmap.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ +/* $XFree86: xc/lib/Xmu/LookupCmap.c,v 1.8 2001/12/14 19:55:47 dawes Exp $ */ + +/* + * Author: Donna Converse, MIT X Consortium + */ + +#include +#include +#include +#include +#include +#include + +/* + * Prototypes + */ +static Status lookup(Display*, int, VisualID, Atom, XStandardColormap*, Bool); + +/* + * To create a standard colormap if one does not currently exist, or + * replace the currently existing standard colormap, use + * XmuLookupStandardColormap(). + * + * Given a screen, a visual, and a property, XmuLookupStandardColormap() + * will determine the best allocation for the property under the specified + * visual, and determine the whether to create a new colormap or to use + * the default colormap of the screen. It will call XmuStandardColormap() + * to create the standard colormap. + * + * If replace is true, any previous definition of the property will be + * replaced. If retain is true, the property and the colormap will be + * made permanent for the duration of the server session. However, + * pre-existing property definitions which are not replaced cannot be made + * permanent by a call to XmuLookupStandardColormap(); a request to retain + * resources pertains to newly created resources. + * + * Returns 0 on failure, non-zero on success. A request to create a + * standard colormap upon a visual which cannot support such a map is + * considered a failure. An example of this would be requesting any + * standard colormap property on a monochrome visual, or, requesting an + * RGB_BEST_MAP on a display whose colormap size is 16. + */ + +Status +XmuLookupStandardColormap(Display *dpy, int screen, VisualID visualid, + unsigned int depth, Atom property, + Bool replace, Bool retain) + /* + * dpy - specifies X server connection + * screen - specifies screen of display + * visualid - specifies the visual type + * depth - specifies the visual type + * property - a standard colormap property + * replace - specifies whether to replace + * retain - specifies whether to retain + */ +{ + Display *odpy; /* original display connection */ + XStandardColormap *colormap; + XVisualInfo vinfo_template, *vinfo; /* visual */ + long vinfo_mask; + unsigned long r_max, g_max, b_max; /* allocation */ + int count; + Colormap cmap; /* colormap ID */ + Status status = 0; + + + /* Match the requested visual */ + + vinfo_template.visualid = visualid; + vinfo_template.screen = screen; + vinfo_template.depth = depth; + vinfo_mask = VisualIDMask | VisualScreenMask | VisualDepthMask; + if ((vinfo = XGetVisualInfo(dpy, vinfo_mask, &vinfo_template, &count)) == + NULL) + return 0; + + /* Monochrome visuals have no standard maps */ + + if (vinfo->colormap_size <= 2) { + XFree((char *) vinfo); + return 0; + } + + /* If the requested property already exists on this screen, and, + * if the replace flag has not been set to true, return success. + * lookup() will remove a pre-existing map if replace is true. + */ + + if (lookup(dpy, screen, visualid, property, (XStandardColormap *) NULL, + replace) && !replace) { + XFree((char *) vinfo); + return 1; + } + + /* Determine the best allocation for this property under the requested + * visualid and depth, and determine whether or not to use the default + * colormap of the screen. + */ + + if (!XmuGetColormapAllocation(vinfo, property, &r_max, &g_max, &b_max)) { + XFree((char *) vinfo); + return 0; + } + + cmap = (property == XA_RGB_DEFAULT_MAP && + visualid == XVisualIDFromVisual(DefaultVisual(dpy, screen))) + ? DefaultColormap(dpy, screen) : None; + + /* If retaining resources, open a new connection to the same server */ + + if (retain) { + odpy = dpy; + if ((dpy = XOpenDisplay(XDisplayString(odpy))) == NULL) { + XFree((char *) vinfo); + return 0; + } + } + + /* Create the standard colormap */ + + colormap = XmuStandardColormap(dpy, screen, visualid, depth, property, + cmap, r_max, g_max, b_max); + + /* Set the standard colormap property */ + + if (colormap) { + XGrabServer(dpy); + + if (lookup(dpy, screen, visualid, property, colormap, replace) && + !replace) { + /* Someone has defined the property since we last looked. + * Since we will not replace it, release our own resources. + * If this is the default map, our allocations will be freed + * when this connection closes. + */ + if (colormap->killid == ReleaseByFreeingColormap) + XFreeColormap(dpy, colormap->colormap); + } + else if (retain) { + XSetCloseDownMode(dpy, RetainPermanent); + } + XUngrabServer(dpy); + XFree((char *) colormap); + status = 1; + } + + if (retain) + XCloseDisplay(dpy); + XFree((char *) vinfo); + return status; +} + +/***************************************************************************/ + +/* Lookup a standard colormap property. If the property is RGB_DEFAULT_MAP, + * the visualid is used to determine whether the indicated standard colormap + * exists. If the map exists and replace is true, delete the resources used + * by the map and remove the property. Return true if the map exists, + * or did exist and was deleted; return false if the map was not found. + * + * Note that this is not the way that a Status return is normally used. + * + * If new is not NULL, new points to an XStandardColormap structure which + * describes a standard colormap of the specified property. It will be made + * a standard colormap of the screen if none already exists, or if replace + * is true. + */ + +static Status +lookup(Display *dpy, int screen, VisualID visualid, Atom property, + XStandardColormap *cnew, Bool replace) + /* + * dpy - specifies display connection + * screen - specifies screen number + * visualid - specifies visualid for std map + * property - specifies colormap property name + * cnew - specifies a standard colormap + * replace - specifies whether to replace + */ +{ + register int i; + int count; + XStandardColormap *stdcmaps, *s; + Window win = RootWindow(dpy, screen); + + /* The property does not already exist */ + + if (! XGetRGBColormaps(dpy, win, &stdcmaps, &count, property)) { + if (cnew) + XSetRGBColormaps(dpy, win, cnew, 1, property); + return 0; + } + + /* The property exists and is not describing the RGB_DEFAULT_MAP */ + + if (property != XA_RGB_DEFAULT_MAP) { + if (replace) { + XmuDeleteStandardColormap(dpy, screen, property); + if (cnew) + XSetRGBColormaps(dpy, win, cnew, 1, property); + } + XFree((char *)stdcmaps); + return 1; + } + + /* The property exists and is RGB_DEFAULT_MAP */ + + for (i=0, s=stdcmaps; (i < count) && (s->visualid != visualid); i++, s++) + ; + + /* No RGB_DEFAULT_MAP property matches the given visualid */ + + if (i == count) { + if (cnew) { + XStandardColormap *m, *maps; + + s = (XStandardColormap *) malloc((unsigned) ((count+1) * sizeof + (XStandardColormap))); + + for (i = 0, m = s, maps = stdcmaps; i < count; i++, m++, maps++) { + m->colormap = maps->colormap; + m->red_max = maps->red_max; + m->red_mult = maps->red_mult; + m->green_max = maps->green_max; + m->green_mult = maps->green_mult; + m->blue_max = maps->blue_max; + m->blue_mult = maps->blue_mult; + m->base_pixel = maps->base_pixel; + m->visualid = maps->visualid; + m->killid = maps->killid; + } + m->colormap = cnew->colormap; + m->red_max = cnew->red_max; + m->red_mult = cnew->red_mult; + m->green_max = cnew->green_max; + m->green_mult = cnew->green_mult; + m->blue_max = cnew->blue_max; + m->blue_mult = cnew->blue_mult; + m->base_pixel = cnew->base_pixel; + m->visualid = cnew->visualid; + m->killid = cnew->killid; + + XSetRGBColormaps(dpy, win, s, ++count, property); + free((char *) s); + } + XFree((char *) stdcmaps); + return 0; + } + + /* Found an RGB_DEFAULT_MAP property with a matching visualid */ + + if (replace) { + /* Free old resources first - we may need them, particularly in + * the default colormap of the screen. However, because of this, + * it is possible that we will destroy the old resource and fail + * to create a new one if XmuStandardColormap() fails. + */ + + if (count == 1) { + XmuDeleteStandardColormap(dpy, screen, property); + if (cnew) + XSetRGBColormaps(dpy, win, cnew, 1, property); + } + else { + XStandardColormap *map; + + /* s still points to the matching standard colormap */ + + if (s->killid == ReleaseByFreeingColormap) { + if ((s->colormap != None) && + (s->colormap != DefaultColormap(dpy, screen))) + XFreeColormap(dpy, s->colormap); + } + else if (s->killid != None) + XKillClient(dpy, s->killid); + + map = (cnew) ? cnew : stdcmaps + --count; + + s->colormap = map->colormap; + s->red_max = map->red_max; + s->red_mult = map->red_mult; + s->green_max = map->green_max; + s->green_mult = map->green_mult; + s->blue_max = map->blue_max; + s->blue_mult = map->blue_mult; + s->visualid = map->visualid; + s->killid = map->killid; + + XSetRGBColormaps(dpy, win, stdcmaps, count, property); + } + } + XFree((char *) stdcmaps); + return 1; +} + +/* $Xorg: CmapAlloc.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */ + +/* + +Copyright 1989, 1994, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ +/* $XFree86: xc/lib/Xmu/CmapAlloc.c,v 1.7 2001/12/14 19:55:35 dawes Exp $ */ + +/* + * Author: Donna Converse, MIT X Consortium + */ + +#include +#include +#include +#include +#include + +#define lowbit(x) ((x) & (~(x) + 1)) + +/* + * Prototypes + */ +static void best_allocation(XVisualInfo*, unsigned long*, unsigned long*, + unsigned long*); +static int default_allocation(XVisualInfo*, unsigned long*, + unsigned long*, unsigned long*); +static void gray_allocation(int, unsigned long*, unsigned long*, + unsigned long*); +static int icbrt(int); +static int icbrt_with_bits(int, int); +static int icbrt_with_guess(int, int); + +/* To determine the best allocation of reds, greens, and blues in a + * standard colormap, use XmuGetColormapAllocation. + * vinfo specifies visual information for a chosen visual + * property specifies one of the standard colormap property names + * red_max returns maximum red value + * green_max returns maximum green value + * blue_max returns maximum blue value + * + * XmuGetColormapAllocation returns 0 on failure, non-zero on success. + * It is assumed that the visual is appropriate for the colormap property. + */ + +Status +XmuGetColormapAllocation(XVisualInfo *vinfo, Atom property, + unsigned long *red_max, + unsigned long *green_max, + unsigned long *blue_max) +{ + Status status = 1; + + if (vinfo->colormap_size <= 2) + return 0; + + switch (property) + { + case XA_RGB_DEFAULT_MAP: + status = default_allocation(vinfo, red_max, green_max, blue_max); + break; + case XA_RGB_BEST_MAP: + best_allocation(vinfo, red_max, green_max, blue_max); + break; + case XA_RGB_GRAY_MAP: + gray_allocation(vinfo->colormap_size, red_max, green_max, blue_max); + break; + case XA_RGB_RED_MAP: + *red_max = vinfo->colormap_size - 1; + *green_max = *blue_max = 0; + break; + case XA_RGB_GREEN_MAP: + *green_max = vinfo->colormap_size - 1; + *red_max = *blue_max = 0; + break; + case XA_RGB_BLUE_MAP: + *blue_max = vinfo->colormap_size - 1; + *red_max = *green_max = 0; + break; + default: + status = 0; + } + return status; +} + +/****************************************************************************/ +/* Determine the appropriate color allocations of a gray scale. + * + * Keith Packard, MIT X Consortium + */ + +static void +gray_allocation(int n, unsigned long *red_max, unsigned long *green_max, + unsigned long *blue_max) +{ + *red_max = (n * 30) / 100; + *green_max = (n * 59) / 100; + *blue_max = (n * 11) / 100; + *green_max += ((n - 1) - (*red_max + *green_max + *blue_max)); +} + +/****************************************************************************/ +/* Determine an appropriate color allocation for the RGB_DEFAULT_MAP. + * If a map has less than a minimum number of definable entries, we do not + * produce an allocation for an RGB_DEFAULT_MAP. + * + * For 16 planes, the default colormap will have 27 each RGB; for 12 planes, + * 12 each. For 8 planes, let n = the number of colormap entries, which may + * be 256 or 254. Then, maximum red value = floor(cube_root(n - 125)) - 1. + * Maximum green and maximum blue values are identical to maximum red. + * This leaves at least 125 cells which clients can allocate. + * + * Return 0 if an allocation has been determined, non-zero otherwise. + */ + +static int +default_allocation(XVisualInfo *vinfo, unsigned long *red, + unsigned long *green, unsigned long *blue) +{ + int ngrays; /* number of gray cells */ + + switch (vinfo->c_class) + { + case PseudoColor: + + if (vinfo->colormap_size > 65000) + /* intended for displays with 16 planes */ + *red = *green = *blue = (unsigned long) 27; + else if (vinfo->colormap_size > 4000) + /* intended for displays with 12 planes */ + *red = *green = *blue = (unsigned long) 12; + else if (vinfo->colormap_size < 250) + return 0; + else + /* intended for displays with 8 planes */ + *red = *green = *blue = (unsigned long) + (icbrt(vinfo->colormap_size - 125) - 1); + break; + + case DirectColor: + + if (vinfo->colormap_size < 10) + return 0; + *red = *green = *blue = vinfo->colormap_size / 2 - 1; + break; + + case TrueColor: + + *red = vinfo->red_mask / lowbit(vinfo->red_mask); + *green = vinfo->green_mask / lowbit(vinfo->green_mask); + *blue = vinfo->blue_mask / lowbit(vinfo->blue_mask); + break; + + case GrayScale: + + if (vinfo->colormap_size > 65000) + ngrays = 4096; + else if (vinfo->colormap_size > 4000) + ngrays = 512; + else if (vinfo->colormap_size < 250) + return 0; + else + ngrays = 12; + gray_allocation(ngrays, red, green, blue); + break; + + default: + return 0; + } + return 1; +} + +/****************************************************************************/ +/* Determine an appropriate color allocation for the RGB_BEST_MAP. + * + * For a DirectColor or TrueColor visual, the allocation is determined + * by the red_mask, green_mask, and blue_mask members of the visual info. + * + * Otherwise, if the colormap size is an integral power of 2, determine + * the allocation according to the number of bits given to each color, + * with green getting more than red, and red more than blue, if there + * are to be inequities in the distribution. If the colormap size is + * not an integral power of 2, let n = the number of colormap entries. + * Then maximum red value = floor(cube_root(n)) - 1; + * maximum blue value = floor(cube_root(n)) - 1; + * maximum green value = n / ((# red values) * (# blue values)) - 1; + * Which, on a GPX, allows for 252 entries in the best map, out of 254 + * defineable colormap entries. + */ + +static void +best_allocation(XVisualInfo *vinfo, unsigned long *red, unsigned long *green, + unsigned long *blue) +{ + + if (vinfo->c_class == DirectColor || vinfo->c_class == TrueColor) + { + *red = vinfo->red_mask; + while ((*red & 01) == 0) + *red >>= 1; + *green = vinfo->green_mask; + while ((*green & 01) == 0) + *green >>=1; + *blue = vinfo->blue_mask; + while ((*blue & 01) == 0) + *blue >>= 1; + } + else + { + register int bits, n; + + /* Determine n such that n is the least integral power of 2 which is + * greater than or equal to the number of entries in the colormap. + */ + n = 1; + bits = 0; + while (vinfo->colormap_size > n) + { + n = n << 1; + bits++; + } + + /* If the number of entries in the colormap is a power of 2, determine + * the allocation by "dealing" the bits, first to green, then red, then + * blue. If not, find the maximum integral red, green, and blue values + * which, when multiplied together, do not exceed the number of + + * colormap entries. + */ + if (n == vinfo->colormap_size) + { + register int r, g, b; + b = bits / 3; + g = b + ((bits % 3) ? 1 : 0); + r = b + (((bits % 3) == 2) ? 1 : 0); + *red = 1 << r; + *green = 1 << g; + *blue = 1 << b; + } + else + { + *red = icbrt_with_bits(vinfo->colormap_size, bits); + *blue = *red; + *green = (vinfo->colormap_size / ((*red) * (*blue))); + } + (*red)--; + (*green)--; + (*blue)--; + } + return; +} + +/* + * integer cube roots by Newton's method + * + * Stephen Gildea, MIT X Consortium, July 1991 + */ + +static int +icbrt(int a) +{ + register int bits = 0; + register unsigned n = a; + + while (n) + { + bits++; + n >>= 1; + } + return icbrt_with_bits(a, bits); +} + + +static int +icbrt_with_bits(int a, int bits) + /* bits - log 2 of a */ +{ + return icbrt_with_guess(a, a>>2*bits/3); +} + +#ifdef _X_ROOT_STATS +int icbrt_loopcount; +#endif + +/* Newton's Method: x_n+1 = x_n - ( f(x_n) / f'(x_n) ) */ + +/* for cube roots, x^3 - a = 0, x_new = x - 1/3 (x - a/x^2) */ + +/* + * Quick and dirty cube roots. Nothing fancy here, just Newton's method. + * Only works for positive integers (since that's all we need). + * We actually return floor(cbrt(a)) because that's what we need here, too. + */ + +static int +icbrt_with_guess(int a, int guess) +{ + register int delta; + +#ifdef _X_ROOT_STATS + icbrt_loopcount = 0; +#endif + if (a <= 0) + return 0; + if (guess < 1) + guess = 1; + + do { +#ifdef _X_ROOT_STATS + icbrt_loopcount++; +#endif + delta = (guess - a/(guess*guess))/3; +#ifdef DEBUG + printf("pass %d: guess=%d, delta=%d\n", icbrt_loopcount, guess, delta); +#endif + guess -= delta; + } while (delta != 0); + + if (guess*guess*guess > a) + guess--; + + return guess; +} + + +/* $Xorg: StdCmap.c,v 1.4 2001/02/09 02:03:53 xorgcvs Exp $ */ + +/* + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ +/* $XFree86: xc/lib/Xmu/StdCmap.c,v 1.6 2001/12/14 19:55:48 dawes Exp $ */ + +/* + * Author: Donna Converse, MIT X Consortium + */ + +#include +#include +#include +#include +#include + +#define lowbit(x) ((x) & (~(x) + 1)) + +/* + * Prototypes + */ +/* argument restrictions */ +static Status valid_args(XVisualInfo*, unsigned long, unsigned long, + unsigned long, Atom); + +/* + * To create any one standard colormap, use XmuStandardColormap(). + * + * Create a standard colormap for the given screen, visualid, and visual + * depth, with the given red, green, and blue maximum values, with the + * given standard property name. Return a pointer to an XStandardColormap + * structure which describes the newly created colormap, upon success. + * Upon failure, return NULL. + * + * XmuStandardColormap() calls XmuCreateColormap() to create the map. + * + * Resources created by this function are not made permanent; that is the + * caller's responsibility. + */ + +XStandardColormap * +XmuStandardColormap(Display *dpy, int screen, VisualID visualid, + unsigned int depth, Atom property, Colormap cmap, + unsigned long red_max, unsigned long green_max, + unsigned long blue_max) + /* + * dpy - specifies X server connection + * screen - specifies display screen + * visualid - identifies the visual type + * depth - identifies the visual type + * property - a standard colormap property + * cmap - specifies colormap ID or None + * red_max, green_max, blue_max - allocations + */ +{ + XStandardColormap *stdcmap; + Status status; + XVisualInfo vinfo_template, *vinfo; + long vinfo_mask; + int n; + + /* Match the required visual information to an actual visual */ + vinfo_template.visualid = visualid; + vinfo_template.screen = screen; + vinfo_template.depth = depth; + vinfo_mask = VisualIDMask | VisualScreenMask | VisualDepthMask; + if ((vinfo = XGetVisualInfo(dpy, vinfo_mask, &vinfo_template, &n)) == NULL) + return 0; + + /* Check the validity of the combination of visual characteristics, + * allocation, and colormap property. Create an XStandardColormap + * structure. + */ + + if (! valid_args(vinfo, red_max, green_max, blue_max, property) + || ((stdcmap = XAllocStandardColormap()) == NULL)) { + XFree((char *) vinfo); + return 0; + } + + /* Fill in the XStandardColormap structure */ + + if (cmap == DefaultColormap(dpy, screen)) { + /* Allocating out of the default map, cannot use XFreeColormap() */ + Window win = XCreateWindow(dpy, RootWindow(dpy, screen), 1, 1, 1, 1, + 0, 0, InputOnly, vinfo->visual, + (unsigned long) 0, + (XSetWindowAttributes *)NULL); + stdcmap->killid = (XID) XCreatePixmap(dpy, win, 1, 1, depth); + XDestroyWindow(dpy, win); + stdcmap->colormap = cmap; + } else { + stdcmap->killid = ReleaseByFreeingColormap; + stdcmap->colormap = XCreateColormap(dpy, RootWindow(dpy, screen), + vinfo->visual, AllocNone); + } + stdcmap->red_max = red_max; + stdcmap->green_max = green_max; + stdcmap->blue_max = blue_max; + if (property == XA_RGB_GRAY_MAP) + stdcmap->red_mult = stdcmap->green_mult = stdcmap->blue_mult = 1; + else if (vinfo->c_class == TrueColor || vinfo->c_class == DirectColor) { + stdcmap->red_mult = lowbit(vinfo->red_mask); + stdcmap->green_mult = lowbit(vinfo->green_mask); + stdcmap->blue_mult = lowbit(vinfo->blue_mask); + } else { + stdcmap->red_mult = (red_max > 0) + ? (green_max + 1) * (blue_max + 1) : 0; + stdcmap->green_mult = (green_max > 0) ? blue_max + 1 : 0; + stdcmap->blue_mult = (blue_max > 0) ? 1 : 0; + } + stdcmap->base_pixel = 0; /* base pixel may change */ + stdcmap->visualid = vinfo->visualid; + + /* Make the colormap */ + + status = XmuCreateColormap(dpy, stdcmap); + + /* Clean up */ + + XFree((char *) vinfo); + if (!status) { + + /* Free the colormap or the pixmap, if we created one */ + if (stdcmap->killid == ReleaseByFreeingColormap) + XFreeColormap(dpy, stdcmap->colormap); + else if (stdcmap->killid != None) + XFreePixmap(dpy, stdcmap->killid); + + XFree((char *) stdcmap); + return (XStandardColormap *) NULL; + } + return stdcmap; +} + +/****************************************************************************/ +static Status +valid_args(XVisualInfo *vinfo, unsigned long red_max, unsigned long green_max, + unsigned long blue_max, Atom property) + /* + * vinfo - specifies visual + * red_max, green_max, blue_max - specifies alloc + * property - specifies property name + */ +{ + unsigned long ncolors; /* number of colors requested */ + + /* Determine that the number of colors requested is <= map size */ + + if ((vinfo->c_class == DirectColor) || (vinfo->c_class == TrueColor)) { + unsigned long mask; + + mask = vinfo->red_mask; + while (!(mask & 1)) + mask >>= 1; + if (red_max > mask) + return 0; + mask = vinfo->green_mask; + while (!(mask & 1)) + mask >>= 1; + if (green_max > mask) + return 0; + mask = vinfo->blue_mask; + while (!(mask & 1)) + mask >>= 1; + if (blue_max > mask) + return 0; + } else if (property == XA_RGB_GRAY_MAP) { + ncolors = red_max + green_max + blue_max + 1; + if (ncolors > vinfo->colormap_size) + return 0; + } else { + ncolors = (red_max + 1) * (green_max + 1) * (blue_max + 1); + if (ncolors > vinfo->colormap_size) + return 0; + } + + /* Determine that the allocation and visual make sense for the property */ + + switch (property) + { + case XA_RGB_DEFAULT_MAP: + if (red_max == 0 || green_max == 0 || blue_max == 0) + return 0; + break; + case XA_RGB_RED_MAP: + if (red_max == 0) + return 0; + break; + case XA_RGB_GREEN_MAP: + if (green_max == 0) + return 0; + break; + case XA_RGB_BLUE_MAP: + if (blue_max == 0) + return 0; + break; + case XA_RGB_BEST_MAP: + if (red_max == 0 || green_max == 0 || blue_max == 0) + return 0; + break; + case XA_RGB_GRAY_MAP: + if (red_max == 0 || blue_max == 0 || green_max == 0) + return 0; + break; + default: + return 0; + } + return 1; +} + + +/* $Xorg: CrCmap.c,v 1.4 2001/02/09 02:03:51 xorgcvs Exp $ */ + +/* + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ +/* $XFree86: xc/lib/Xmu/CrCmap.c,v 3.7 2001/12/14 19:55:36 dawes Exp $ */ + +/* + * Author: Donna Converse, MIT X Consortium + */ + +/* + * CreateCmap.c - given a standard colormap description, make the map. + */ + +#include +#include +#include +#include +#include + +/* + * Prototypes + */ +/* allocate entire map Read Only */ +static int ROmap(Display*, Colormap, unsigned long[], int, int); + +/* allocate a cell, prefer Read Only */ +static Status ROorRWcell(Display*, Colormap, unsigned long[], int, + XColor*, unsigned long); + +/* allocate a cell Read Write */ +static Status RWcell(Display*, Colormap, XColor*, XColor*, unsigned long*); + +/* for quicksort */ +static int compare(_Xconst void*, _Xconst void*); + +/* find contiguous sequence of cells */ +static Status contiguous(unsigned long[], int, int, unsigned long, int*, int*); + +/* frees resources before quitting */ +static void free_cells(Display*, Colormap, unsigned long[], int, int); + +/* create a map in a RO visual type */ +static Status readonly_map(Display*, XVisualInfo*, XStandardColormap*); + +/* create a map in a RW visual type */ +static Status readwrite_map(Display*, XVisualInfo*, XStandardColormap*); + +#define lowbit(x) ((x) & (~(x) + 1)) +#define TRUEMATCH(mult,max,mask) \ + (colormap->max * colormap->mult <= vinfo->mask && \ + lowbit(vinfo->mask) == colormap->mult) + +/* + * To create any one colormap which is described by an XStandardColormap + * structure, use XmuCreateColormap(). + * + * Return 0 on failure, non-zero on success. + * Resources created by this function are not made permanent. + * No argument error checking is provided. Use at your own risk. + * + * All colormaps are created with read only allocations, with the exception + * of read only allocations of colors in the default map or otherwise + * which fail to return the expected pixel value, and these are individually + * defined as read/write allocations. This is done so that all the cells + * defined in the default map are contiguous, for use in image processing. + * This typically happens with White and Black in the default map. + * + * Colormaps of static visuals are considered to be successfully created if + * the map of the static visual matches the definition given in the + * standard colormap structure. + */ + +Status +XmuCreateColormap(Display *dpy, XStandardColormap *colormap) + /* dpy - specifies the connection under which the map is created + * colormap - specifies the map to be created, and returns, particularly + * if the map is created as a subset of the default colormap + * of the screen, the base_pixel of the map. + */ +{ + XVisualInfo vinfo_template; /* template visual information */ + XVisualInfo *vinfo; /* matching visual information */ + XVisualInfo *vpointer; /* for freeing the entire list */ + long vinfo_mask; /* specifies the visual mask value */ + int n; /* number of matching visuals */ + int status; + + vinfo_template.visualid = colormap->visualid; + vinfo_mask = VisualIDMask; + if ((vinfo = XGetVisualInfo(dpy, vinfo_mask, &vinfo_template, &n)) == NULL) + return 0; + + /* A visual id may be valid on multiple screens. Also, there may + * be multiple visuals with identical visual ids at different depths. + * If the colormap is the Default Colormap, use the Default Visual. + * Otherwise, arbitrarily, use the deepest visual. + */ + vpointer = vinfo; + if (n > 1) + { + register int i; + register int screen_number; + Bool def_cmap; + + def_cmap = False; + for (screen_number = ScreenCount(dpy); --screen_number >= 0; ) + if (colormap->colormap == DefaultColormap(dpy, screen_number)) { + def_cmap = True; + break; + } + + if (def_cmap) { + for (i=0; i < n; i++, vinfo++) { + if (vinfo->visual == DefaultVisual(dpy, screen_number)) + break; + } + } else { + int maxdepth = 0; + XVisualInfo *v = NULL; + + for (i=0; i < n; i++, vinfo++) + if (vinfo->depth > maxdepth) { + maxdepth = vinfo->depth; + v = vinfo; + } + vinfo = v; + } + } + + if (vinfo->c_class == PseudoColor || vinfo->c_class == DirectColor || + vinfo->c_class == GrayScale) + status = readwrite_map(dpy, vinfo, colormap); + else if (vinfo->c_class == TrueColor) + status = TRUEMATCH(red_mult, red_max, red_mask) && + TRUEMATCH(green_mult, green_max, green_mask) && + TRUEMATCH(blue_mult, blue_max, blue_mask); + else + status = readonly_map(dpy, vinfo, colormap); + + XFree((char *) vpointer); + return status; +} + +/****************************************************************************/ +static Status +readwrite_map(Display *dpy, XVisualInfo *vinfo, XStandardColormap *colormap) +{ + register unsigned long i, n; /* index counters */ + unsigned long ncolors; /* number of colors to be defined */ + int npixels; /* number of pixels allocated R/W */ + int first_index; /* first index of pixels to use */ + int remainder; /* first index of remainder */ + XColor color; /* the definition of a color */ + unsigned long *pixels; /* array of colormap pixels */ + unsigned long delta; + + + /* Determine ncolors, the number of colors to be defined. + * Insure that 1 < ncolors <= the colormap size. + */ + if (vinfo->c_class == DirectColor) { + ncolors = colormap->red_max; + if (colormap->green_max > ncolors) + ncolors = colormap->green_max; + if (colormap->blue_max > ncolors) + ncolors = colormap->blue_max; + ncolors++; + delta = lowbit(vinfo->red_mask) + + lowbit(vinfo->green_mask) + + lowbit(vinfo->blue_mask); + } else { + ncolors = colormap->red_max * colormap->red_mult + + colormap->green_max * colormap->green_mult + + colormap->blue_max * colormap->blue_mult + 1; + delta = 1; + } + if (ncolors <= 1 || (int) ncolors > vinfo->colormap_size) return 0; + + /* Allocate Read/Write as much of the colormap as we can possibly get. + * Then insure that the pixels we were allocated are given in + * monotonically increasing order, using a quicksort. Next, insure + * that our allocation includes a subset of contiguous pixels at least + * as long as the number of colors to be defined. Now we know that + * these conditions are met: + * 1) There are no free cells in the colormap. + * 2) We have a contiguous sequence of pixels, monotonically + * increasing, of length >= the number of colors requested. + * + * One cell at a time, we will free, compute the next color value, + * then allocate read only. This takes a long time. + * This is done to insure that cells are allocated read only in the + * contiguous order which we prefer. If the server has a choice of + * cells to grant to an allocation request, the server may give us any + * cell, so that is why we do these slow gymnastics. + */ + + if ((pixels = (unsigned long *) calloc((unsigned) vinfo->colormap_size, + sizeof(unsigned long))) == NULL) + return 0; + + if ((npixels = ROmap(dpy, colormap->colormap, pixels, + vinfo->colormap_size, ncolors)) == 0) { + free((char *) pixels); + return 0; + } + + qsort((char *) pixels, npixels, sizeof(unsigned long), compare); + + if (!contiguous(pixels, npixels, ncolors, delta, &first_index, &remainder)) + { + /* can't find enough contiguous cells, give up */ + XFreeColors(dpy, colormap->colormap, pixels, npixels, + (unsigned long) 0); + free((char *) pixels); + return 0; + } + colormap->base_pixel = pixels[first_index]; + + /* construct a gray map */ + if (colormap->red_mult == 1 && colormap->green_mult == 1 && + colormap->blue_mult == 1) + for (n=colormap->base_pixel, i=0; i < ncolors; i++, n += delta) + { + color.pixel = n; + color.blue = color.green = color.red = + (unsigned short) ((i * 65535) / (colormap->red_max + + colormap->green_max + + colormap->blue_max)); + + if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color, + first_index + i)) + return 0; + } + + /* construct a red ramp map */ + else if (colormap->green_max == 0 && colormap->blue_max == 0) + for (n=colormap->base_pixel, i=0; i < ncolors; i++, n += delta) + { + color.pixel = n; + color.red = (unsigned short) ((i * 65535) / colormap->red_max); + color.green = color.blue = 0; + + if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color, + first_index + i)) + return 0; + } + + /* construct a green ramp map */ + else if (colormap->red_max == 0 && colormap->blue_max == 0) + for (n=colormap->base_pixel, i=0; i < ncolors; i++, n += delta) + { + color.pixel = n; + color.green = (unsigned short) ((i * 65535) / colormap->green_max); + color.red = color.blue = 0; + + if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color, + first_index + i)) + return 0; + } + + /* construct a blue ramp map */ + else if (colormap->red_max == 0 && colormap->green_max == 0) + for (n=colormap->base_pixel, i=0; i < ncolors; i++, n += delta) + { + color.pixel = n; + color.blue = (unsigned short) ((i * 65535) / colormap->blue_max); + color.red = color.green = 0; + + if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color, + first_index + i)) + return 0; + } + + /* construct a standard red green blue cube map */ + else + { +#define calc(max,mult) (((n / colormap->mult) % \ + (colormap->max + 1)) * 65535) / colormap->max + + for (n=0, i=0; i < ncolors; i++, n += delta) + { + color.pixel = n + colormap->base_pixel; + color.red = calc(red_max, red_mult); + color.green = calc(green_max, green_mult); + color.blue = calc(blue_max, blue_mult); + if (! ROorRWcell(dpy, colormap->colormap, pixels, npixels, &color, + first_index + i)) + return 0; + } +#undef calc + } + /* We have a read-only map defined. Now free unused cells, + * first those occuring before the contiguous sequence begins, + * then any following the contiguous sequence. + */ + + if (first_index) + XFreeColors(dpy, colormap->colormap, pixels, first_index, + (unsigned long) 0); + if (remainder) + XFreeColors(dpy, colormap->colormap, + &(pixels[first_index + ncolors]), remainder, + (unsigned long) 0); + + free((char *) pixels); + return 1; +} + + +/****************************************************************************/ +static int +ROmap(Display *dpy, Colormap cmap, unsigned long pixels[], int m, int n) + /* + * dpy - the X server connection + * cmap - specifies colormap ID + * pixels - returns pixel allocations + * m - specifies colormap size + * n - specifies number of colors + */ +{ + register int p; + + /* first try to allocate the entire colormap */ + if (XAllocColorCells(dpy, cmap, 1, (unsigned long *) NULL, + (unsigned) 0, pixels, (unsigned) m)) + return m; + + /* Allocate all available cells in the colormap, using a binary + * algorithm to discover how many cells we can allocate in the colormap. + */ + m--; + while (n <= m) { + p = n + ((m - n + 1) / 2); + if (XAllocColorCells(dpy, cmap, 1, (unsigned long *) NULL, + (unsigned) 0, pixels, (unsigned) p)) { + if (p == m) + return p; + else { + XFreeColors(dpy, cmap, pixels, p, (unsigned long) 0); + n = p; + } + } + else + m = p - 1; + } + return 0; +} + + +/****************************************************************************/ +static Status +contiguous(unsigned long pixels[], int npixels, int ncolors, + unsigned long delta, int *first, int *rem) + /* pixels - specifies allocated pixels + * npixels - specifies count of alloc'd pixels + * ncolors - specifies needed sequence length + * delta - between pixels + * first - returns first index of sequence + * rem - returns first index after sequence, or 0, if none follow + */ +{ + register int i = 1; /* walking index into the pixel array */ + register int count = 1; /* length of sequence discovered so far */ + + *first = 0; + if (npixels == ncolors) { + *rem = 0; + return 1; + } + *rem = npixels - 1; + while (count < ncolors && ncolors - count <= *rem) + { + if (pixels[i-1] + delta == pixels[i]) + count++; + else { + count = 1; + *first = i; + } + i++; + (*rem)--; + } + if (count != ncolors) + return 0; + return 1; +} + + +/****************************************************************************/ +static Status +ROorRWcell(Display *dpy, Colormap cmap, unsigned long pixels[], + int npixels, XColor *color, unsigned long p) +{ + unsigned long pixel; + XColor request; + + /* Free the read/write allocation of one cell in the colormap. + * Request a read only allocation of one cell in the colormap. + * If the read only allocation cannot be granted, give up, because + * there must be no free cells in the colormap. + * If the read only allocation is granted, but gives us a cell which + * is not the one that we just freed, it is probably the case that + * we are trying allocate White or Black or some other color which + * already has a read-only allocation in the map. So we try to + * allocate the previously freed cell with a read/write allocation, + * because we want contiguous cells for image processing algorithms. + */ + + pixel = color->pixel; + request.red = color->red; + request.green = color->green; + request.blue = color->blue; + + XFreeColors(dpy, cmap, &pixel, 1, (unsigned long) 0); + if (! XAllocColor(dpy, cmap, color) + || (color->pixel != pixel && + (!RWcell(dpy, cmap, color, &request, &pixel)))) + { + free_cells(dpy, cmap, pixels, npixels, (int)p); + return 0; + } + return 1; +} + + +/****************************************************************************/ +static void +free_cells(Display *dpy, Colormap cmap, unsigned long pixels[], + int npixels, int p) + /* + * pixels - to be freed + * npixels - original number allocated + */ +{ + /* One of the npixels allocated has already been freed. + * p is the index of the freed pixel. + * First free the pixels preceeding p, and there are p of them; + * then free the pixels following p, there are npixels - p - 1 of them. + */ + XFreeColors(dpy, cmap, pixels, p, (unsigned long) 0); + XFreeColors(dpy, cmap, &(pixels[p+1]), npixels - p - 1, (unsigned long) 0); + free((char *) pixels); +} + + +/****************************************************************************/ +static Status +RWcell(Display *dpy, Colormap cmap, XColor *color, XColor *request, + unsigned long *pixel) +{ + unsigned long n = *pixel; + + XFreeColors(dpy, cmap, &(color->pixel), 1, (unsigned long)0); + if (! XAllocColorCells(dpy, cmap, (Bool) 0, (unsigned long *) NULL, + (unsigned) 0, pixel, (unsigned) 1)) + return 0; + if (*pixel != n) + { + XFreeColors(dpy, cmap, pixel, 1, (unsigned long) 0); + return 0; + } + color->pixel = *pixel; + color->flags = DoRed | DoGreen | DoBlue; + color->red = request->red; + color->green = request->green; + color->blue = request->blue; + XStoreColors(dpy, cmap, color, 1); + return 1; +} + + +/****************************************************************************/ +static int +compare(_Xconst void *e1, _Xconst void *e2) +{ + return ((int)(*(long *)e1 - *(long *)e2)); +} + + +/****************************************************************************/ +static Status +readonly_map(Display *dpy, XVisualInfo *vinfo, XStandardColormap *colormap) +{ + int i, last_pixel; + XColor color; + + last_pixel = (colormap->red_max + 1) * (colormap->green_max + 1) * + (colormap->blue_max + 1) + colormap->base_pixel - 1; + + for(i=colormap->base_pixel; i <= last_pixel; i++) { + + color.pixel = (unsigned long) i; + color.red = (unsigned short) + (((i/colormap->red_mult) * 65535) / colormap->red_max); + + if (vinfo->c_class == StaticColor) { + color.green = (unsigned short) + ((((i/colormap->green_mult) % (colormap->green_max + 1)) * + 65535) / colormap->green_max); + color.blue = (unsigned short) + (((i%colormap->green_mult) * 65535) / colormap->blue_max); + } + else /* vinfo->c_class == GrayScale, old style allocation XXX */ + color.green = color.blue = color.red; + + XAllocColor(dpy, colormap->colormap, &color); + if (color.pixel != (unsigned long) i) + return 0; + } + return 1; +} + + +/* $Xorg: DelCmap.c,v 1.4 2001/02/09 02:03:52 xorgcvs Exp $ */ + +/* + +Copyright 1989, 1998 The Open Group + +Permission to use, copy, modify, distribute, and sell this software and its +documentation for any purpose is hereby granted without fee, provided that +the above copyright notice appear in all copies and that both that +copyright notice and this permission notice appear in supporting +documentation. + +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 +OPEN GROUP 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. + +Except as contained in this notice, the name of The Open Group shall not be +used in advertising or otherwise to promote the sale, use or other dealings +in this Software without prior written authorization from The Open Group. + +*/ +/* $XFree86: xc/lib/Xmu/DelCmap.c,v 1.7 2001/12/14 19:55:40 dawes Exp $ */ + +/* + * Author: Donna Converse, MIT X Consortium + */ + +#include +#include +#include + +/* To remove any standard colormap property, use XmuDeleteStandardColormap(). + * XmuDeleteStandardColormap() will remove the specified property from the + * specified screen, releasing any resources used by the colormap(s) of the + * property if possible. + */ + +void +XmuDeleteStandardColormap(Display *dpy, int screen, Atom property) + /* dpy; - specifies the X server to connect to + * screen - specifies the screen of the display + * property - specifies the standard colormap property + */ +{ + XStandardColormap *stdcmaps, *s; + int count = 0; + + if (XGetRGBColormaps(dpy, RootWindow(dpy, screen), &stdcmaps, &count, + property)) + { + for (s=stdcmaps; count > 0; count--, s++) { + if ((s->killid == ReleaseByFreeingColormap) && + (s->colormap != None) && + (s->colormap != DefaultColormap(dpy, screen))) + XFreeColormap(dpy, s->colormap); + else if (s->killid != None) + XKillClient(dpy, s->killid); + } + XDeleteProperty(dpy, RootWindow(dpy, screen), property); + XFree((char *) stdcmaps); + XSync(dpy, False); + } +} + diff --git a/src/org/xwt/plat/POSIX.java b/src/org/xwt/plat/POSIX.java new file mode 100644 index 0000000..f331f9a --- /dev/null +++ b/src/org/xwt/plat/POSIX.java @@ -0,0 +1,320 @@ +// Copyright 2002 Adam Megacz, see the COPYING file for licensing [LGPL] +package org.xwt.plat; + +// FIXME: protected void _newBrowserWindow(String url) +// FIXME: When should I use RootWindow versus DefaultRootWindow? +// FIXME: Solaris: xwt.altKeyName -> "Meta" +// FIXME: minimize/taskbar icon +// FIXME: 15bpp? can't assume depth/8 == bytespp +// FIXME: check for x resource / memory leaks +// FIXME: WM_HINTS flags: icon pixmap, icon window [[ have to wait until we have gnome/kde wm's installed ]] +// FIXME: code-review POSIX.cc + +import java.awt.*; +import java.awt.image.*; +import gnu.gcj.RawData; +import java.net.*; +import java.lang.reflect.*; +import java.io.*; +import java.util.*; +import java.awt.peer.*; +import org.xwt.util.*; +import org.xwt.*; + +/** Platform implementation for POSIX compliant operating systems with an X11 Server */ +public class POSIX extends GCJ { + + // Static Data /////////////////////////////////////////////////////////// + + /** + * When the user reads from the clipboard, the main thread blocks + * on this semaphore until we get an X11 SelectionNotify. Crude, + * but effective. We know that only one thread will ever block on + * this, since only one thread can ever be running JavaScript. + */ + public static Semaphore waiting_for_selection_event = new Semaphore(); + + /** our local (in-process) copy of the clipboard */ + public static String clipboard = null; + + /** map from Window's (casted to jlong, wrapped in java.lang.Long) to X11Surface objects */ + public static Hashtable windowToSurfaceMap = new Hashtable(); + + + // General Methods /////////////////////////////////////////////////////// + + protected String[] _listFonts() { return fontList; } + protected String getDescriptiveName() { return "GCJ Linux Binary"; } + protected Picture _createPicture(int[] data, int w, int h) { return new POSIX.X11Picture(data, w, h); } + protected DoubleBuffer _createDoubleBuffer(int w, int h, Surface owner) { return new POSIX.X11DoubleBuffer(w, h); } + protected Surface _createSurface(Box b, boolean framed) { return new X11Surface(b, framed); } + protected boolean _needsAutoClick() { return true; } + protected native int _getScreenWidth(); + protected native int _getScreenHeight(); + protected native String _getClipBoard(); + protected native void _setClipBoard(String s); + protected native int _stringWidth(String font, String text); + protected native int _getMaxAscent(String font); + protected native int _getMaxDescent(String font); + protected boolean _needsAutoDoubleClick() { return true; } + protected native void eventThread(); + private native void natInit(); + + public POSIX() { } + public void init() { + natInit(); + (new Thread() { public void run() { eventThread(); } }).start(); + initFonts(); + } + + // X11Surface ///////////////////////////////////////////////////// + + /** Implements a Surface as an X11 Window */ + public static class X11Surface extends Surface { + + gnu.gcj.RawData window; + gnu.gcj.RawData gc; + boolean framed = false; + Semaphore waitForCreation = new Semaphore(); + + public void setIcon(Picture p) { /* FIXME */ } + public void setInvisible(boolean i) { /* FIXME */ } + public void _setMaximized(boolean m) { if (Log.on) Log.log(this, "POSIX/X11 can't maximize windows"); } + public native void _setMinimized(boolean b); + public native void setTitleBarText(String s); + public native void setSize(int w, int h); + public native void setLocation(int x, int y); + public native void natInit(); + public native void toFront(); + public native void toBack(); + public native void syncCursor(); + public native void _dispose(); + public native void setLimits(int minw, int minh, int maxw, int maxh); + public native void blit(DoubleBuffer s, int sx, int sy, int dx, int dy, int dx2, int dy2); + public native void dispatchEvent(gnu.gcj.RawData ev); + + public X11Surface(Box root, boolean framed) { + super(root); + this.framed = framed; + natInit(); + } + + } + + + // Our Subclass of Picture /////////////////////////////////////////////// + + // FIXME: what if display server runs out of pixmap space? Think resource conservation... + + /** Implements a Picture as an X11 Pixmap */ + public static class X11Picture implements Picture { + + int width; + int height; + int[] data = null; + public X11DoubleBuffer doublebuf = null; + + public int getWidth() { return width; } + public int getHeight() { return height; } + + public X11Picture(int[] data, int w, int h) { + this.data = data; + this.width = w; + this.height = h; + + // if we have any non-0x00, non-0xFF alphas, we can't double buffer ourselves + for(int i=0; i metric) { + metric = thismetric; + bestmatch = jfont; + } + } + + pf.parse(bestmatch); + String target = (String)nativeFontList.get(bestmatch); + if (pf.size == 0) { + int i = 0; + for(int j=0; j<6; j++) i = target.indexOf('-', i + 1); + target = target.substring(0, i + 1) + arg.size + target.substring(target.indexOf('-', i+1)); + } + RawData ret = fontStringToStruct(target); + if (ret == null) ret = fontStringToStruct("fixed"); + xwtFontToFontStruct.put(s, new WrappedRawData(ret)); + return ret; + } + + +} diff --git a/src/org/xwt/plat/Win32.cc b/src/org/xwt/plat/Win32.cc index 3bb342e..e03526c 100644 --- a/src/org/xwt/plat/Win32.cc +++ b/src/org/xwt/plat/Win32.cc @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -32,6 +33,7 @@ #include #include #include +#include #include // for debugging @@ -237,6 +239,29 @@ void org::xwt::plat::Win32::natInit() { // Platform Methods /////////////////////////////////////////////////////////////////// +jstring org::xwt::plat::Win32::_fileDialog(jstring suggestedFileName, jboolean write) { + + char buf[1024]; + OPENFILENAME ofn; + memset(buf, 0, 1024); + memset(&ofn, 0, sizeof(OPENFILENAME)); + + if (suggestedFileName != NULL) + JvGetStringUTFRegion(suggestedFileName, 0, min(1023, JvGetStringUTFLength(suggestedFileName)), buf); + + ofn.lStructSize = sizeof(OPENFILENAME); + ofn.nMaxCustFilter = 0; + ofn.lpstrFile = buf; + ofn.nMaxFile = 1024; + + if (write) ofn.Flags |= OFN_OVERWRITEPROMPT; + ofn.Flags |= OFN_NOCHANGEDIR; + ofn.Flags |= OFN_HIDEREADONLY; + + int ret = write ? GetSaveFileName(&ofn) : GetOpenFileName(&ofn); + return ret == 0 ? NULL : JvNewStringLatin1(buf); +} + void org::xwt::plat::Win32::__detectProxy(JArray* container) { HKEY hkey; diff --git a/src/org/xwt/plat/Win32.java b/src/org/xwt/plat/Win32.java index c03ba52..fd237ec 100644 --- a/src/org/xwt/plat/Win32.java +++ b/src/org/xwt/plat/Win32.java @@ -39,6 +39,8 @@ public class Win32 extends GCJ { public static native String getTempPath(); public static native void natInit(); + protected native String _fileDialog(String suggestedFileName, boolean write); + public Win32() { } public void init() { @@ -116,6 +118,7 @@ public class Win32 extends GCJ { protected native void _criticalAbort(String message); protected native String _getClipBoard(); protected native void _setClipBoard(String s); + protected boolean _isCaseSensitive() { return false; } private native void __detectProxy(String[] container); diff --git a/src/org/xwt/plat/Win32.xml b/src/org/xwt/plat/Win32.xml index 7b56736..4bc32a4 100644 --- a/src/org/xwt/plat/Win32.xml +++ b/src/org/xwt/plat/Win32.xml @@ -4,7 +4,7 @@ - + diff --git a/src/org/xwt/util/Log.java b/src/org/xwt/util/Log.java index 81f89e1..71fb1ed 100644 --- a/src/org/xwt/util/Log.java +++ b/src/org/xwt/util/Log.java @@ -1,12 +1,15 @@ // Copyright 2002 Adam Megacz, see the COPYING file for licensing [LGPL] package org.xwt.util; import java.io.*; +import java.util.*; /** easy to use logger */ public class Log { public static boolean on = true; public static boolean verbose = false; + public static boolean logDates = false; + public static Date lastDate = null; /** true iff nothing has yet been logged */ public static boolean firstMessage = true; @@ -14,7 +17,7 @@ public class Log { /** message can be a String or a Throwable */ public static synchronized void log(Object o, Object message) { - if (firstMessage) { + if (firstMessage && !logDates) { firstMessage = false; System.err.println("==========================================================================="); log(Log.class, "Logging enabled at " + new java.util.Date()); @@ -26,10 +29,22 @@ public class Log { else classname = o.getClass().getName(); if (classname.indexOf('.') != -1) classname = classname.substring(classname.lastIndexOf('.') + 1); - if (classname.length() > 20) classname = classname.substring(0, 20); - while (classname.length() < 20) classname = " " + classname; + if (classname.length() > (logDates ? 14 : 20)) classname = classname.substring(0, (logDates ? 14 : 20)); + while (classname.length() < (logDates ? 14 : 20)) classname = " " + classname; classname = classname + ": "; + if (logDates) { + Date d = new Date(); + if (lastDate == null || d.getYear() != lastDate.getYear() || d.getMonth() != lastDate.getMonth() || d.getDay() != lastDate.getDay()) { + String now = new java.text.SimpleDateFormat("EEE dd MMM yyyy").format(d); + System.err.println(); + System.err.println("=== " + now + " =========================================================="); + } + java.text.DateFormat df = new java.text.SimpleDateFormat("[EEE HH:mm:ss] "); + classname = df.format(d) + classname; + lastDate = d; + } + if (!(message instanceof Throwable)) System.err.println(classname + message); else { ByteArrayOutputStream baos = new ByteArrayOutputStream(); -- 1.7.10.4