|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectstandup.clouds.CloudLabel
public class CloudLabel
An instance of this class specifies the caption, layout, symbols, and speech
of a label that can be associated with a Captionable
element.
A CloudLabel
has a List<CloudLabelSegment>
of
CloudLabelSegment
s.
A CloudLabel
has an array of STANDUPSpeakable
s for speech
synthesis purposes.
Field Summary | |
---|---|
protected STANDUPSpeakable[] |
customSpeechSegments
|
private static double |
DEFAULT_IMAGE_HEIGHT_AS_RATIO_OF_A
|
private static int |
DEFAULT_IMAGE_HEIGHT_GAP
|
private static int |
DEFAULT_IMAGE_WIDTH_GAP
|
private List<CloudLabelSegment> |
segments
|
Constructor Summary | |
---|---|
CloudLabel()
A default empty BubbleLabel. |
|
CloudLabel(CloudLabelSegment seg)
|
|
CloudLabel(JokeStructure joke,
CloudLabelJokeDisplay jd,
SymbolType[] _st)
BubbleLabel for a JokeStructure. |
|
CloudLabel(JokeStructure joke,
SymbolType[] _st)
Default BubbleLabel for a JokeStructure, which just shows the question. |
|
CloudLabel(String text)
A default BubbleLabel with just a plain text String. |
|
CloudLabel(String prefix,
Lexeme lex,
SymbolType[] _st,
Color c)
|
|
CloudLabel(String prefix,
Topic topic,
SymbolType[] _st,
Color c)
|
Method Summary | |
---|---|
void |
addLabel(CloudLabel label)
|
void |
addSegment(CloudLabelSegment segment)
|
private void |
addSymbols(BufferedImage[] images,
Dimension[] dimensions,
double widthForImages,
double segmentWidth,
List<StuffToRender> lineOfStuff,
double startX,
double startY)
|
private Dimension |
calculateScaledDimension(BufferedImage img,
double intendedHeight)
|
private void |
capitalize(List<CloudLabelSegment> seg)
|
private List<STANDUPSpeakable> |
compressSpeakables(List<STANDUPSpeakable> oldSegments)
|
boolean |
equals(Object arg0)
|
private List<CloudLabelSegment> |
getBubbleLabelSegment(WordStruct _ws,
SymbolType[] _st)
Returns a BubbleLabelSegment for a WordStruct |
private TextLayout[] |
getLayoutsForSegment(BubbleLabelSegmentString seg,
Font font,
Font fontEmph,
FontRenderContext fontRenderContext)
|
String |
getPlainText()
|
Object[] |
getRectPCSTextOnALine(FontRenderContext frc,
CloudLabelSegment[] segs,
int wrappingWidth,
int maxHeight,
SymbolSupport symSupp,
float fontSizeFirstGuess)
|
Object[] |
getRectPCSTextPerLine(FontRenderContext frc,
CloudLabelSegment[] segs,
int wrappingWidth,
int maxHeight,
SymbolSupport symSupp,
float fontSizefirstGuess)
Performs layout of given BubbleLabelSegments to fit in the space defined by wrappingWidth x maxHeight |
CloudLabelSegment[] |
getSegments()
|
private List<STANDUPSpeakable> |
getSpeakables(WordStruct _ws)
|
(package private) STANDUPSpeakable[] |
getSpeechSegments()
|
private boolean |
isStartOfPseudoLexeme(List<? extends StructElement> ws,
int ii)
|
private Object[] |
layoutBubbleLabelSegments(FontRenderContext frc,
CloudLabelSegment[] segs,
int boundingWidth,
int boundingHeight,
Font font,
Font fontEmph,
SymbolSupport symSupp,
int imageWidthGap,
int imageHeightGap)
this is an improved algorithm: -it handles segments with multiple images -it no longer breaks a segment between lines! this really assumes that the segment lengths will be short enough w.r.t. |
private Object[] |
layoutBubbleLabelSegmentsOnALine(FontRenderContext frc,
CloudLabelSegment[] segs,
int boundingWidth,
int boundingHeight,
Font font,
Font fontEmph,
SymbolSupport symSupp,
int imageWidthGap,
int imageHeightGap)
|
private void |
lineBreak(List<StuffToRender> line,
List<StuffToRender> all,
boolean shiftDown,
int distance)
|
private boolean |
satisfies(SymbolSupport minSymSupp,
SymbolSupport currentlySetSymSupp)
|
(package private) void |
setSpeechSegments()
Override this method to get a custom speech segments. |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected STANDUPSpeakable[] customSpeechSegments
private final List<CloudLabelSegment> segments
private static final double DEFAULT_IMAGE_HEIGHT_AS_RATIO_OF_A
private static final int DEFAULT_IMAGE_WIDTH_GAP
private static final int DEFAULT_IMAGE_HEIGHT_GAP
Constructor Detail |
---|
public CloudLabel(JokeStructure joke, SymbolType[] _st)
public CloudLabel(JokeStructure joke, CloudLabelJokeDisplay jd, SymbolType[] _st)
public CloudLabel(String prefix, Topic topic, SymbolType[] _st, Color c)
public CloudLabel(String prefix, Lexeme lex, SymbolType[] _st, Color c)
public CloudLabel(CloudLabelSegment seg)
public CloudLabel(String text)
text
- public CloudLabel()
Method Detail |
---|
STANDUPSpeakable[] getSpeechSegments()
void setSpeechSegments()
private List<STANDUPSpeakable> compressSpeakables(List<STANDUPSpeakable> oldSegments)
private boolean isStartOfPseudoLexeme(List<? extends StructElement> ws, int ii)
private List<STANDUPSpeakable> getSpeakables(WordStruct _ws)
private List<CloudLabelSegment> getBubbleLabelSegment(WordStruct _ws, SymbolType[] _st)
private void capitalize(List<CloudLabelSegment> seg)
public String getPlainText()
public CloudLabelSegment[] getSegments()
public void addSegment(CloudLabelSegment segment)
public void addLabel(CloudLabel label)
public boolean equals(Object arg0)
equals
in class Object
public Object[] getRectPCSTextPerLine(FontRenderContext frc, CloudLabelSegment[] segs, int wrappingWidth, int maxHeight, SymbolSupport symSupp, float fontSizefirstGuess)
g2
- segs
- wrappingWidth
- maxHeight
- symSupp
-
public Object[] getRectPCSTextOnALine(FontRenderContext frc, CloudLabelSegment[] segs, int wrappingWidth, int maxHeight, SymbolSupport symSupp, float fontSizeFirstGuess)
private Dimension calculateScaledDimension(BufferedImage img, double intendedHeight)
private TextLayout[] getLayoutsForSegment(BubbleLabelSegmentString seg, Font font, Font fontEmph, FontRenderContext fontRenderContext)
private boolean satisfies(SymbolSupport minSymSupp, SymbolSupport currentlySetSymSupp)
private Object[] layoutBubbleLabelSegments(FontRenderContext frc, CloudLabelSegment[] segs, int boundingWidth, int boundingHeight, Font font, Font fontEmph, SymbolSupport symSupp, int imageWidthGap, int imageHeightGap)
segments
- width
- height
-
private Object[] layoutBubbleLabelSegmentsOnALine(FontRenderContext frc, CloudLabelSegment[] segs, int boundingWidth, int boundingHeight, Font font, Font fontEmph, SymbolSupport symSupp, int imageWidthGap, int imageHeightGap)
private void addSymbols(BufferedImage[] images, Dimension[] dimensions, double widthForImages, double segmentWidth, List<StuffToRender> lineOfStuff, double startX, double startY)
private void lineBreak(List<StuffToRender> line, List<StuffToRender> all, boolean shiftDown, int distance)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |