/** * This file is part of the ReTeX library - https://github.com/himamis/ReTeX * * Copyright (C) 2015 Balazs Bencze * * This program 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 2 of the License, or (at * your option) any later version. * * This program 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 for more details. * * A copy of the GNU General Public License can be found in the file * LICENSE.txt provided with the source distribution of this program (see * the META-INF directory in the source jar). This license can also be * found on the GNU website at http://www.gnu.org/licenses/gpl.html. * * If you did not receive a copy of the GNU General Public License along * with this program, contact the lead developer, or write to the Free * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA. * * Linking this library statically or dynamically with other modules * is making a combined work based on this library. Thus, the terms * and conditions of the GNU General Public License cover the whole * combination. * * As a special exception, the copyright holders of this library give you * permission to link this library with independent modules to produce * an executable, regardless of the license terms of these independent * modules, and to copy and distribute the resulting executable under terms * of your choice, provided that you also meet, for each linked independent * module, the terms and conditions of the license of that module. * An independent module is a module which is not derived from or based * on this library. If you modify this library, you may extend this exception * to your version of the library, but you are not obliged to do so. * If you do not wish to do so, delete this exception statement from your * version. * */ package com.himamis.retex.renderer.web; import com.google.gwt.core.client.EntryPoint; import com.himamis.retex.renderer.share.platform.FactoryProvider; import com.himamis.retex.renderer.web.font.opentype.Opentype; public class CreateLibrary implements EntryPoint { private JlmLib library; private Opentype opentype; @Override public void onModuleLoad() { FactoryProvider.setInstance(new FactoryProviderGWT()); library = new JlmLib(); opentype = Opentype.INSTANCE; exportLibrary(library, opentype); } public static native void exportLibrary(JlmLib library, Opentype opentype) /*-{ $wnd.jlmlib = {}; $wnd.jlmlib.initWith = $entry(function(str) { library.@com.himamis.retex.renderer.web.JlmLib::initWith(Ljava/lang/String;)(str); }); $wnd.jlmlib.SERIF = @com.himamis.retex.renderer.share.TeXFormula::SERIF; $wnd.jlmlib.SANSSERIF = @com.himamis.retex.renderer.share.TeXFormula::SANSSERIF; $wnd.jlmlib.BOLD = @com.himamis.retex.renderer.share.TeXFormula::BOLD; $wnd.jlmlib.ITALIC = @com.himamis.retex.renderer.share.TeXFormula::ITALIC; $wnd.jlmlib.ROMAN = @com.himamis.retex.renderer.share.TeXFormula::ROMAN; $wnd.jlmlib.TYPEWRITER = @com.himamis.retex.renderer.share.TeXFormula::TYPEWRITER; $wnd.jlmlib.drawLatex = $entry(function(opts) { //ctx, latex, size, style, x, y, fgColor, bgColor, cb if (!opts.context) { throw ("drawLatex(opts): opts.context must not be null"); } if (!(typeof opts.latex == "string")) { throw ("drawLatex(opts): opts.latex must be of type string."); } var ctx = opts.context, latex = opts.latex, size = opts.size || 12, type = opts.type || 0, x = opts.x || 0, y = opts.y || 0, insets = opts.insets || { top : 0, bottom : 0, left : 0, right : 0 }, topInset = insets.top || 0, bottomInset = insets.bottom || 0, leftInset = insets.left || 0, rightInset = insets.right || 0, fgColor = opts.foregroundColor || "#000000", bgColor = opts.backgroundColor, // undefined === invisible cb = opts.callback; return library.@com.himamis.retex.renderer.web.JlmLib::drawLatex(Lcom/google/gwt/canvas/dom/client/Context2d;Ljava/lang/String;DIIIIIIILjava/lang/String;Ljava/lang/String;Lcom/google/gwt/core/client/JavaScriptObject;)(ctx, latex, size, type, x, y, topInset, leftInset, bottomInset, rightInset, fgColor, bgColor, cb); }); $wnd.jlmlib.setFontBaseUrl = $entry(function(url) { opentype.@com.himamis.retex.renderer.web.font.opentype.Opentype::setFontBaseUrl(Ljava/lang/String;)(url); }); }-*/; }