/* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. Oracle designates this * particular file as subject to the "Classpath" exception as provided * by Oracle in the LICENSE file that accompanied this code. * * This code is 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 * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores * CA 94065 USA or visit www.oracle.com if you need additional information or * have any questions. */ package com.sun.lwuit.tools.resourcebuilder; import com.sun.lwuit.Image; import com.sun.lwuit.util.EditableResources; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; /** * Allows us to define an SVG file as an image resource * * @author Shai Almog */ public class SvgTask extends ResourceTask { private File file; private String baseUrl = ""; private boolean animated = true; private boolean fallback = true; public File getFile() { return file; } public void setFile(File file) { this.file = file; if(getName() == null) { setName(file.getName()); } } @Override public void addToResources(EditableResources e) throws IOException { byte[] data = new byte[(int)file.length()]; DataInputStream di = new DataInputStream(new FileInputStream(file)); di.readFully(data); di.close(); e.setImage(getName(), Image.createSVG(baseUrl, animated, data)); } /** * @return the baseUrl */ public String getBaseUrl() { return baseUrl; } /** * @param baseUrl the baseUrl to set */ public void setBaseUrl(String baseUrl) { this.baseUrl = baseUrl; } /** * @return the fallback */ public boolean isFallback() { return fallback; } /** * @param fallback the fallback to set */ public void setFallback(boolean fallback) { this.fallback = fallback; } /** * @return the animated */ public boolean isAnimated() { return animated; } /** * @param animated the animated to set */ public void setAnimated(boolean animated) { this.animated = animated; } }