diff options
author | Christopher Hoskin <mans0954@debian.org> | 2017-09-08 19:57:06 +0100 |
---|---|---|
committer | Christopher Hoskin <mans0954@debian.org> | 2017-09-08 19:57:06 +0100 |
commit | 277c886dbbaa9ac62798e87272c7ead5795033f8 (patch) | |
tree | 309f666741dddb2f914ab224d98b6ca32d8e228a /src/net/sourceforge/plantuml/fun | |
parent | f9dab4abce6df0e9b5121895cc6e94823c2dece3 (diff) |
New upstream version 1.2017.15
Diffstat (limited to 'src/net/sourceforge/plantuml/fun')
-rw-r--r-- | src/net/sourceforge/plantuml/fun/IconLoader.java | 210 | ||||
-rw-r--r-- | src/net/sourceforge/plantuml/fun/sprite020.png | bin | 0 -> 261 bytes |
2 files changed, 105 insertions, 105 deletions
diff --git a/src/net/sourceforge/plantuml/fun/IconLoader.java b/src/net/sourceforge/plantuml/fun/IconLoader.java index 23fd1e0..d656a78 100644 --- a/src/net/sourceforge/plantuml/fun/IconLoader.java +++ b/src/net/sourceforge/plantuml/fun/IconLoader.java @@ -1,105 +1,105 @@ -/* ========================================================================
- * PlantUML : a free UML diagram generator
- * ========================================================================
- *
- * (C) Copyright 2009-2017, Arnaud Roques
- *
- * Project Info: http://plantuml.com
- *
- * This file is part of PlantUML.
- *
- * Licensed under The MIT License (Massachusetts Institute of Technology License)
- *
- * See http://opensource.org/licenses/MIT
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
- * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- *
- * Original Author: Arnaud Roques
- */
-package net.sourceforge.plantuml.fun;
-
-import java.awt.image.BufferedImage;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import javax.imageio.ImageIO;
-
-public class IconLoader {
-
- private static final int NUMBER_OF_ICONS = 20;
-
- private final static Map<String, BufferedImage> all = new ConcurrentHashMap<String, BufferedImage>();
-
- public static BufferedImage getRandom() {
- // return addTransparent(getIcon("sprite013.png"));
- return addTransparent(getIcon(getSomeQuote()));
- }
-
- private static String getSomeQuote() {
- final int v = (int) (System.currentTimeMillis() / 1000L);
- final int n = v % NUMBER_OF_ICONS;
- return "sprite" + String.format("%03d", n) + ".png";
- }
-
- private static BufferedImage getIcon(String name) {
- BufferedImage result = all.get(name);
- if (result == null) {
- result = getIconSlow(name);
- if (result != null) {
- all.put(name, result);
- }
- }
- return result;
- }
-
- private static BufferedImage getIconSlow(String name) {
- try {
- final InputStream is = IconLoader.class.getResourceAsStream(name);
- if (is == null) {
- return null;
- }
- final BufferedImage image = ImageIO.read(is);
- is.close();
- return image;
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- private static BufferedImage addTransparent(BufferedImage ico) {
- if (ico == null) {
- return null;
- }
- final BufferedImage transparentIcon = new BufferedImage(ico.getWidth(), ico.getHeight(),
- BufferedImage.TYPE_INT_ARGB_PRE);
- for (int i = 0; i < ico.getWidth(); i++) {
- for (int j = 0; j < ico.getHeight(); j++) {
- final int col = ico.getRGB(i, j);
- if (col != ico.getRGB(0, 0)) {
- transparentIcon.setRGB(i, j, col);
- }
- }
- }
- return transparentIcon;
- }
-
-}
+/* ======================================================================== + * PlantUML : a free UML diagram generator + * ======================================================================== + * + * (C) Copyright 2009-2017, Arnaud Roques + * + * Project Info: http://plantuml.com + * + * If you like this project or if you find it useful, you can support us at: + * + * http://plantuml.com/patreon (only 1$ per month!) + * http://plantuml.com/paypal + * + * This file is part of PlantUML. + * + * PlantUML is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * PlantUML distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + * License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * + * Original Author: Arnaud Roques + * + */ +package net.sourceforge.plantuml.fun; + +import java.awt.image.BufferedImage; +import java.io.IOException; +import java.io.InputStream; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import javax.imageio.ImageIO; + +public class IconLoader { + + private static final int NUMBER_OF_ICONS = 21; + + private final static Map<String, BufferedImage> all = new ConcurrentHashMap<String, BufferedImage>(); + + public static BufferedImage getRandom() { + // return addTransparent(getIcon("sprite013.png")); + return addTransparent(getIcon(getSomeQuote())); + } + + private static String getSomeQuote() { + final int v = (int) (System.currentTimeMillis() / 1000L); + final int n = v % NUMBER_OF_ICONS; + return "sprite" + String.format("%03d", n) + ".png"; + } + + private static BufferedImage getIcon(String name) { + BufferedImage result = all.get(name); + if (result == null) { + result = getIconSlow(name); + if (result != null) { + all.put(name, result); + } + } + return result; + } + + private static BufferedImage getIconSlow(String name) { + try { + final InputStream is = IconLoader.class.getResourceAsStream(name); + if (is == null) { + return null; + } + final BufferedImage image = ImageIO.read(is); + is.close(); + return image; + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } + + private static BufferedImage addTransparent(BufferedImage ico) { + if (ico == null) { + return null; + } + final BufferedImage transparentIcon = new BufferedImage(ico.getWidth(), ico.getHeight(), + BufferedImage.TYPE_INT_ARGB_PRE); + for (int i = 0; i < ico.getWidth(); i++) { + for (int j = 0; j < ico.getHeight(); j++) { + final int col = ico.getRGB(i, j); + if (col != ico.getRGB(0, 0)) { + transparentIcon.setRGB(i, j, col); + } + } + } + return transparentIcon; + } + +} diff --git a/src/net/sourceforge/plantuml/fun/sprite020.png b/src/net/sourceforge/plantuml/fun/sprite020.png Binary files differnew file mode 100644 index 0000000..dfd7b5c --- /dev/null +++ b/src/net/sourceforge/plantuml/fun/sprite020.png |