content: /*
   * Licensed to the Apache Software Foundation (ASF) under one
   * or more contributor license agreements.  See the NOTICE file
   * distributed with this work for additional information
   * regarding copyright ownership.  The ASF licenses this file
   * to you under the Apache License, Version 2.0 (the
   * "License"); you may not use this file except in compliance
   * with the License.  You may obtain a copy of the License at
   *
   * http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing,
   * software distributed under the License is distributed on an
   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   * KIND, either express or implied.  See the License for the
   * specific language governing permissions and limitations
   * under the License.
   */
  package org.apache.chemistry.opencmis.workbench.icons;
  
  import java.awt.Color;
  import java.awt.Graphics2D;
  import java.awt.geom.AffineTransform;
  import java.awt.geom.GeneralPath;
  
  public class CmisLogoIcon extends AbstractWorkbenchIcon {
  
      public CmisLogoIcon() {
          super();
      }
  
      public CmisLogoIcon(int width, int height) {
          super(width, height);
      }
  
      @Override
      protected int getOrginalHeight() {
          return 1334;
      }
  
      @Override
      protected int getOrginalWidth() {
          return 1334;
      }
  
      @Override
      protected void paint(Graphics2D g) {
          GeneralPath shape = null;
  
          java.util.LinkedList<AffineTransform> transformations = new java.util.LinkedList<AffineTransform>();
  
          transformations.offer(g.getTransform());
          g.transform(new AffineTransform(1, 0, 0, 1, 0, 281.97653f));
  
          transformations.offer(g.getTransform());
          g.transform(new AffineTransform(1, 0, 0, 1, 2436.9204f, -124.31232f));
  
          shape = new GeneralPath();
          shape.moveTo(-2031.8895, 1175.7178);
          shape.curveTo(-2075.5454, 1170.6311, -2116.6348, 1151.2609, -2146.2356, 1121.8132);
          shape.curveTo(-2171.932, 1096.2499, -2187.9302, 1065.7382, -2194.3806, 1029.991);
          shape.curveTo(-2197.1716, 1014.5248, -2197.415, 983.32043, -2194.8618, 968.31323);
          shape.curveTo(-2188.4307, 930.5087, -2173.016, 900.52216, -2146.261, 873.7669);
          shape.curveTo(-2117.3096, 844.8153, -2081.3035, 827.12683, -2037.0364, 820.1083);
          shape.curveTo(-2027.2711, 818.56, -2018.9781, 818.3132, -1976.7147, 818.3132);
          shape.curveTo(-1934.3462, 818.3132, -1926.1584, 818.558, -1916.2147, 820.1221);
          shape.curveTo(-1868.8749, 827.56805, -1830.209, 847.6636, -1801.1826, 879.90686);
          shape.curveTo(-1754.4962, 931.76733, -1709.376, 956.78015, -1647.7147, 964.98285);
          shape.curveTo(-1640.1449, 965.98987, -1619.367, 966.3132, -1562.2147, 966.3132);
          shape.curveTo(-1493.5465, 966.3132, -1485.8551, 966.1495, -1477.2147, 964.5046);
          shape.curveTo(-1454.5997, 960.19916, -1439.0458, 955.15137, -1419.4122, 945.7456);
          shape.curveTo(-1354.2749, 914.54083, -1310.797, 855.5158, -1299.6564, 783.167);
          shape.curveTo(-1297.3734, 768.342, -1297.3638, 737.2168, -1299.6373, 722.3132);
          shape.curveTo(-1307.0671, 673.61005, -1329.2562, 630.73645, -1364.3307, 597.3132);
          shape.curveTo(-1400.1494, 563.18066, -1445.8508, 542.9278, -1496.4806, 538.75);
          shape.curveTo(-1513.7247, 537.327, -1630.6799, 538.0954, -1643.2147, 539.7141);
          shape.curveTo(-1690.7499, 545.85223, -1726.1213, 560.5084, -1761.2147, 588.6076);
          shape.curveTo(-1766.4397, 592.7912, -1781.9647, 607.5045, -1795.7147, 621.30383);
          shape.curveTo(-1824.4304, 650.1223, -1831.8323, 655.88525, -1854.7147, 667.2401);
          shape.curveTo(-1878.536, 679.0608, -1900.768, 685.29333, -1928.2147, 687.8451);
          shape.curveTo(-1947.2653, 689.6163, -2025.59, 688.605, -2038.7147, 686.4184);
          shape.curveTo(-2070.0793, 681.1931, -2100.478, 669.1829, -2123.186, 653.0444);
          shape.curveTo(-2142.9116, 639.0256, -2163.7546, 616.12286, -2174.8916, 596.22906);
          shape.curveTo(-2195.8513, 558.7895, -2202.2798, 512.50574, -2192.578, 468.89188);
          shape.curveTo(-2189.2695, 454.01898, -2185.2588, 442.76266, -2178.6528, 429.80997);
          shape.curveTo(-2168.8674, 410.62357, -2159.1477, 397.68896, -2142.7534, 382.03638);
          shape.curveTo(-2115.536, 356.0503, -2081.671, 339.58496, -2040.2146, 332.1815);
          shape.curveTo(-2032.4506, 330.79498, -2022.1263, 330.40778, -1983.7146, 330.06268);
          shape.curveTo(-1952.941, 329.7862, -1932.917, 330.0297, -1925.7146, 330.76868);
          shape.curveTo(-1891.397, 334.2888, -1861.6295, 344.73697, -1834.522, 362.77676);
          shape.curveTo(-1820.4675, 372.12976, -1810.1885, 381.22156, -1795.9165, 396.92297);
          shape.curveTo(-1758.6875, 437.88037, -1719.2906, 461.8582, -1672.2146, 472.21057);
          shape.curveTo(-1646.5458, 477.8553, -1642.9052, 478.08237, -1570.7146, 478.54166);
          shape.curveTo(-1525.8026, 478.82736, -1499.9233, 478.60065, -1492.2146, 477.85266);
          shape.curveTo(-1447.1614, 473.48337, -1405.4979, 455.55566, -1370.7146, 425.57178);
          shape.curveTo(-1320.6914, 382.45056, -1293.3047, 315.85788, -1298.2021, 249.25247);
          shape.curveTo(-1305.9259, 144.21048, -1386.49, 61.578964, -1491.7146, 50.773926);
          shape.curveTo(-1499.2115, 50.004097, -1524.2104, 49.782207, -1570.2146, 50.077168);
          shape.curveTo(-1642.911, 50.543266, -1646.8376, 50.786858, -1671.8975, 56.385166);
          shape.curveTo(-1719.6499, 67.05298, -1760.235, 92.96109, -1801.674, 139.23007);
          shape.curveTo(-1826.2881, 166.71297, -1861.3197, 186.56857, -1900.3665, 195.16808);
          shape.curveTo(-1921.9122, 199.91327, -1927.7876, 200.30507, -1977.2146, 200.29268);
          shape.curveTo(-2026.7438, 200.28069, -2033.3618, 199.80278, -2055.7146, 194.62918);
          shape.curveTo(-2125.972, 178.36807, -2179.6643, 125.383484, -2193.1782, 58.97757);
          shape.curveTo(-2202.7673, 11.858009, -2194.0427, -37.362732, -2169.485, -74.68683);
          shape.curveTo(-2142.298, -116.00693, -2100.3948, -143.60252, -2047.7145, -154.87881);
          shape.lineTo(-2034.7145, -157.66151);
          shape.lineTo(-1976.7145, -157.66151);
          shape.lineTo(-1918.7145, -157.66151);
          shape.lineTo(-1905.7145, -154.87881);
          shape.curveTo(-1863.2804, -145.79572, -1824.2146, -124.09651, -1800.6559, -96.52402);
          shape.curveTo(-1791.4143, -85.70782, -1774.6082, -69.43272, -1763.1979, -60.24962);
          shape.curveTo(-1734.2258, -36.93242, -1704.246, -22.701519, -1668.4849, -15.291119);
          shape.curveTo(-1644.9766, -10.419719, -1636.8424, -9.963919, -1559.7145, -9.196018);
          shape.curveTo(-1498.396, -8.585618, -1485.0343, -8.198018, -1476.2145, -6.7742186);
          shape.curveTo(-1421.0698, 2.1277819, -1374.7711, 23.1151, -1335.7645, 56.89197);
          shape.curveTo(-1283.9639, 101.74762, -1252.727, 159.1881, -1242.5435, 228.31319);
          shape.curveTo(-1241.2355, 237.19199, -1240.7755, 246.5557, -1240.7755, 264.31317);
          shape.curveTo(-1240.7755, 290.08246, -1241.9602, 301.67938, -1246.8538, 323.81317);
          shape.curveTo(-1263.2478, 397.96448, -1311.0327, 463.07877, -1376.8717, 500.98248);
          shape.curveTo(-1383.6392, 504.87857, -1388.9576, 508.41977, -1388.6906, 508.852);
          shape.curveTo(-1388.4235, 509.2841, -1384.9446, 511.42908, -1380.9597, 513.6186);
          shape.curveTo(-1353.288, 528.8229, -1323.7072, 553.427, -1303.032, 578.4353);
          shape.curveTo(-1225.9866, 671.6287, -1219.2275, 804.037, -1286.3861, 904.5291);
          shape.curveTo(-1326.0433, 963.8698, -1387.4884, 1005.55115, -1456.9199, 1020.21063);
          shape.curveTo(-1479.9633, 1025.0759, -1489.1595, 1025.6127, -1560.7145, 1026.268);
          shape.curveTo(-1597.5645, 1026.6055, -1632.6644, 1027.3411, -1638.7145, 1027.9026);
          shape.curveTo(-1676.1212, 1031.3745, -1708.2396, 1041.7823, -1737.4445, 1059.8959);
          shape.curveTo(-1755.9216, 1071.3557, -1782.5437, 1094.2594, -1797.2281, 1111.3291);
          shape.curveTo(-1827.7462, 1146.8046, -1871.8407, 1169.5424, -1922.1882, 1175.7657);
          shape.curveTo(-1932.1768, 1177.0005, -2021.2151, 1176.9615, -2031.8893, 1175.7178);
          shape.closePath();
  
          g.setPaint(new Color(0x552681));
          g.fill(shape);
  
          shape = new GeneralPath();
          shape.moveTo(-1610.2147, 931.8146);
          shape.curveTo(-1649.9078, 928.6836, -1687.1461, 914.52515, -1716.6757, 891.3373);
          shape.curveTo(-1721.0972, 887.8653, -1729.3962, 880.13947, -1735.118, 874.1689);
          shape.curveTo(-1740.84, 868.1983, -1748.715, 859.9941, -1752.618, 855.9372);
          shape.curveTo(-1767.8978, 840.05597, -1789.4181, 823.2516, -1809.0271, 811.8893);
          shape.curveTo(-1825.5798, 802.298, -1851.3657, 792.9792, -1872.7969, 788.84326);
          shape.curveTo(-1897.9053, 783.99774, -1904.9255, 783.61017, -1981.7147, 782.8293);
          shape.curveTo(-2059.9465, 782.0338, -2061.11, 781.9613, -2086.3655, 776.3044);
          shape.curveTo(-2193.287, 752.3556, -2276.3801, 664.9992, -2295.1443, 556.8133);
          shape.curveTo(-2319.8872, 414.1558, -2229.764, 277.586, -2088.7148, 243.9974);
          shape.curveTo(-2061.9548, 237.62491, -2061.4434, 237.5907, -1981.2148, 236.80751);
          shape.curveTo(-1902.1821, 236.03601, -1895.7013, 235.6535, -1870.099, 230.24911);
          shape.curveTo(-1847.8667, 225.55602, -1825.8387, 217.10251, -1807.8125, 206.34592);
          shape.curveTo(-1786.6072, 193.69221, -1759.972, 171.41122, -1743.2964, 152.37631);
          shape.curveTo(-1716.176, 121.41921, -1683.643, 101.75993, -1643.1117, 91.83591);
          shape.curveTo(-1622.2886, 86.737404, -1615.9746, 86.31245, -1561.2148, 86.32387);
          shape.curveTo(-1512.7024, 86.33397, -1510.2032, 86.42631, -1497.7148, 88.669464);
          shape.curveTo(-1412.3916, 103.99525, -1352.4021, 164.9842, -1344.2715, 244.66931);
          shape.curveTo(-1338.8594, 297.71182, -1354.4307, 346.31052, -1388.786, 383.59973);
          shape.curveTo(-1418.6389, 416.00223, -1462.1085, 437.44894, -1508.715, 442.76953);
          shape.curveTo(-1520.4064, 444.10422, -1606.0237, 444.10422, -1617.715, 442.76953);
          shape.curveTo(-1665.0148, 437.36984, -1708.7263, 415.59714, -1738.1967, 382.75784);
          shape.curveTo(-1782.7043, 333.16205, -1825.8955, 307.96365, -1881.9664, 298.88004);
          shape.curveTo(-1904.4396, 295.23935, -1920.6659, 294.64462, -1986.215, 295.05963);
          shape.curveTo(-2054.4785, 295.49182, -2056.8625, 295.66324, -2080.9368, 301.87054);
          shape.curveTo(-2123.6213, 312.87634, -2162.1199, 336.68445, -2190.3467, 369.53165);
          shape.curveTo(-2221.5952, 405.89526, -2239.2678, 449.38226, -2242.0684, 496.80374);
          shape.curveTo(-2248.4497, 604.8635, -2175.2393, 699.41345, -2068.715, 720.68604);
          shape.curveTo(-2049.1797, 724.5872, -2038.7698, 724.99146, -1969.2151, 724.5496);
          shape.curveTo(-1897.4711, 724.09393, -1893.7144, 723.85693, -1868.2151, 718.17883);
          shape.curveTo(-1835.5405, 710.90283, -1806.6125, 696.7155, -1778.2151, 674.03973);
          shape.curveTo(-1772.9901, 669.86743, -1758.1401, 655.77454, -1745.2151, 642.72205);
          shape.curveTo(-1732.29, 629.66956, -1718.4187, 616.48517, -1714.3896, 613.42334);
          shape.curveTo(-1692.3102, 596.64435, -1665.3789, 584.70807, -1634.7151, 578.1104);
          shape.lineTo(-1621.7151, 575.3133);
          shape.lineTo(-1564.2151, 575.3133);
          shape.curveTo(-1504.1653, 575.3133, -1502.2032, 575.4262, -1483.7151, 579.9455);
          shape.curveTo(-1428.8756, 593.3506, -1384.7422, 627.2066, -1361.1285, 673.9851);
          shape.curveTo(-1342.5242, 710.8401, -1338.128, 759.9583, -1349.6561, 802.16724);
          shape.curveTo(-1357.5739, 831.15656, -1372.8544, 856.54584, -1395.8464, 878.9144);
          shape.curveTo(-1424.2118, 906.5103, -1459.5076, 923.57874, -1502.2151, 930.35223);
          shape.curveTo(-1510.5492, 931.674, -1521.6885, 932.08203, -1556.2151, 932.33026);
          shape.curveTo(-1580.1401, 932.50226, -1604.4401, 932.27026, -1610.2151, 931.81464);
          shape.closePath();
  
          g.setPaint(new Color(0xE3AF1B));
          g.fill(shape);
  
          g.setTransform(transformations.poll());
          g.setTransform(transformations.poll());
      }
  }
  