Skip to content
Snippets Groups Projects
Commit d478dcb6 authored by Antti Villberg's avatar Antti Villberg Committed by Tuukka Lehtonen
Browse files

Support fonts in SceneGraphWebalizer

gitlab #1258

(cherry picked from commit 6d1b13be)
parent 9da4163e
Branches
No related tags found
No related merge requests found
......@@ -13,6 +13,7 @@ package org.simantics.modeling.web;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.Shape;
import java.awt.geom.AffineTransform;
import java.awt.geom.Rectangle2D;
......@@ -30,6 +31,7 @@ import org.simantics.g2d.diagram.handler.DataElementMap;
import org.simantics.modeling.web.serializer.BasicStrokeSerializer;
import org.simantics.modeling.web.serializer.ColorSerializer;
import org.simantics.modeling.web.serializer.ElementTransferableSerializer;
import org.simantics.modeling.web.serializer.FontSerializer;
import org.simantics.modeling.web.serializer.INodeSerializer;
import org.simantics.modeling.web.serializer.RectangleSerializer;
import org.simantics.modeling.web.serializer.RouteGraphSerializer;
......@@ -63,6 +65,7 @@ public class NodeMapper extends ObjectMapper {
SimpleModule module = new SimpleModule();
module.addSerializer(INode.class, new INodeSerializer());
module.addSerializer(Color.class, new ColorSerializer());
module.addSerializer(Font.class, new FontSerializer());
RouteGraphSerializer rgs = new RouteGraphSerializer();
rgs.setNodeMapper(this);
module.addSerializer(RouteGraph.class, rgs);
......
/*******************************************************************************
* Copyright (c) 2025 Association for Decentralized Information Management
* in Industry THTH ry.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Semantum Oy - initial API and implementation
*******************************************************************************/
package org.simantics.modeling.web.serializer;
import java.awt.Color;
import java.awt.Font;
import java.io.IOException;
import java.util.Locale;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
/**
* @author Antti Villberg
* @since 1.57.0
*/
public class FontSerializer extends StdSerializer<Font> {
private static final long serialVersionUID = 7719241986258581681L;
public FontSerializer() {
this(null);
}
public FontSerializer(Class<Font> t) {
super(t);
}
@Override
public void serialize(Font value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
ObjectNode node = new ObjectNode(JsonNodeFactory.instance);
node.put("name", value.getFamily());
node.put("style", value.getStyle());
node.put("size", value.getSize());
// jgen.writeString("rect2D(" + value.getMinX() + "," + value.getMinY() + "," +
// value.getWidth() + "," + value.getHeight() + ")");
jgen.writeObject(node);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment