mirror of
https://github.com/octoleo/plantuml.git
synced 2024-11-26 14:56:28 +00:00
Extract common functionality to new ImageBuilder methods plainImageBuilder() plainPngBuilder() styledImageBuilder() and to PlainDiagram / PlainStringsDiagram classes.
This commit is contained in:
parent
efab37d3ce
commit
ac1fa530cf
@ -50,6 +50,7 @@ import net.sourceforge.plantuml.cucadiagram.DisplayPositionned;
|
||||
import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
||||
import net.sourceforge.plantuml.graphic.VerticalAlignment;
|
||||
import net.sourceforge.plantuml.stats.StatsUtilsIncrement;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.color.NoSuchColorException;
|
||||
import net.sourceforge.plantuml.version.License;
|
||||
import net.sourceforge.plantuml.version.Version;
|
||||
@ -162,4 +163,8 @@ public abstract class AbstractPSystem implements Diagram {
|
||||
protected abstract ImageData exportDiagramNow(OutputStream os, int index, FileFormatOption fileFormatOption,
|
||||
long seed) throws IOException;
|
||||
|
||||
public ClockwiseTopRightBottomLeft getDefaultMargins() {
|
||||
return ClockwiseTopRightBottomLeft.same(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
68
src/net/sourceforge/plantuml/PlainDiagram.java
Normal file
68
src/net/sourceforge/plantuml/PlainDiagram.java
Normal file
@ -0,0 +1,68 @@
|
||||
/* ========================================================================
|
||||
* PlantUML : a free UML diagram generator
|
||||
* ========================================================================
|
||||
*
|
||||
* (C) Copyright 2009-2020, 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;
|
||||
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.plainImageBuilder;
|
||||
|
||||
// This class doesnt feel like a wonderful idea, just a stepping stone towards something
|
||||
public abstract class PlainDiagram extends AbstractPSystem {
|
||||
|
||||
@Override
|
||||
protected ImageData exportDiagramNow(OutputStream os, int index, FileFormatOption fileFormatOption, long seed)
|
||||
throws IOException {
|
||||
|
||||
final UDrawable drawable = getRootDrawable(fileFormatOption);
|
||||
|
||||
final ImageBuilder builder = plainImageBuilder(drawable, fileFormatOption, seed)
|
||||
.margin(getDefaultMargins())
|
||||
.metadata(fileFormatOption.isWithMetadata() ? getMetadata() : null);
|
||||
|
||||
return adjustImageBuilder(builder).write(os);
|
||||
}
|
||||
|
||||
// kind of a kludge but good enough for now!
|
||||
protected ImageBuilder adjustImageBuilder(ImageBuilder builder) {
|
||||
return builder;
|
||||
}
|
||||
|
||||
protected abstract UDrawable getRootDrawable(FileFormatOption fileFormatOption) throws IOException;
|
||||
}
|
57
src/net/sourceforge/plantuml/PlainStringsDiagram.java
Normal file
57
src/net/sourceforge/plantuml/PlainStringsDiagram.java
Normal file
@ -0,0 +1,57 @@
|
||||
/* ========================================================================
|
||||
* PlantUML : a free UML diagram generator
|
||||
* ========================================================================
|
||||
*
|
||||
* (C) Copyright 2009-2020, 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;
|
||||
|
||||
import net.sourceforge.plantuml.graphic.GraphicPosition;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static net.sourceforge.plantuml.graphic.GraphicStrings.createBlackOnWhite;
|
||||
|
||||
public abstract class PlainStringsDiagram extends PlainDiagram {
|
||||
|
||||
protected BufferedImage image = null;
|
||||
protected GraphicPosition imagePosition = null;
|
||||
|
||||
protected final List<String> strings = new ArrayList<String>();
|
||||
|
||||
@Override
|
||||
public UDrawable getRootDrawable(FileFormatOption fileFormatOption) {
|
||||
return createBlackOnWhite(strings, image, imagePosition);
|
||||
}
|
||||
}
|
@ -48,12 +48,9 @@ import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.preproc.Defines;
|
||||
import net.sourceforge.plantuml.security.SFile;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.plainImageBuilder;
|
||||
|
||||
public class SourceStringReader {
|
||||
|
||||
@ -228,12 +225,9 @@ public class SourceStringReader {
|
||||
public ImageData noStartumlFound(OutputStream os, FileFormatOption fileFormatOption, long seed) throws IOException {
|
||||
final TextBlockBackcolored error = GraphicStrings.createForError(Arrays.asList("No @startuml/@enduml found"),
|
||||
fileFormatOption.isUseRedForError());
|
||||
HColor backcolor = error.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, null,
|
||||
null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(error);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormatOption, seed, os);
|
||||
|
||||
return plainImageBuilder(error, fileFormatOption, seed)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
public final List<BlockUml> getBlocks() {
|
||||
|
@ -212,7 +212,7 @@ public abstract class TitledDiagram extends AbstractPSystem implements Diagram,
|
||||
return useSmetana;
|
||||
}
|
||||
|
||||
// This is for backwards compatibility with earlier default margins
|
||||
@Override
|
||||
public ClockwiseTopRightBottomLeft getDefaultMargins() {
|
||||
return ClockwiseTopRightBottomLeft.same(10);
|
||||
}
|
||||
|
@ -68,23 +68,20 @@ import net.sourceforge.plantuml.pdf.PdfConverter;
|
||||
import net.sourceforge.plantuml.security.ImageIO;
|
||||
import net.sourceforge.plantuml.security.SFile;
|
||||
import net.sourceforge.plantuml.security.SecurityUtils;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.style.NoStyleAvailableException;
|
||||
import net.sourceforge.plantuml.svek.EmptySvgException;
|
||||
import net.sourceforge.plantuml.svek.GraphvizCrash;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.AffineTransformType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.PixelImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
import net.sourceforge.plantuml.version.Version;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.plainImageBuilder;
|
||||
|
||||
public abstract class UmlDiagram extends TitledDiagram implements Diagram, Annotated, WithSprite {
|
||||
|
||||
private boolean rotation;
|
||||
@ -184,11 +181,6 @@ public abstract class UmlDiagram extends TitledDiagram implements Diagram, Annot
|
||||
}
|
||||
|
||||
strings.addAll(CommandExecutionResult.getStackTrace(exception));
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, metadata,
|
||||
null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
BufferedImage im2 = null;
|
||||
if (flash != null) {
|
||||
@ -207,19 +199,18 @@ public abstract class UmlDiagram extends TitledDiagram implements Diagram, Annot
|
||||
final TextBlockBackcolored graphicStrings = GraphicStrings.createBlackOnWhite(strings, IconLoader.getRandom(),
|
||||
GraphicPosition.BACKGROUND_CORNER_TOP_RIGHT);
|
||||
|
||||
if (im == null) {
|
||||
imageBuilder.setUDrawable(graphicStrings);
|
||||
} else {
|
||||
imageBuilder.setUDrawable(new UDrawable() {
|
||||
final UDrawable drawable = (im == null) ? graphicStrings : new UDrawable() {
|
||||
public void drawU(UGraphic ug) {
|
||||
graphicStrings.drawU(ug);
|
||||
final double height = graphicStrings.calculateDimension(ug.getStringBounder()).getHeight();
|
||||
ug = ug.apply(UTranslate.dy(height));
|
||||
ug.draw(new UImage(new PixelImage(im, AffineTransformType.TYPE_NEAREST_NEIGHBOR)).scale(3));
|
||||
}
|
||||
});
|
||||
}
|
||||
imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
};
|
||||
|
||||
plainImageBuilder(drawable, fileFormat, seed)
|
||||
.metadata(metadata)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private static void exportDiagramErrorText(OutputStream os, Throwable exception, List<String> strings) {
|
||||
|
@ -38,9 +38,7 @@ package net.sourceforge.plantuml.activitydiagram3;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.ISkinSimple;
|
||||
import net.sourceforge.plantuml.UmlDiagram;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
@ -60,12 +58,12 @@ import net.sourceforge.plantuml.graphic.USymbol;
|
||||
import net.sourceforge.plantuml.graphic.color.Colors;
|
||||
import net.sourceforge.plantuml.sequencediagram.NotePosition;
|
||||
import net.sourceforge.plantuml.sequencediagram.NoteType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.comp.CompressionMode;
|
||||
import net.sourceforge.plantuml.ugraphic.comp.CompressionXorYBuilder;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class ActivityDiagram3 extends UmlDiagram {
|
||||
|
||||
enum SwimlaneStrategy {
|
||||
@ -207,16 +205,8 @@ public class ActivityDiagram3 extends UmlDiagram {
|
||||
result = CompressionXorYBuilder.build(CompressionMode.ON_Y, result, stringBounder);
|
||||
|
||||
result = new TextBlockRecentred(result);
|
||||
final ISkinParam skinParam = getSkinParam();
|
||||
result = new AnnotatedWorker(this, skinParam, stringBounder).addAdd(result);
|
||||
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
|
||||
return styledImageBuilder(this, result, index, fileFormatOption, seed())
|
||||
.write(os);
|
||||
}
|
||||
|
||||
public void fork() {
|
||||
|
@ -42,10 +42,8 @@ import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.Dimension2DDouble;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.UmlDiagram;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
@ -53,10 +51,7 @@ import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.InnerStrategy;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.ULine;
|
||||
@ -65,6 +60,8 @@ import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class BoardDiagram extends UmlDiagram {
|
||||
|
||||
private final List<Activity> activities = new ArrayList<Activity>();
|
||||
@ -81,19 +78,8 @@ public class BoardDiagram extends UmlDiagram {
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
|
||||
final ISkinParam skinParam = getSkinParam();
|
||||
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
TextBlock result = getTextBlock();
|
||||
|
||||
result = new AnnotatedWorker(this, skinParam, fileFormatOption.getDefaultStringBounder(getSkinParam()))
|
||||
.addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, getTextBlock(), index, fileFormatOption, seed())
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getTextBlock() {
|
||||
|
@ -49,8 +49,8 @@ import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class BpmDiagram extends UmlDiagram {
|
||||
|
||||
@ -81,12 +81,10 @@ public class BpmDiagram extends UmlDiagram {
|
||||
@Override
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(getUDrawable());
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, getUDrawable(), index, fileFormatOption, seed())
|
||||
.annotations(false)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private UDrawable getUDrawable() {
|
||||
|
@ -38,16 +38,12 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import net.sourceforge.plantuml.FileFormat;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.TikzFontDistortion;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.posimo.DotPath;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.AbstractCommonUGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.AbstractUGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.ClipContainer;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.UCenteredCharacter;
|
||||
import net.sourceforge.plantuml.ugraphic.UEllipse;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic2;
|
||||
@ -58,9 +54,8 @@ import net.sourceforge.plantuml.ugraphic.UPolygon;
|
||||
import net.sourceforge.plantuml.ugraphic.URectangle;
|
||||
import net.sourceforge.plantuml.ugraphic.UText;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapper;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.plainPngBuilder;
|
||||
|
||||
// https://www.branah.com/braille-translator
|
||||
public class UGraphicBraille extends AbstractUGraphic<BrailleGrid> implements ClipContainer, UGraphic2 {
|
||||
@ -127,13 +122,8 @@ public class UGraphicBraille extends AbstractUGraphic<BrailleGrid> implements Cl
|
||||
}
|
||||
|
||||
public void writeImageTOBEMOVED(OutputStream os, String metadata, int dpi) throws IOException {
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, metadata,
|
||||
null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(new BrailleDrawer(getGraphicObject()));
|
||||
|
||||
imageBuilder.writeImageTOBEMOVED(new FileFormatOption(FileFormat.PNG), 42, os);
|
||||
|
||||
plainPngBuilder(new BrailleDrawer(getGraphicObject()))
|
||||
.metadata(metadata)
|
||||
.write(os);
|
||||
}
|
||||
}
|
||||
|
@ -56,8 +56,8 @@ import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.USymbol;
|
||||
import net.sourceforge.plantuml.objectdiagram.AbstractClassOrObjectDiagram;
|
||||
import net.sourceforge.plantuml.svek.image.EntityImageClass;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class ClassDiagram extends AbstractClassOrObjectDiagram {
|
||||
|
||||
@ -198,10 +198,9 @@ public class ClassDiagram extends AbstractClassOrObjectDiagram {
|
||||
final RowLayout rawLayout = getRawLayout(i);
|
||||
fullLayout.addRowLayout(rawLayout);
|
||||
}
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(fullLayout);
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, fullLayout, index, fileFormatOption, seed())
|
||||
.annotations(false) // Backwards compatibility - this only applies when "layout_new_line" is used
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private RowLayout getRawLayout(int raw) {
|
||||
|
@ -35,18 +35,15 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.creole.legacy;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.LineBreakStrategy;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.SkinParam;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.creole.CreoleMode;
|
||||
import net.sourceforge.plantuml.creole.Parser;
|
||||
import net.sourceforge.plantuml.creole.Sheet;
|
||||
@ -54,13 +51,10 @@ import net.sourceforge.plantuml.creole.SheetBlock1;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.graphic.FontConfiguration;
|
||||
import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.ugraphic.UFont;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
|
||||
public class PSystemCreole extends AbstractPSystem {
|
||||
public class PSystemCreole extends PlainDiagram {
|
||||
|
||||
private final List<String> lines = new ArrayList<String>();
|
||||
|
||||
@ -76,20 +70,13 @@ public class PSystemCreole extends AbstractPSystem {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) {
|
||||
final Display display = Display.create(lines);
|
||||
final UFont font = UFont.serif(14);
|
||||
final FontConfiguration fontConfiguration = FontConfiguration.blackBlueTrue(font);
|
||||
final Sheet sheet = Parser.build(fontConfiguration, HorizontalAlignment.LEFT,
|
||||
SkinParam.create(UmlDiagramType.SEQUENCE), CreoleMode.FULL).createSheet(display);
|
||||
final SheetBlock1 sheetBlock = new SheetBlock1(sheet, LineBreakStrategy.NONE, 0);
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, null,
|
||||
null, ClockwiseTopRightBottomLeft.none(), null);
|
||||
|
||||
final ImageBuilder builder = ImageBuilder.build(imageParameter);
|
||||
builder.setUDrawable(sheetBlock);
|
||||
return builder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
return new SheetBlock1(sheet, LineBreakStrategy.NONE, 0);
|
||||
|
||||
// final Dimension2D dim = TextBlockUtils.getDimension(sheetBlock);
|
||||
// final UGraphic2 ug = fileFormat.createUGraphic(new ColorMapperIdentity(), 1,
|
||||
|
@ -36,26 +36,17 @@
|
||||
package net.sourceforge.plantuml.dedication;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.AffineTransformType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.PixelImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UImage;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
public class PSystemDedication extends AbstractPSystem {
|
||||
public class PSystemDedication extends PlainDiagram {
|
||||
|
||||
private final Dedication dedication;
|
||||
private final String keepLetter;
|
||||
@ -66,21 +57,15 @@ public class PSystemDedication extends AbstractPSystem {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(new UDrawable() {
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) {
|
||||
return new UDrawable() {
|
||||
public void drawU(UGraphic ug) {
|
||||
final BufferedImage bufferedImage = dedication.getBufferedImage(keepLetter);
|
||||
if (bufferedImage != null) {
|
||||
ug.draw(new UImage(new PixelImage(bufferedImage, AffineTransformType.TYPE_BILINEAR)));
|
||||
}
|
||||
}
|
||||
});
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
};
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
|
@ -36,28 +36,22 @@
|
||||
package net.sourceforge.plantuml.definition;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.SpriteContainerEmpty;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.graphic.FontConfiguration;
|
||||
import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.UFont;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
public class PSystemDefinition extends AbstractPSystem implements UDrawable {
|
||||
public class PSystemDefinition extends PlainDiagram implements UDrawable {
|
||||
|
||||
private final List<String> lines = new ArrayList<String>();
|
||||
private final String startLine;
|
||||
@ -71,14 +65,8 @@ public class PSystemDefinition extends AbstractPSystem implements UDrawable {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormatOption, long seed)
|
||||
throws IOException {
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, "", "",
|
||||
ClockwiseTopRightBottomLeft.none(), null);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(this);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormatOption, seed, os);
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) throws IOException {
|
||||
return this;
|
||||
}
|
||||
|
||||
public void drawU(UGraphic ug) {
|
||||
|
@ -37,15 +37,14 @@ package net.sourceforge.plantuml.donors;
|
||||
|
||||
import java.awt.geom.Dimension2D;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.BackSlash;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.code.AsciiEncoder;
|
||||
import net.sourceforge.plantuml.code.CompressionBrotli;
|
||||
import net.sourceforge.plantuml.code.NoPlantumlCompressionException;
|
||||
@ -53,26 +52,19 @@ import net.sourceforge.plantuml.code.StringCompressorNone;
|
||||
import net.sourceforge.plantuml.code.Transcoder;
|
||||
import net.sourceforge.plantuml.code.TranscoderImpl;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.AffineTransformType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.PixelImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
import net.sourceforge.plantuml.version.PSystemVersion;
|
||||
|
||||
public class PSystemDonors extends AbstractPSystem {
|
||||
public class PSystemDonors extends PlainDiagram {
|
||||
|
||||
private static final int COLS = 6;
|
||||
private static final int FREE_LINES = 6;
|
||||
@ -107,18 +99,7 @@ public class PSystemDonors extends AbstractPSystem {
|
||||
*/
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final UDrawable result = getGraphicStrings();
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private UDrawable getGraphicStrings() throws IOException {
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) throws IOException {
|
||||
final List<TextBlock> cols = getCols(getDonors(), COLS, FREE_LINES);
|
||||
return new UDrawable() {
|
||||
public void drawU(UGraphic ug) {
|
||||
|
@ -37,43 +37,24 @@ package net.sourceforge.plantuml.donors;
|
||||
|
||||
import java.awt.geom.Dimension2D;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.SkinParam;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
public class PSystemSkinparameterList extends AbstractPSystem {
|
||||
public class PSystemSkinparameterList extends PlainDiagram {
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final UDrawable result = getGraphicStrings();
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private UDrawable getGraphicStrings() throws IOException {
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) throws IOException {
|
||||
final List<TextBlock> cols = getCols(getDonors(), 5);
|
||||
return new UDrawable() {
|
||||
public void drawU(UGraphic ug) {
|
||||
|
@ -35,58 +35,21 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.eggs;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainStringsDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicPosition;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.version.PSystemVersion;
|
||||
|
||||
public class PSystemAppleTwo extends AbstractPSystem {
|
||||
|
||||
private final List<String> strings = new ArrayList<String>();
|
||||
private final BufferedImage image;
|
||||
public class PSystemAppleTwo extends PlainStringsDiagram {
|
||||
|
||||
public PSystemAppleTwo() throws IOException {
|
||||
strings.add(" <b><size:18>Apple //e for ever ! ");
|
||||
strings.add(" ");
|
||||
|
||||
image = PSystemVersion.getApple2Image();
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final TextBlockBackcolored result = getGraphicStrings();
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getGraphicStrings() throws IOException {
|
||||
// final UFont font = new UFont("SansSerif", Font.PLAIN, 12);
|
||||
final TextBlockBackcolored result = GraphicStrings.createBlackOnWhite(strings, image, GraphicPosition.BOTTOM);
|
||||
// final GraphicStrings result = new GraphicStrings(strings, font,
|
||||
// HtmlColorUtils.BLACK, HtmlColorUtils.WHITE,
|
||||
// image, GraphicPosition.BOTTOM);
|
||||
// result.setMinWidth(200);
|
||||
return result;
|
||||
imagePosition = GraphicPosition.BOTTOM;
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
|
@ -35,27 +35,19 @@
|
||||
package net.sourceforge.plantuml.eggs;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.AffineTransformType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.PixelImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UImage;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
import net.sourceforge.plantuml.version.PSystemVersion;
|
||||
|
||||
public class PSystemCharlie extends AbstractPSystem {
|
||||
public class PSystemCharlie extends PlainDiagram {
|
||||
|
||||
private BufferedImage image;
|
||||
|
||||
@ -64,20 +56,18 @@ public class PSystemCharlie extends AbstractPSystem {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
HColor backcolor = HColorUtils.BLACK;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(new UDrawable() {
|
||||
protected ImageBuilder adjustImageBuilder(ImageBuilder builder) {
|
||||
return builder.blackBackcolor();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UDrawable getRootDrawable(FileFormatOption fileFormatOption) {
|
||||
return new UDrawable() {
|
||||
public void drawU(UGraphic ug) {
|
||||
final UImage im = new UImage(new PixelImage(image, AffineTransformType.TYPE_BILINEAR));
|
||||
ug.draw(im);
|
||||
}
|
||||
});
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
};
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
|
@ -37,8 +37,6 @@ package net.sourceforge.plantuml.eggs;
|
||||
|
||||
import java.awt.geom.Dimension2D;
|
||||
import java.awt.geom.Point2D;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
@ -46,34 +44,29 @@ import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.BackSlash;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.SpriteContainerEmpty;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.graphic.FontConfiguration;
|
||||
import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.UFont;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UPolygon;
|
||||
import net.sourceforge.plantuml.ugraphic.URectangle;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorSet;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorSimple;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
// http://www.redblobgames.com/grids/hexagons/
|
||||
public class PSystemColors extends AbstractPSystem implements UDrawable {
|
||||
public class PSystemColors extends PlainDiagram implements UDrawable {
|
||||
|
||||
private final double rectangleHeight = 28;
|
||||
private final double rectangleWidth = 175;
|
||||
@ -90,14 +83,8 @@ public class PSystemColors extends AbstractPSystem implements UDrawable {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(this);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
|
@ -5,12 +5,12 @@
|
||||
* (C) Copyright 2009-2020, 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
|
||||
@ -30,32 +30,17 @@
|
||||
*
|
||||
*
|
||||
* Original Author: Arnaud Roques
|
||||
*
|
||||
*
|
||||
*
|
||||
*/
|
||||
package net.sourceforge.plantuml.eggs;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.sourceforge.plantuml.PlainStringsDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
public class PSystemEgg extends AbstractPSystem {
|
||||
|
||||
private final List<String> strings = new ArrayList<String>();
|
||||
public class PSystemEgg extends PlainStringsDiagram {
|
||||
|
||||
PSystemEgg(String sentence) {
|
||||
final StringTokenizer st = new StringTokenizer(sentence, "|");
|
||||
@ -64,22 +49,6 @@ public class PSystemEgg extends AbstractPSystem {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final TextBlockBackcolored result = getGraphicStrings();
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getGraphicStrings() throws IOException {
|
||||
return GraphicStrings.createBlackOnWhite(strings);
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
return new DiagramDescription("(Easter Eggs)");
|
||||
}
|
||||
|
@ -35,47 +35,15 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.eggs;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainStringsDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
public class PSystemLost extends AbstractPSystem {
|
||||
|
||||
private final List<String> strings = new ArrayList<String>();
|
||||
public class PSystemLost extends PlainStringsDiagram {
|
||||
|
||||
public PSystemLost() {
|
||||
strings.add("Thank you for choosing Oceanic Airlines.");
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final TextBlockBackcolored result = getGraphicStrings();
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getGraphicStrings() throws IOException {
|
||||
return GraphicStrings.createBlackOnWhite(strings);
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
return new DiagramDescription("(Lost)");
|
||||
}
|
||||
|
@ -35,32 +35,16 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.eggs;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainStringsDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicPosition;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.security.ImageIO;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
public class PSystemRIP extends AbstractPSystem {
|
||||
|
||||
private final List<String> strings = new ArrayList<String>();
|
||||
private final BufferedImage image;
|
||||
public class PSystemRIP extends PlainStringsDiagram {
|
||||
|
||||
public PSystemRIP() throws IOException {
|
||||
strings.add(" To my Grandfather,");
|
||||
@ -77,22 +61,8 @@ public class PSystemRIP extends AbstractPSystem {
|
||||
final InputStream is = new ByteArrayInputStream(imm);
|
||||
image = ImageIO.read(is);
|
||||
is.close();
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final TextBlockBackcolored result = getGraphicStrings();
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getGraphicStrings() throws IOException {
|
||||
return GraphicStrings.createBlackOnWhite(strings, image, GraphicPosition.BOTTOM);
|
||||
imagePosition = GraphicPosition.BOTTOM;
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
|
@ -36,25 +36,19 @@
|
||||
package net.sourceforge.plantuml.eggs;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicPosition;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.version.PSystemVersion;
|
||||
|
||||
public class PSystemWelcome extends AbstractPSystem {
|
||||
public class PSystemWelcome extends PlainDiagram {
|
||||
|
||||
private final List<String> strings = new ArrayList<String>();
|
||||
private final GraphicPosition position;
|
||||
@ -85,16 +79,8 @@ public class PSystemWelcome extends AbstractPSystem {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final TextBlockBackcolored result = getGraphicStrings();
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
// imageBuilder.setUDrawable(TextBlockUtils.withMargin(result, 4, 4));
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) throws IOException {
|
||||
return getGraphicStrings();
|
||||
}
|
||||
|
||||
public TextBlockBackcolored getGraphicStrings() throws IOException {
|
||||
|
@ -46,7 +46,6 @@ import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.BackSlash;
|
||||
import net.sourceforge.plantuml.Dimension2DDouble;
|
||||
import net.sourceforge.plantuml.ErrorUml;
|
||||
@ -54,9 +53,9 @@ import net.sourceforge.plantuml.FileFormat;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.FileImageData;
|
||||
import net.sourceforge.plantuml.LineLocation;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.SpriteContainerEmpty;
|
||||
import net.sourceforge.plantuml.StringLocated;
|
||||
import net.sourceforge.plantuml.api.ImageDataAbstract;
|
||||
import net.sourceforge.plantuml.api.ImageDataSimple;
|
||||
import net.sourceforge.plantuml.asciiart.UmlCharArea;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
@ -74,21 +73,19 @@ import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.TextBlockRaw;
|
||||
import net.sourceforge.plantuml.graphic.TextBlockUtils;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.graphic.VerticalAlignment;
|
||||
import net.sourceforge.plantuml.security.SecurityUtils;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.GraphvizCrash;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.AffineTransformType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.PixelImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UFont;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorSet;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorSimple;
|
||||
@ -98,11 +95,19 @@ import net.sourceforge.plantuml.version.LicenseInfo;
|
||||
import net.sourceforge.plantuml.version.PSystemVersion;
|
||||
import net.sourceforge.plantuml.version.Version;
|
||||
|
||||
public abstract class PSystemError extends AbstractPSystem {
|
||||
public abstract class PSystemError extends PlainDiagram {
|
||||
|
||||
protected List<StringLocated> trace;
|
||||
protected ErrorUml singleError;
|
||||
|
||||
@Override
|
||||
protected ImageBuilder adjustImageBuilder(ImageBuilder builder) {
|
||||
return builder
|
||||
.blackBackcolor()
|
||||
.randomPixel()
|
||||
.status(FileImageData.ERROR);
|
||||
}
|
||||
|
||||
final protected StringLocated getLastLine() {
|
||||
return trace.get(trace.size() - 1);
|
||||
}
|
||||
@ -227,14 +232,14 @@ public abstract class PSystemError extends AbstractPSystem {
|
||||
return new ImageDataSimple(1, 1);
|
||||
|
||||
}
|
||||
return super.exportDiagramNow(os, num, fileFormat, seed);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) throws IOException {
|
||||
final TextBlockBackcolored result = getGraphicalFormatted();
|
||||
|
||||
TextBlock udrawable;
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setRandomPixel(true);
|
||||
if (getSource().getTotalLineCountLessThan5()) {
|
||||
udrawable = addWelcome(result);
|
||||
} else {
|
||||
@ -251,10 +256,7 @@ public abstract class PSystemError extends AbstractPSystem {
|
||||
} else if (getSource().containsIgnoreCase("arecibo")) {
|
||||
udrawable = addMessageArecibo(udrawable);
|
||||
}
|
||||
imageBuilder.setUDrawable(udrawable);
|
||||
final ImageData imageData = imageBuilder.writeImageTOBEMOVED(fileFormat, seed(), os);
|
||||
((ImageDataAbstract) imageData).setStatus(FileImageData.ERROR);
|
||||
return imageData;
|
||||
return udrawable;
|
||||
}
|
||||
|
||||
private void append(List<String> result, LineLocation lineLocation) {
|
||||
|
@ -36,26 +36,12 @@
|
||||
package net.sourceforge.plantuml.font;
|
||||
|
||||
import java.awt.GraphicsEnvironment;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainStringsDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
public class PSystemListFonts extends AbstractPSystem {
|
||||
|
||||
private final List<String> strings = new ArrayList<String>();
|
||||
public class PSystemListFonts extends PlainStringsDiagram {
|
||||
|
||||
public PSystemListFonts(String text) {
|
||||
strings.add(" <b><size:16>Fonts available:");
|
||||
@ -74,22 +60,6 @@ public class PSystemListFonts extends AbstractPSystem {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final TextBlockBackcolored result = getGraphicStrings();
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getGraphicStrings() throws IOException {
|
||||
return GraphicStrings.createBlackOnWhite(strings);
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
return new DiagramDescription("(List fonts)");
|
||||
}
|
||||
|
@ -40,23 +40,20 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.Collection;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.UmlDiagram;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.InnerStrategy;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class GitDiagram extends UmlDiagram {
|
||||
|
||||
private final Collection<GNode> gnodes;
|
||||
@ -76,15 +73,8 @@ public class GitDiagram extends UmlDiagram {
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
|
||||
final ISkinParam skinParam = getSkinParam();
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
TextBlock result = getTextBlock();
|
||||
result = new AnnotatedWorker(this, skinParam, fileFormatOption.getDefaultStringBounder(getSkinParam()))
|
||||
.addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormatOption, 0, os);
|
||||
return styledImageBuilder(this, getTextBlock(), index, fileFormatOption, 0)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private void drawInternal(UGraphic ug) {
|
||||
|
@ -53,10 +53,9 @@ import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.graphic.FontConfiguration;
|
||||
import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.UFont;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class Help extends UmlDiagram {
|
||||
|
||||
@ -79,16 +78,18 @@ public class Help extends UmlDiagram {
|
||||
final Sheet sheet = Parser.build(fontConfiguration, HorizontalAlignment.LEFT, getSkinParam(), CreoleMode.FULL)
|
||||
.createSheet(display);
|
||||
final SheetBlock1 sheetBlock = new SheetBlock1(sheet, LineBreakStrategy.NONE, 0);
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, null,
|
||||
null, ClockwiseTopRightBottomLeft.none(), null);
|
||||
|
||||
final ImageBuilder builder = ImageBuilder.build(imageParameter);
|
||||
builder.setUDrawable(sheetBlock);
|
||||
return builder.writeImageTOBEMOVED(fileFormat, 0, os);
|
||||
return styledImageBuilder(this, sheetBlock, 1, fileFormat, 0)
|
||||
.annotations(false)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
public void add(CharSequence line) {
|
||||
this.lines.add(line);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClockwiseTopRightBottomLeft getDefaultMargins() {
|
||||
return ClockwiseTopRightBottomLeft.same(0);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -40,9 +40,7 @@ import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.TitledDiagram;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
@ -57,13 +55,13 @@ import net.sourceforge.plantuml.graphic.TextBlockUtils;
|
||||
import net.sourceforge.plantuml.json.JsonArray;
|
||||
import net.sourceforge.plantuml.json.JsonValue;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UFont;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class JsonDiagram extends TitledDiagram {
|
||||
|
||||
private final JsonValue root;
|
||||
@ -91,15 +89,8 @@ public class JsonDiagram extends TitledDiagram {
|
||||
protected ImageData exportDiagramNow(OutputStream os, int index, FileFormatOption fileFormatOption, long seed)
|
||||
throws IOException {
|
||||
|
||||
final ISkinParam skinParam = getSkinParam();
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
TextBlock result = getTextBlock();
|
||||
result = new AnnotatedWorker(this, skinParam, fileFormatOption.getDefaultStringBounder(getSkinParam()))
|
||||
.addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(0, os);
|
||||
return styledImageBuilder(this, getTextBlock(), index, fileFormatOption, 0)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private void drawInternal(UGraphic ug) {
|
||||
|
@ -50,16 +50,15 @@ import net.sourceforge.plantuml.api.ImageDataSimple;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.eps.EpsGraphics;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.security.ImageIO;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.AffineTransformType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MutableImage;
|
||||
import net.sourceforge.plantuml.ugraphic.PixelImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UImageSvg;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.plainImageBuilder;
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.plainPngBuilder;
|
||||
|
||||
public class ScientificEquationSafe {
|
||||
|
||||
@ -100,10 +99,10 @@ public class ScientificEquationSafe {
|
||||
return svg;
|
||||
} catch (Exception e) {
|
||||
printTrace(e);
|
||||
final ImageBuilder imageBuilder = getRollback();
|
||||
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
try {
|
||||
dimSvg = imageBuilder.writeImageTOBEMOVED(new FileFormatOption(FileFormat.SVG), 42, baos);
|
||||
dimSvg = plainImageBuilder(getRollback(), new FileFormatOption(FileFormat.SVG), 42)
|
||||
.write(baos);
|
||||
} catch (IOException e1) {
|
||||
return null;
|
||||
}
|
||||
@ -116,11 +115,9 @@ public class ScientificEquationSafe {
|
||||
return equation.getImage(foregroundColor, backgroundColor);
|
||||
} catch (Exception e) {
|
||||
printTrace(e);
|
||||
final ImageBuilder imageBuilder = getRollback();
|
||||
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
try {
|
||||
imageBuilder.writeImageTOBEMOVED(new FileFormatOption(FileFormat.PNG), 42, baos);
|
||||
return new PixelImage(ImageIO.read(new ByteArrayInputStream(baos.toByteArray())),
|
||||
final byte[] bytes = plainPngBuilder(getRollback()).writeByteArray();
|
||||
return new PixelImage(ImageIO.read(new ByteArrayInputStream(bytes)),
|
||||
AffineTransformType.TYPE_BILINEAR);
|
||||
} catch (IOException e1) {
|
||||
return null;
|
||||
@ -136,13 +133,8 @@ public class ScientificEquationSafe {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
private ImageBuilder getRollback() {
|
||||
final TextBlock block = GraphicStrings.createBlackOnWhiteMonospaced(Arrays.asList(formula));
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, null,
|
||||
null, ClockwiseTopRightBottomLeft.none(), null);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(block);
|
||||
return imageBuilder;
|
||||
private TextBlockBackcolored getRollback() {
|
||||
return GraphicStrings.createBlackOnWhiteMonospaced(Arrays.asList(formula));
|
||||
}
|
||||
|
||||
public ImageData export(OutputStream os, FileFormatOption fileFormat, float scale, Color foregroundColor,
|
||||
|
@ -40,7 +40,6 @@ import java.awt.geom.Rectangle2D;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.Dimension2DDouble;
|
||||
import net.sourceforge.plantuml.Direction;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
@ -52,17 +51,16 @@ import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.graphic.InnerStrategy;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.style.NoStyleAvailableException;
|
||||
import net.sourceforge.plantuml.style.StyleBuilder;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class MindMapDiagram extends UmlDiagram {
|
||||
|
||||
private Branch left = new Branch();
|
||||
@ -86,15 +84,8 @@ public class MindMapDiagram extends UmlDiagram {
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
TextBlock result = getTextBlock();
|
||||
result = new AnnotatedWorker(this, getSkinParam(), fileFormatOption.getDefaultStringBounder(getSkinParam()))
|
||||
.addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, getTextBlock(), index, fileFormatOption, seed())
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getTextBlock() {
|
||||
|
@ -46,10 +46,8 @@ import java.util.Map;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.ColorParam;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.SpriteContainerEmpty;
|
||||
import net.sourceforge.plantuml.UmlDiagram;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
@ -66,8 +64,6 @@ import net.sourceforge.plantuml.graphic.TextBlockUtils;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UEmpty;
|
||||
import net.sourceforge.plantuml.ugraphic.UFont;
|
||||
@ -76,6 +72,8 @@ import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class NwDiagram extends UmlDiagram {
|
||||
|
||||
private boolean initDone;
|
||||
@ -217,15 +215,8 @@ public class NwDiagram extends UmlDiagram {
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
|
||||
final ISkinParam skinParam = getSkinParam();
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
TextBlock result = getTextBlock();
|
||||
result = new AnnotatedWorker(this, skinParam, fileFormatOption.getDefaultStringBounder(getSkinParam()))
|
||||
.addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(0, os);
|
||||
return styledImageBuilder(this, getTextBlock(), index, fileFormatOption, 0)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getTextBlock() {
|
||||
|
@ -39,43 +39,23 @@ import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.donors.PSystemDonors;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.TextBlockHorizontal;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.graphic.VerticalAlignment;
|
||||
import net.sourceforge.plantuml.openiconic.data.DummyIcon;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
public class PSystemListOpenIconic extends AbstractPSystem {
|
||||
public class PSystemListOpenIconic extends PlainDiagram {
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final UDrawable result = getGraphicStrings();
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final String metadata = fileFormat.isWithMetadata() ? getMetadata() : null;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, metadata,
|
||||
null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private UDrawable getGraphicStrings() throws IOException {
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) throws IOException {
|
||||
final List<String> lines = new ArrayList<String>();
|
||||
lines.add("<b>List Open Iconic");
|
||||
lines.add("<i>Credit to");
|
||||
|
@ -35,22 +35,14 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.openiconic;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.SkinParam;
|
||||
import net.sourceforge.plantuml.UseStyle;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
public class PSystemOpenIconic extends AbstractPSystem {
|
||||
public class PSystemOpenIconic extends PlainDiagram {
|
||||
|
||||
private final String iconName;
|
||||
private final double factor;
|
||||
@ -61,26 +53,11 @@ public class PSystemOpenIconic extends AbstractPSystem {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) {
|
||||
final OpenIcon icon = OpenIcon.retrieve(iconName);
|
||||
// final Dimension2D dim = new Dimension2DDouble(100, 100);
|
||||
|
||||
final int margin1;
|
||||
final int margin2;
|
||||
if (UseStyle.useBetaStyle()) {
|
||||
margin1 = SkinParam.zeroMargin(5);
|
||||
margin2 = SkinParam.zeroMargin(5);
|
||||
} else {
|
||||
margin1 = 5;
|
||||
margin2 = 5;
|
||||
}
|
||||
final ClockwiseTopRightBottomLeft margins = ClockwiseTopRightBottomLeft.margin1margin2(margin1, margin2);
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, null,
|
||||
null, margins, null);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(icon.asTextBlock(HColorUtils.BLACK, factor));
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
return icon.asTextBlock(HColorUtils.BLACK, factor);
|
||||
|
||||
// UGraphic2 ug = fileFormat.createUGraphic(dim);
|
||||
// ug = (UGraphic2) ug.apply(new UTranslate(10, 10));
|
||||
@ -103,4 +80,9 @@ public class PSystemOpenIconic extends AbstractPSystem {
|
||||
return new DiagramDescription("(Open iconic)");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClockwiseTopRightBottomLeft getDefaultMargins() {
|
||||
return ClockwiseTopRightBottomLeft.same(5);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -36,24 +36,18 @@
|
||||
package net.sourceforge.plantuml.oregon;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.StringUtils;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
|
||||
public class PSystemOregon extends AbstractPSystem {
|
||||
import static net.sourceforge.plantuml.graphic.GraphicStrings.createGreenOnBlackMonospaced;
|
||||
|
||||
public class PSystemOregon extends PlainDiagram {
|
||||
|
||||
private Screen screen;
|
||||
private List<String> inputs;
|
||||
@ -98,19 +92,8 @@ public class PSystemOregon extends AbstractPSystem {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final TextBlockBackcolored result = getGraphicStrings();
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getGraphicStrings() throws IOException {
|
||||
return GraphicStrings.createGreenOnBlackMonospaced(getScreen().getLines());
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) throws IOException {
|
||||
return createGreenOnBlackMonospaced(getScreen().getLines());
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
|
@ -49,7 +49,6 @@ import java.util.Map;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.Dimension2DDouble;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.TitledDiagram;
|
||||
@ -61,7 +60,6 @@ import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.graphic.InnerStrategy;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.project.core.Moment;
|
||||
import net.sourceforge.plantuml.project.core.MomentImpl;
|
||||
import net.sourceforge.plantuml.project.core.PrintScale;
|
||||
@ -93,8 +91,6 @@ import net.sourceforge.plantuml.style.SName;
|
||||
import net.sourceforge.plantuml.style.Style;
|
||||
import net.sourceforge.plantuml.style.StyleSignature;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
@ -102,6 +98,8 @@ import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorSet;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprite {
|
||||
|
||||
private final Map<Task, TaskDraw> draws = new LinkedHashMap<Task, TaskDraw>();
|
||||
@ -167,15 +165,9 @@ public class GanttDiagram extends TitledDiagram implements ToTaskDraw, WithSprit
|
||||
@Override
|
||||
protected ImageData exportDiagramNow(OutputStream os, int index, FileFormatOption fileFormatOption, long seed)
|
||||
throws IOException {
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
final StringBounder stringBounder = fileFormatOption.getDefaultStringBounder(getSkinParam());
|
||||
TextBlock result = getTextBlock(stringBounder);
|
||||
result = new AnnotatedWorker(this, getSkinParam(), stringBounder).addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed, os);
|
||||
return styledImageBuilder(this, getTextBlock(stringBounder), index, fileFormatOption, seed())
|
||||
.write(os);
|
||||
}
|
||||
|
||||
public void setPrintScale(PrintScale printScale) {
|
||||
|
@ -44,10 +44,8 @@ import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.Dimension2DDouble;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.Log;
|
||||
import net.sourceforge.plantuml.ScaleSimple;
|
||||
import net.sourceforge.plantuml.TitledDiagram;
|
||||
@ -63,7 +61,6 @@ import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.InnerStrategy;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.salt.element.Element;
|
||||
import net.sourceforge.plantuml.salt.factory.AbstractElementFactoryComplex;
|
||||
import net.sourceforge.plantuml.salt.factory.ElementFactory;
|
||||
@ -87,14 +84,14 @@ import net.sourceforge.plantuml.salt.factory.ElementFactoryTree;
|
||||
import net.sourceforge.plantuml.sprite.Sprite;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
import net.sourceforge.plantuml.ugraphic.color.NoSuchColorException;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class PSystemSalt extends TitledDiagram implements WithSprite {
|
||||
|
||||
private final List<String> data;
|
||||
@ -115,25 +112,14 @@ public class PSystemSalt extends TitledDiagram implements WithSprite {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormatOption, long seed)
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int index, FileFormatOption fileFormatOption, long seed)
|
||||
throws IOException {
|
||||
try {
|
||||
final Element salt = createElement(manageSprite());
|
||||
|
||||
final StringBounder stringBounder = fileFormatOption.getDefaultStringBounder(getSkinParam());
|
||||
final Dimension2D size = salt.getPreferredDimension(stringBounder, 0, 0);
|
||||
|
||||
final ISkinParam skinParam = getSkinParam();
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
TextBlock result = getTextBlock(salt, size);
|
||||
|
||||
result = new AnnotatedWorker(this, skinParam, stringBounder).addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, getTextBlock(salt, size), index, fileFormatOption, seed())
|
||||
.write(os);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
UmlDiagram.exportDiagramError(os, e, fileFormatOption, seed, getMetadata(), "none",
|
||||
|
@ -42,6 +42,7 @@ import static gen.lib.cgraph.node__c.agnode;
|
||||
import static gen.lib.cgraph.subg__c.agsubg;
|
||||
import static gen.lib.gvc.gvc__c.gvContext;
|
||||
import static gen.lib.gvc.gvlayout__c.gvLayoutJobs;
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
import java.awt.geom.Dimension2D;
|
||||
import java.awt.geom.Point2D;
|
||||
@ -63,7 +64,6 @@ import h.ST_Agraphinfo_t;
|
||||
import h.ST_Agrec_s;
|
||||
import h.ST_GVC_s;
|
||||
import h.ST_boxf;
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.FontParam;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
@ -100,8 +100,6 @@ import net.sourceforge.plantuml.svek.GraphvizCrash;
|
||||
import net.sourceforge.plantuml.svek.IEntityImage;
|
||||
import net.sourceforge.plantuml.svek.SvekNode;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UStroke;
|
||||
@ -448,19 +446,12 @@ public class CucaDiagramFileMakerSmetana implements CucaDiagramFileMaker {
|
||||
// DebugUtils.printDebugEdge(e);
|
||||
// }
|
||||
|
||||
final ImageParameter imageParameter = new ImageParameter(diagram, fileFormatOption);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
final MinMax minMax = TextBlockUtils.getMinMax(new Drawing(null, null), stringBounder, false);
|
||||
|
||||
final AnnotatedWorker annotatedWorker = new AnnotatedWorker(diagram, diagram.getSkinParam(),
|
||||
fileFormatOption.getDefaultStringBounder(diagram.getSkinParam()));
|
||||
|
||||
// imageBuilder.setUDrawable(new Drawing(new YMirror(dim.getHeight())));
|
||||
imageBuilder.setUDrawable(annotatedWorker.addAdd(new Drawing(new YMirror(minMax.getMaxY()), minMax)));
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(diagram.seed(), os);
|
||||
final TextBlock drawable = new Drawing(new YMirror(minMax.getMaxY()), minMax);
|
||||
return styledImageBuilder(diagram, drawable, 1, fileFormatOption, diagram.seed())
|
||||
.write(os);
|
||||
} catch (Throwable e) {
|
||||
SmetanaDebug.printMe();
|
||||
UmlDiagram.exportDiagramError(os, e, fileFormatOption, diagram.seed(), diagram.getMetadata(),
|
||||
|
@ -67,12 +67,12 @@ import net.sourceforge.plantuml.skin.rose.Rose;
|
||||
import net.sourceforge.plantuml.style.SName;
|
||||
import net.sourceforge.plantuml.style.Style;
|
||||
import net.sourceforge.plantuml.style.StyleSignature;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class SequenceDiagramFileMakerPuma2 implements FileMaker {
|
||||
|
||||
private final SequenceDiagram diagram;
|
||||
@ -186,10 +186,7 @@ public class SequenceDiagramFileMakerPuma2 implements FileMaker {
|
||||
final Dimension2D dimLegend = legendBlock.calculateDimension(stringBounder);
|
||||
area.setLegend(dimLegend, isLegendTop(), diagram.getLegend().getHorizontalAlignment());
|
||||
|
||||
final ImageParameter imageParameter = new ImageParameter(diagram, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
imageBuilder.setUDrawable(new UDrawable() {
|
||||
final UDrawable drawable = new UDrawable() {
|
||||
public void drawU(UGraphic ug) {
|
||||
|
||||
double delta = 0;
|
||||
@ -222,8 +219,10 @@ public class SequenceDiagramFileMakerPuma2 implements FileMaker {
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
return imageBuilder.writeImageTOBEMOVED(diagram.seed(), os);
|
||||
};
|
||||
return styledImageBuilder(diagram, drawable, index, fileFormatOption, diagram.seed())
|
||||
.annotations(false) // they are managed above
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private void drawFooter(SequenceDiagramArea area, UGraphic ug, int page) {
|
||||
|
@ -68,13 +68,13 @@ import net.sourceforge.plantuml.skin.rose.Rose;
|
||||
import net.sourceforge.plantuml.style.SName;
|
||||
import net.sourceforge.plantuml.style.Style;
|
||||
import net.sourceforge.plantuml.style.StyleSignature;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.utils.MathUtils;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class SequenceDiagramFileMakerTeoz implements FileMaker {
|
||||
|
||||
private final SequenceDiagram diagram;
|
||||
@ -139,13 +139,9 @@ public class SequenceDiagramFileMakerTeoz implements FileMaker {
|
||||
if (this.index != index) {
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
final ImageParameter imageParameter = new ImageParameter(diagram, fileFormatOption);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
imageBuilder.setUDrawable(new Foo(index));
|
||||
return imageBuilder.writeImageTOBEMOVED(diagram.seed(), os);
|
||||
|
||||
return styledImageBuilder(diagram, new Foo(index), index, fileFormatOption, diagram.seed())
|
||||
.annotations(false) // they are managed in drawInternal()
|
||||
.write(os);
|
||||
}
|
||||
|
||||
class Foo implements UDrawable {
|
||||
|
@ -53,13 +53,13 @@ import net.sourceforge.plantuml.graphic.HorizontalAlignment;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.TextBlockUtils;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.UFont;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class ListSpriteDiagram extends UmlDiagram {
|
||||
|
||||
public ListSpriteDiagram(ISkinSimple skinParam) {
|
||||
@ -74,12 +74,9 @@ public class ListSpriteDiagram extends UmlDiagram {
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
|
||||
final TextBlock result = getTable();
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, getTable(), index, fileFormatOption, seed())
|
||||
.annotations(false)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private TextBlock getTable() {
|
||||
|
@ -36,41 +36,22 @@
|
||||
package net.sourceforge.plantuml.sprite;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.donors.PSystemDonors;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.TextBlockHorizontal;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.graphic.VerticalAlignment;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
public class PSystemListInternalSprites extends AbstractPSystem {
|
||||
public class PSystemListInternalSprites extends PlainDiagram {
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final UDrawable result = getGraphicStrings();
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
private UDrawable getGraphicStrings() throws IOException {
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) throws IOException {
|
||||
final List<String> lines = new ArrayList<String>();
|
||||
lines.add("<b>List Current Sprites");
|
||||
lines.add("<i>Credit to");
|
||||
|
@ -59,14 +59,14 @@ import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.TextBlockUtils;
|
||||
import net.sourceforge.plantuml.preproc.Stdlib;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.UFont;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
import net.sourceforge.plantuml.ugraphic.color.NoSuchColorException;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class StdlibDiagram extends UmlDiagram {
|
||||
|
||||
private static final int WIDTH = 1800;
|
||||
@ -84,13 +84,9 @@ public class StdlibDiagram extends UmlDiagram {
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
|
||||
final TextBlock result = getTable();
|
||||
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, getTable(), index, fileFormatOption, seed())
|
||||
.annotations(false)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private TextBlock getTable() {
|
||||
|
@ -34,52 +34,22 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.stats;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainStringsDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
public class PSystemStats extends AbstractPSystem {
|
||||
import java.io.IOException;
|
||||
|
||||
private final List<String> strings = new ArrayList<String>();
|
||||
public class PSystemStats extends PlainStringsDiagram {
|
||||
|
||||
PSystemStats() throws IOException {
|
||||
PSystemStats() {
|
||||
final StatsImpl stats = (StatsImpl) StatsUtils.getStats();
|
||||
strings.addAll(new CreoleConverter(stats).toCreole());
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final TextBlockBackcolored result = getGraphicStrings();
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
public static PSystemStats create() throws IOException {
|
||||
return new PSystemStats();
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getGraphicStrings() throws IOException {
|
||||
return GraphicStrings.createBlackOnWhite(strings);
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
return new DiagramDescription("(Stats)");
|
||||
}
|
||||
|
@ -35,7 +35,6 @@
|
||||
*/
|
||||
package net.sourceforge.plantuml.svek;
|
||||
|
||||
import java.awt.geom.Dimension2D;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
@ -46,7 +45,6 @@ import net.sourceforge.plantuml.BaseFile;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.NamedOutputStream;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.api.ImageDataAbstract;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.cucadiagram.CucaDiagram;
|
||||
import net.sourceforge.plantuml.cucadiagram.Link;
|
||||
@ -54,9 +52,8 @@ import net.sourceforge.plantuml.cucadiagram.dot.CucaDiagramSimplifierActivity;
|
||||
import net.sourceforge.plantuml.cucadiagram.dot.CucaDiagramSimplifierState;
|
||||
import net.sourceforge.plantuml.cucadiagram.dot.DotData;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public final class CucaDiagramFileMakerSvek implements CucaDiagramFileMaker {
|
||||
|
||||
@ -109,9 +106,11 @@ public final class CucaDiagramFileMakerSvek implements CucaDiagramFileMaker {
|
||||
svek2 = createDotDataImageBuilder(DotMode.NO_LEFT_RIGHT_AND_XLABEL, stringBounder);
|
||||
result = svek2.buildImage(basefile, diagram.getDotStringSkek());
|
||||
}
|
||||
final boolean isGraphvizCrash = result instanceof GraphvizCrash;
|
||||
// TODO There is something strange with the left margin of mainframe, I think because AnnotatedWorker is used here
|
||||
// It can be looked at in another PR
|
||||
result = new AnnotatedWorker(diagram, diagram.getSkinParam(), stringBounder).addAdd(result);
|
||||
|
||||
// TODO UmlDiagram.getWarningOrError() looks similar so this might be simplified? - will leave for a separate PR
|
||||
final String widthwarning = diagram.getSkinParam().getValue("widthwarning");
|
||||
String warningOrError = null;
|
||||
if (widthwarning != null && widthwarning.matches("\\d+")) {
|
||||
@ -121,19 +120,11 @@ public final class CucaDiagramFileMakerSvek implements CucaDiagramFileMaker {
|
||||
// Sorry about this hack. There is a side effect in SvekResult::calculateDimension()
|
||||
result.calculateDimension(stringBounder); // Ensure text near the margins is not cut off
|
||||
|
||||
final HColor backcolor = result.getBackcolor();
|
||||
final String metadata = fileFormatOption.isWithMetadata() ? diagram.getMetadata() : null;
|
||||
|
||||
final ImageParameter imageParameter = new ImageParameter(diagram, fileFormatOption, metadata,
|
||||
warningOrError, backcolor);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
final ImageData imageData = imageBuilder.writeImageTOBEMOVED(diagram.seed(), os);
|
||||
if (isGraphvizCrash) {
|
||||
((ImageDataAbstract) imageData).setStatus(503);
|
||||
}
|
||||
return imageData;
|
||||
return styledImageBuilder(diagram, result, 1, fileFormatOption, diagram.seed())
|
||||
.annotations(false) // backwards compatibility (AnnotatedWorker is used above)
|
||||
.status(result instanceof GraphvizCrash ? 503 : 0)
|
||||
.warningOrError(warningOrError)
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private List<Link> getOrderedLinks() {
|
||||
|
@ -51,7 +51,6 @@ import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
@ -68,21 +67,16 @@ import javax.swing.ListModel;
|
||||
import javax.swing.SwingUtilities;
|
||||
import javax.swing.WindowConstants;
|
||||
|
||||
import net.sourceforge.plantuml.FileFormat;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.GeneratedImage;
|
||||
import net.sourceforge.plantuml.ImageSelection;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.security.ImageIO;
|
||||
import net.sourceforge.plantuml.security.SFile;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.version.PSystemVersion;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.plainPngBuilder;
|
||||
|
||||
class ImageWindow2 extends JFrame {
|
||||
|
||||
private final static Preferences prefs = Preferences.userNodeForPackage(ImageWindow2.class);
|
||||
@ -332,16 +326,9 @@ class ImageWindow2 extends JFrame {
|
||||
} catch (IOException ex) {
|
||||
final String msg = "Error reading file: " + ex.toString();
|
||||
final TextBlockBackcolored error = GraphicStrings.createForError(Arrays.asList(msg), false);
|
||||
HColor backcolor = error.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, null,
|
||||
null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(error);
|
||||
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
try {
|
||||
imageBuilder.writeImageTOBEMOVED(new FileFormatOption(FileFormat.PNG), 42, baos);
|
||||
baos.close();
|
||||
image = ImageIO.read(new ByteArrayInputStream(baos.toByteArray()));
|
||||
final byte[] bytes = plainPngBuilder(error).writeByteArray();
|
||||
image = ImageIO.read(new ByteArrayInputStream(bytes));
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -45,10 +45,8 @@ import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.Dimension2DDouble;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.UmlDiagram;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
@ -62,8 +60,6 @@ import net.sourceforge.plantuml.graphic.color.Colors;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.timingdiagram.graphic.IntricatedPoint;
|
||||
import net.sourceforge.plantuml.timingdiagram.graphic.TimeArrow;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.ULine;
|
||||
@ -72,6 +68,8 @@ import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class TimingDiagram extends UmlDiagram implements Clocks {
|
||||
|
||||
public static final double marginX1 = 5;
|
||||
@ -99,16 +97,9 @@ public class TimingDiagram extends UmlDiagram implements Clocks {
|
||||
@Override
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
TextBlock result = getTextBlock();
|
||||
final ISkinParam skinParam = getSkinParam();
|
||||
result = new AnnotatedWorker(this, skinParam, fileFormatOption.getDefaultStringBounder(getSkinParam()))
|
||||
.addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, getTextBlock(), index, fileFormatOption, seed())
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getTextBlock() {
|
||||
|
@ -52,19 +52,17 @@ import java.util.Set;
|
||||
import javax.xml.transform.TransformerException;
|
||||
|
||||
import net.sourceforge.plantuml.Dimension2DDouble;
|
||||
import net.sourceforge.plantuml.FileFormat;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.graphic.FontConfiguration;
|
||||
import net.sourceforge.plantuml.graphic.TextBlockUtils;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.security.ImageIO;
|
||||
import net.sourceforge.plantuml.security.SFile;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svg.LengthAdjust;
|
||||
import net.sourceforge.plantuml.svg.SvgGraphics;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.plainPngBuilder;
|
||||
|
||||
public class FontChecker {
|
||||
|
||||
final private UFont font;
|
||||
@ -172,11 +170,9 @@ public class FontChecker {
|
||||
|
||||
public BufferedImage getBufferedImage(final char c) throws IOException {
|
||||
assert c != '\t';
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null, null,
|
||||
null, ClockwiseTopRightBottomLeft.none(), null);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
final double dim = 20;
|
||||
imageBuilder.setUDrawable(new UDrawable() {
|
||||
final UDrawable drawable = new UDrawable() {
|
||||
public void drawU(UGraphic ug) {
|
||||
ug = ug.apply(HColorUtils.BLACK);
|
||||
ug.draw(new URectangle(dim - 1, dim - 1));
|
||||
@ -186,11 +182,9 @@ public class FontChecker {
|
||||
ug.draw(text);
|
||||
}
|
||||
}
|
||||
});
|
||||
final ByteArrayOutputStream os = new ByteArrayOutputStream();
|
||||
imageBuilder.writeImageTOBEMOVED(new FileFormatOption(FileFormat.PNG), 42, os);
|
||||
os.close();
|
||||
return ImageIO.read(new ByteArrayInputStream(os.toByteArray()));
|
||||
};
|
||||
final byte[] bytes = plainPngBuilder(drawable).writeByteArray();
|
||||
return ImageIO.read(new ByteArrayInputStream(bytes));
|
||||
}
|
||||
|
||||
// public BufferedImage getBufferedImageOld(char c) throws IOException {
|
||||
|
@ -51,25 +51,32 @@ import java.util.Set;
|
||||
import javax.swing.ImageIcon;
|
||||
|
||||
import net.sourceforge.plantuml.AnimatedGifEncoder;
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.CMapData;
|
||||
import net.sourceforge.plantuml.Dimension2DDouble;
|
||||
import net.sourceforge.plantuml.EmptyImageBuilder;
|
||||
import net.sourceforge.plantuml.FileFormat;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.FileUtils;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.TitledDiagram;
|
||||
import net.sourceforge.plantuml.Url;
|
||||
import net.sourceforge.plantuml.anim.AffineTransformation;
|
||||
import net.sourceforge.plantuml.anim.Animation;
|
||||
import net.sourceforge.plantuml.api.ImageDataAbstract;
|
||||
import net.sourceforge.plantuml.api.ImageDataComplex;
|
||||
import net.sourceforge.plantuml.api.ImageDataSimple;
|
||||
import net.sourceforge.plantuml.braille.UGraphicBraille;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.eps.EpsStrategy;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.mjpeg.MJPEGGenerator;
|
||||
import net.sourceforge.plantuml.security.ImageIO;
|
||||
import net.sourceforge.plantuml.security.SFile;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.svg.LengthAdjust;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapper;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
@ -87,38 +94,124 @@ import net.sourceforge.plantuml.ugraphic.tikz.UGraphicTikz;
|
||||
import net.sourceforge.plantuml.ugraphic.txt.UGraphicTxt;
|
||||
import net.sourceforge.plantuml.ugraphic.visio.UGraphicVdx;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageParameter.calculateDiagramMargin;
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageParameter.getBackgroundColor;
|
||||
|
||||
public class ImageBuilder {
|
||||
|
||||
private final ImageParameter param;
|
||||
|
||||
private final double top;
|
||||
private final double right;
|
||||
private final double bottom;
|
||||
private final double left;
|
||||
private double top;
|
||||
private double right;
|
||||
private double bottom;
|
||||
private double left;
|
||||
|
||||
private boolean annotations;
|
||||
private HColor backcolor = HColorUtils.WHITE;
|
||||
private final TitledDiagram titledDiagram;
|
||||
private UDrawable udrawable;
|
||||
private final FileFormatOption fileFormatOption;
|
||||
private final long seed;
|
||||
private int status = 0;
|
||||
private String metadata;
|
||||
private boolean randomPixel;
|
||||
private String warningOrError;
|
||||
|
||||
public static ImageBuilder build(ImageParameter imageParameter) {
|
||||
return new ImageBuilder(imageParameter);
|
||||
public static ImageBuilder plainImageBuilder(UDrawable drawable, FileFormatOption fileFormatOption, long seed) {
|
||||
return new ImageBuilder(drawable, null, fileFormatOption, seed, new ImageParameter());
|
||||
}
|
||||
|
||||
private ImageBuilder(ImageParameter imageParameter) {
|
||||
this.param = imageParameter;
|
||||
|
||||
this.top = imageParameter.getMargins().getTop();
|
||||
this.right = imageParameter.getMargins().getRight();
|
||||
this.bottom = imageParameter.getMargins().getBottom();
|
||||
this.left = imageParameter.getMargins().getLeft();
|
||||
|
||||
public static ImageBuilder plainPngBuilder(UDrawable drawable) {
|
||||
return plainImageBuilder(drawable, new FileFormatOption(FileFormat.PNG), 42);
|
||||
}
|
||||
|
||||
public void setUDrawable(UDrawable udrawable) {
|
||||
this.udrawable = udrawable;
|
||||
// TODO do something with "index"
|
||||
public static ImageBuilder styledImageBuilder(TitledDiagram diagram, UDrawable drawable, int index,
|
||||
FileFormatOption fileFormatOption, long seed) {
|
||||
return new ImageBuilder(drawable, diagram, fileFormatOption, seed, new ImageParameter(diagram))
|
||||
.annotations(true)
|
||||
.backcolor(getBackgroundColor(diagram))
|
||||
.margin(calculateDiagramMargin(diagram))
|
||||
.metadata(fileFormatOption.isWithMetadata() ? diagram.getMetadata() : null)
|
||||
.warningOrError(diagram.getWarningOrError());
|
||||
}
|
||||
|
||||
private ImageBuilder(UDrawable drawable, TitledDiagram titledDiagram, FileFormatOption fileFormatOption, long seed, ImageParameter param) {
|
||||
this.udrawable = drawable;
|
||||
this.titledDiagram = titledDiagram;
|
||||
this.fileFormatOption = fileFormatOption;
|
||||
this.seed = seed;
|
||||
this.param = param;
|
||||
|
||||
if (drawable instanceof TextBlockBackcolored) {
|
||||
backcolor = ((TextBlockBackcolored) drawable).getBackcolor();
|
||||
}
|
||||
}
|
||||
|
||||
public ImageBuilder annotations(boolean annotations) {
|
||||
this.annotations = annotations;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ImageBuilder backcolor(HColor backcolor) {
|
||||
this.backcolor = backcolor;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ImageBuilder blackBackcolor() {
|
||||
return backcolor(HColorUtils.BLACK);
|
||||
}
|
||||
|
||||
public ImageBuilder margin(ClockwiseTopRightBottomLeft margin) {
|
||||
this.top = margin.getTop();
|
||||
this.right = margin.getRight();
|
||||
this.bottom = margin.getBottom();
|
||||
this.left = margin.getLeft();
|
||||
return this;
|
||||
}
|
||||
|
||||
public ImageBuilder metadata(String metadata) {
|
||||
this.metadata = metadata;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ImageBuilder randomPixel() {
|
||||
this.randomPixel = true;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ImageBuilder status(int status) {
|
||||
this.status = status;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ImageBuilder warningOrError(String warningOrError) {
|
||||
this.warningOrError = warningOrError;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ImageData write(OutputStream os) throws IOException {
|
||||
if (annotations && titledDiagram != null) {
|
||||
if (!(udrawable instanceof TextBlock)) throw new IllegalStateException("udrawable is not a TextBlock");
|
||||
final ISkinParam skinParam = titledDiagram.getSkinParam();
|
||||
final StringBounder stringBounder = fileFormatOption.getDefaultStringBounder(skinParam);
|
||||
final AnnotatedWorker annotatedWorker = new AnnotatedWorker(titledDiagram, skinParam, stringBounder);
|
||||
udrawable = annotatedWorker.addAdd((TextBlock) udrawable);
|
||||
}
|
||||
final ImageData imageData = writeImageTOBEMOVED(fileFormatOption, seed, os);
|
||||
((ImageDataAbstract) imageData).setStatus(status);
|
||||
return imageData;
|
||||
}
|
||||
|
||||
public byte[] writeByteArray() throws IOException {
|
||||
try (final ByteArrayOutputStream baos = new ByteArrayOutputStream()) {
|
||||
write(baos);
|
||||
return baos.toByteArray();
|
||||
}
|
||||
}
|
||||
|
||||
public ImageData writeImageTOBEMOVED(long seed, OutputStream os) throws IOException {
|
||||
return writeImageTOBEMOVED(param.getFileFormatOption(), seed, os);
|
||||
return writeImageTOBEMOVED(fileFormatOption, seed, os);
|
||||
}
|
||||
|
||||
public ImageData writeImageTOBEMOVED(FileFormatOption fileFormatOption, long seed, OutputStream os)
|
||||
@ -163,14 +256,14 @@ public class ImageBuilder {
|
||||
final UGraphic ugDecored = handwritten(ug2);
|
||||
udrawable.drawU(ugDecored);
|
||||
ugDecored.flushUg();
|
||||
ug.writeImageTOBEMOVED(os, param.getMetadata(), 96);
|
||||
ug.writeImageTOBEMOVED(os, metadata, 96);
|
||||
os.flush();
|
||||
|
||||
if (ug instanceof UGraphicG2d) {
|
||||
final Set<Url> urls = ((UGraphicG2d) ug).getAllUrlsEncountered();
|
||||
if (urls.size() > 0) {
|
||||
final CMapData cmap = CMapData.cmapString(urls, param.getDpi());
|
||||
return new ImageDataComplex(dim, cmap, param.getWarningOrError());
|
||||
return new ImageDataComplex(dim, cmap, warningOrError);
|
||||
}
|
||||
}
|
||||
return new ImageDataSimple(dim);
|
||||
@ -285,10 +378,10 @@ public class ImageBuilder {
|
||||
final FileFormat fileFormat = option.getFileFormat();
|
||||
switch (fileFormat) {
|
||||
case PNG:
|
||||
return createUGraphicPNG(colorMapper, scaleFactor, dim, param.getBackcolor(), animationArg, dx, dy,
|
||||
return createUGraphicPNG(colorMapper, scaleFactor, dim, backcolor, animationArg, dx, dy,
|
||||
option.getWatermark());
|
||||
case SVG:
|
||||
return createUGraphicSVG(colorMapper, scaleFactor, dim, param.getBackcolor(), option.getSvgLinkTarget(),
|
||||
return createUGraphicSVG(colorMapper, scaleFactor, dim, backcolor, option.getSvgLinkTarget(),
|
||||
option.getHoverColor(), seed, option.getPreserveAspectRatio(), param.getlengthAdjust());
|
||||
case EPS:
|
||||
return new UGraphicEps(colorMapper, EpsStrategy.getDefault2());
|
||||
@ -363,9 +456,4 @@ public class ImageBuilder {
|
||||
return ug;
|
||||
}
|
||||
|
||||
public void setRandomPixel(boolean randomPixel) {
|
||||
this.randomPixel = randomPixel;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -37,7 +37,6 @@ package net.sourceforge.plantuml.ugraphic;
|
||||
|
||||
import net.sourceforge.plantuml.ColorParam;
|
||||
import net.sourceforge.plantuml.CornerParam;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.LineParam;
|
||||
import net.sourceforge.plantuml.Scale;
|
||||
@ -53,9 +52,11 @@ import net.sourceforge.plantuml.style.Style;
|
||||
import net.sourceforge.plantuml.style.StyleSignature;
|
||||
import net.sourceforge.plantuml.svg.LengthAdjust;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapper;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
// TODO merge these fields into ImageBuilder
|
||||
public class ImageParameter {
|
||||
|
||||
private final ColorMapper colorMapper;
|
||||
@ -63,10 +64,6 @@ public class ImageParameter {
|
||||
private final Animation animation;
|
||||
private final Scale scale;
|
||||
private int dpi;
|
||||
private final String metadata;
|
||||
private final String warningOrError;
|
||||
private final ClockwiseTopRightBottomLeft margins;
|
||||
private final HColor backcolor;
|
||||
private final boolean svgDimensionStyle;
|
||||
private final SvgCharSizeHack svgCharSizeHack;
|
||||
private final LengthAdjust lengthAdjust;
|
||||
@ -74,19 +71,13 @@ public class ImageParameter {
|
||||
private final UStroke borderStroke;
|
||||
private final HColor borderColor;
|
||||
private final double borderCorner;
|
||||
private final FileFormatOption fileFormatOption;
|
||||
|
||||
public ImageParameter(ColorMapper colorMapper, boolean useHandwritten, Animation animation,
|
||||
String metadata, String warningOrError, ClockwiseTopRightBottomLeft margins, HColor backcolor) {
|
||||
this.colorMapper = colorMapper;
|
||||
this.useHandwritten = useHandwritten;
|
||||
this.animation = animation;
|
||||
public ImageParameter() {
|
||||
this.colorMapper = new ColorMapperIdentity();
|
||||
this.useHandwritten = false;
|
||||
this.animation = null;
|
||||
this.scale = null;
|
||||
this.dpi = 96;
|
||||
this.metadata = metadata;
|
||||
this.warningOrError = warningOrError;
|
||||
this.margins = margins;
|
||||
this.backcolor = backcolor;
|
||||
this.svgDimensionStyle = true;
|
||||
|
||||
this.borderColor = null;
|
||||
@ -94,20 +85,9 @@ public class ImageParameter {
|
||||
this.borderStroke = null;
|
||||
this.svgCharSizeHack = SvgCharSizeHack.NO_HACK;
|
||||
this.lengthAdjust = LengthAdjust.defaultValue();
|
||||
this.fileFormatOption = null;
|
||||
}
|
||||
|
||||
public ImageParameter(TitledDiagram diagram, FileFormatOption fileFormatOption) {
|
||||
this(
|
||||
diagram,
|
||||
fileFormatOption,
|
||||
fileFormatOption.isWithMetadata() ? diagram.getMetadata() : null,
|
||||
diagram.getWarningOrError(),
|
||||
getBackgroundColor(diagram)
|
||||
);
|
||||
}
|
||||
|
||||
private static HColor getBackgroundColor(TitledDiagram diagram) {
|
||||
public static HColor getBackgroundColor(TitledDiagram diagram) {
|
||||
if (UseStyle.useBetaStyle()) {
|
||||
final Style style = StyleSignature
|
||||
.of(SName.root, SName.document, diagram.getUmlDiagramType().getStyleName())
|
||||
@ -124,19 +104,13 @@ public class ImageParameter {
|
||||
return diagram.getSkinParam().getBackgroundColor(false);
|
||||
}
|
||||
|
||||
public ImageParameter(TitledDiagram diagram, FileFormatOption fileFormatOption, String metadata,
|
||||
String warningOrError, HColor backcolor) {
|
||||
public ImageParameter(TitledDiagram diagram) {
|
||||
final ISkinParam skinParam = diagram.getSkinParam();
|
||||
this.fileFormatOption = fileFormatOption;
|
||||
this.colorMapper = skinParam.getColorMapper();
|
||||
this.useHandwritten = skinParam.handwritten();
|
||||
this.animation = diagram.getAnimation();
|
||||
this.scale = diagram.getScale();
|
||||
this.dpi = skinParam.getDpi();
|
||||
this.metadata = metadata;
|
||||
this.warningOrError = warningOrError;
|
||||
this.margins = calculateDiagramMargin(diagram);
|
||||
this.backcolor = backcolor;
|
||||
this.svgDimensionStyle = skinParam.svgDimensionStyle();
|
||||
|
||||
final Rose rose = new Rose();
|
||||
@ -174,22 +148,6 @@ public class ImageParameter {
|
||||
return dpi;
|
||||
}
|
||||
|
||||
public final String getMetadata() {
|
||||
return metadata;
|
||||
}
|
||||
|
||||
public final String getWarningOrError() {
|
||||
return warningOrError;
|
||||
}
|
||||
|
||||
public final ClockwiseTopRightBottomLeft getMargins() {
|
||||
return margins;
|
||||
}
|
||||
|
||||
public final HColor getBackcolor() {
|
||||
return backcolor;
|
||||
}
|
||||
|
||||
public final boolean isSvgDimensionStyle() {
|
||||
return svgDimensionStyle;
|
||||
}
|
||||
@ -214,11 +172,7 @@ public class ImageParameter {
|
||||
return lengthAdjust;
|
||||
}
|
||||
|
||||
public FileFormatOption getFileFormatOption() {
|
||||
return fileFormatOption;
|
||||
}
|
||||
|
||||
private static ClockwiseTopRightBottomLeft calculateDiagramMargin(TitledDiagram diagram) {
|
||||
public static ClockwiseTopRightBottomLeft calculateDiagramMargin(TitledDiagram diagram) {
|
||||
if (UseStyle.useBetaStyle()) {
|
||||
final Style style = StyleSignature.of(SName.root, SName.document)
|
||||
.getMergedStyle(diagram.getSkinParam().getCurrentStyleBuilder());
|
||||
|
@ -37,35 +37,27 @@ package net.sourceforge.plantuml.version;
|
||||
import java.awt.Color;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.security.NoSuchAlgorithmException;
|
||||
import java.security.spec.InvalidKeySpecException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.SignatureUtils;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.flashcode.FlashCodeFactory;
|
||||
import net.sourceforge.plantuml.flashcode.FlashCodeUtils;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.AffineTransformType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.PixelImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
public class PSystemKeycheck extends AbstractPSystem {
|
||||
public class PSystemKeycheck extends PlainDiagram {
|
||||
|
||||
final private String key;
|
||||
final private String sig;
|
||||
@ -76,14 +68,8 @@ public class PSystemKeycheck extends AbstractPSystem {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
imageBuilder.setUDrawable(new UDrawable() {
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) {
|
||||
return new UDrawable() {
|
||||
public void drawU(UGraphic ug) {
|
||||
try {
|
||||
drawInternal(ug);
|
||||
@ -91,8 +77,7 @@ public class PSystemKeycheck extends AbstractPSystem {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
};
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
|
@ -37,35 +37,27 @@ package net.sourceforge.plantuml.version;
|
||||
import java.awt.Color;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.prefs.BackingStoreException;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.SignatureUtils;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.flashcode.FlashCodeFactory;
|
||||
import net.sourceforge.plantuml.flashcode.FlashCodeUtils;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.security.SFile;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.ugraphic.AffineTransformType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.PixelImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColorUtils;
|
||||
|
||||
public class PSystemKeygen extends AbstractPSystem {
|
||||
public class PSystemKeygen extends PlainDiagram {
|
||||
|
||||
final private String key;
|
||||
|
||||
@ -74,14 +66,8 @@ public class PSystemKeygen extends AbstractPSystem {
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
HColor backcolor = HColorUtils.WHITE;
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
|
||||
imageBuilder.setUDrawable(new UDrawable() {
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) {
|
||||
return new UDrawable() {
|
||||
public void drawU(UGraphic ug) {
|
||||
try {
|
||||
drawInternal(ug);
|
||||
@ -89,8 +75,7 @@ public class PSystemKeygen extends AbstractPSystem {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
});
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
};
|
||||
}
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
|
@ -36,37 +36,26 @@ package net.sourceforge.plantuml.version;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.PlainDiagram;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.graphic.UDrawable;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.AffineTransformType;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.PixelImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UImage;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
|
||||
public class PSystemLicense extends AbstractPSystem implements UDrawable {
|
||||
public class PSystemLicense extends PlainDiagram implements UDrawable {
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), null);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(this);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
protected UDrawable getRootDrawable(FileFormatOption fileFormatOption) {
|
||||
return this;
|
||||
}
|
||||
|
||||
public static PSystemLicense create() throws IOException {
|
||||
|
@ -37,22 +37,17 @@ package net.sourceforge.plantuml.version;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AbstractPSystem;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.OptionFlags;
|
||||
import net.sourceforge.plantuml.OptionPrint;
|
||||
import net.sourceforge.plantuml.PlainStringsDiagram;
|
||||
import net.sourceforge.plantuml.Run;
|
||||
import net.sourceforge.plantuml.core.DiagramDescription;
|
||||
import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.cucadiagram.dot.GraphvizUtils;
|
||||
import net.sourceforge.plantuml.dedication.Dedication;
|
||||
import net.sourceforge.plantuml.graphic.GraphicPosition;
|
||||
import net.sourceforge.plantuml.graphic.GraphicStrings;
|
||||
import net.sourceforge.plantuml.preproc.ImportedFiles;
|
||||
import net.sourceforge.plantuml.preproc.Stdlib;
|
||||
import net.sourceforge.plantuml.preproc2.PreprocessorUtils;
|
||||
@ -60,29 +55,24 @@ import net.sourceforge.plantuml.security.ImageIO;
|
||||
import net.sourceforge.plantuml.security.SFile;
|
||||
import net.sourceforge.plantuml.security.SecurityProfile;
|
||||
import net.sourceforge.plantuml.security.SecurityUtils;
|
||||
import net.sourceforge.plantuml.style.ClockwiseTopRightBottomLeft;
|
||||
import net.sourceforge.plantuml.svek.GraphvizCrash;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.color.ColorMapperIdentity;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
public class PSystemVersion extends AbstractPSystem {
|
||||
import static net.sourceforge.plantuml.graphic.GraphicPosition.BACKGROUND_CORNER_BOTTOM_RIGHT;
|
||||
|
||||
private final List<String> strings = new ArrayList<String>();
|
||||
private BufferedImage image;
|
||||
public class PSystemVersion extends PlainStringsDiagram {
|
||||
|
||||
PSystemVersion(boolean withImage, List<String> args) {
|
||||
this.strings.addAll(args);
|
||||
if (withImage) {
|
||||
this.image = getPlantumlImage();
|
||||
this.imagePosition = BACKGROUND_CORNER_BOTTOM_RIGHT;
|
||||
}
|
||||
}
|
||||
|
||||
private PSystemVersion(List<String> args, BufferedImage image) {
|
||||
this.strings.addAll(args);
|
||||
this.image = image;
|
||||
this.imagePosition = BACKGROUND_CORNER_BOTTOM_RIGHT;
|
||||
}
|
||||
|
||||
public static BufferedImage getPlantumlImage() {
|
||||
@ -167,19 +157,6 @@ public class PSystemVersion extends AbstractPSystem {
|
||||
return transparentIcon;
|
||||
}
|
||||
|
||||
@Override
|
||||
final protected ImageData exportDiagramNow(OutputStream os, int num, FileFormatOption fileFormat, long seed)
|
||||
throws IOException {
|
||||
final TextBlockBackcolored result = GraphicStrings.createBlackOnWhite(strings, image,
|
||||
GraphicPosition.BACKGROUND_CORNER_BOTTOM_RIGHT);
|
||||
HColor backcolor = result.getBackcolor();
|
||||
final ImageParameter imageParameter = new ImageParameter(new ColorMapperIdentity(), false, null,
|
||||
getMetadata(), null, ClockwiseTopRightBottomLeft.none(), backcolor);
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
imageBuilder.setUDrawable(result);
|
||||
return imageBuilder.writeImageTOBEMOVED(fileFormat, seed, os);
|
||||
}
|
||||
|
||||
public static PSystemVersion createShowVersion() {
|
||||
final List<String> strings = new ArrayList<String>();
|
||||
strings.add("<b>PlantUML version " + Version.versionString() + "</b> (" + Version.compileTimeString() + ")");
|
||||
|
@ -40,10 +40,8 @@ import java.awt.geom.Rectangle2D;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.Direction;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.UmlDiagram;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
import net.sourceforge.plantuml.command.CommandExecutionResult;
|
||||
@ -59,12 +57,12 @@ import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.mindmap.IdeaShape;
|
||||
import net.sourceforge.plantuml.style.NoStyleAvailableException;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class WBSDiagram extends UmlDiagram {
|
||||
|
||||
public DiagramDescription getDescription() {
|
||||
@ -79,17 +77,8 @@ public class WBSDiagram extends UmlDiagram {
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
|
||||
final ISkinParam skinParam = getSkinParam();
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
TextBlock result = getTextBlock();
|
||||
|
||||
result = new AnnotatedWorker(this, skinParam, fileFormatOption.getDefaultStringBounder(getSkinParam()))
|
||||
.addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, getTextBlock(), index, fileFormatOption, seed())
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getTextBlock() {
|
||||
|
@ -42,10 +42,8 @@ import java.io.OutputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.sourceforge.plantuml.AnnotatedWorker;
|
||||
import net.sourceforge.plantuml.FileFormat;
|
||||
import net.sourceforge.plantuml.FileFormatOption;
|
||||
import net.sourceforge.plantuml.ISkinParam;
|
||||
import net.sourceforge.plantuml.TikzFontDistortion;
|
||||
import net.sourceforge.plantuml.UmlDiagram;
|
||||
import net.sourceforge.plantuml.UmlDiagramType;
|
||||
@ -55,15 +53,14 @@ import net.sourceforge.plantuml.core.ImageData;
|
||||
import net.sourceforge.plantuml.cucadiagram.Display;
|
||||
import net.sourceforge.plantuml.graphic.InnerStrategy;
|
||||
import net.sourceforge.plantuml.graphic.StringBounder;
|
||||
import net.sourceforge.plantuml.graphic.TextBlock;
|
||||
import net.sourceforge.plantuml.svek.TextBlockBackcolored;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageBuilder;
|
||||
import net.sourceforge.plantuml.ugraphic.ImageParameter;
|
||||
import net.sourceforge.plantuml.ugraphic.MinMax;
|
||||
import net.sourceforge.plantuml.ugraphic.UGraphic;
|
||||
import net.sourceforge.plantuml.ugraphic.UTranslate;
|
||||
import net.sourceforge.plantuml.ugraphic.color.HColor;
|
||||
|
||||
import static net.sourceforge.plantuml.ugraphic.ImageBuilder.styledImageBuilder;
|
||||
|
||||
public class WireDiagram extends UmlDiagram {
|
||||
|
||||
private final WBlock root = new WBlock("", new UTranslate(), 0, 0, null);
|
||||
@ -83,17 +80,8 @@ public class WireDiagram extends UmlDiagram {
|
||||
protected ImageData exportDiagramInternal(OutputStream os, int index, FileFormatOption fileFormatOption)
|
||||
throws IOException {
|
||||
|
||||
final ISkinParam skinParam = getSkinParam();
|
||||
final ImageParameter imageParameter = new ImageParameter(this, fileFormatOption);
|
||||
|
||||
final ImageBuilder imageBuilder = ImageBuilder.build(imageParameter);
|
||||
TextBlock result = getTextBlock();
|
||||
|
||||
result = new AnnotatedWorker(this, skinParam, fileFormatOption.getDefaultStringBounder(getSkinParam()))
|
||||
.addAdd(result);
|
||||
imageBuilder.setUDrawable(result);
|
||||
|
||||
return imageBuilder.writeImageTOBEMOVED(seed(), os);
|
||||
return styledImageBuilder(this, getTextBlock(), index, fileFormatOption, seed())
|
||||
.write(os);
|
||||
}
|
||||
|
||||
private TextBlockBackcolored getTextBlock() {
|
||||
|
Loading…
Reference in New Issue
Block a user