X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Fdata%2FParagraph.java;h=9adc51c420e815492858adbcffbd1b606dab7eda;hp=a731c328ce0a2ef4a0bc373689fe275c2abfb663;hb=8b152e7b4b89b6bda319c96a1371e766b8a51adc;hpb=2a25f7814eec9854022f1c9dee188bfbdb955591 diff --git a/src/be/nikiroo/fanfix/data/Paragraph.java b/src/be/nikiroo/fanfix/data/Paragraph.java index a731c32..9adc51c 100644 --- a/src/be/nikiroo/fanfix/data/Paragraph.java +++ b/src/be/nikiroo/fanfix/data/Paragraph.java @@ -1,13 +1,17 @@ package be.nikiroo.fanfix.data; -import java.awt.image.BufferedImage; +import java.io.Serializable; + +import be.nikiroo.utils.Image; /** * A paragraph in a chapter of the story. * * @author niki */ -public class Paragraph { +public class Paragraph implements Cloneable, Serializable { + private static final long serialVersionUID = 1L; + /** * A paragraph type, that will dictate how the paragraph will be handled. * @@ -23,12 +27,24 @@ public class Paragraph { /** Quotation (dialogue) */ QUOTE, /** An image (no text) */ - IMAGE, + IMAGE, ; + + /** + * This paragraph type is of a text kind (quote or not). + * + * @param allowEmpty + * allow empty text as text, too (blanks, breaks...) + * @return TRUE if it is + */ + public boolean isText(boolean allowEmpty) { + return (this == NORMAL || this == QUOTE) + || (allowEmpty && (this == BLANK || this == BREAK)); + } } private ParagraphType type; private String content; - private BufferedImage contentImage; + private Image contentImage; private long words; /** @@ -45,7 +61,7 @@ public class Paragraph { * @param contentImage * the image */ - public Paragraph(BufferedImage contentImage) { + public Paragraph(Image contentImage) { this(ParagraphType.IMAGE, null, 1); this.contentImage = contentImage; } @@ -109,7 +125,7 @@ public class Paragraph { * * @return the content */ - public BufferedImage getContentImage() { + public Image getContentImage() { return contentImage; } @@ -137,6 +153,20 @@ public class Paragraph { */ @Override public String toString() { - return String.format("%s: [%s]", "" + type, "" + content); + return String.format("%s: [%s]", "" + type, content == null ? "N/A" + : content); + } + + @Override + public Paragraph clone() { + Paragraph para = null; + try { + para = (Paragraph) super.clone(); + } catch (CloneNotSupportedException e) { + // Did the clones rebel? + System.err.println(e); + } + + return para; } }