1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-05 02:39:23 +02:00

refactoring: no ZLTextStyleCollection.Instance() method

This commit is contained in:
Nikolay Pultsin 2013-12-10 01:45:20 +00:00
parent cbf9443c8d
commit 936b92d0ec
13 changed files with 112 additions and 110 deletions

View file

@ -166,7 +166,7 @@ public class PreferenceActivity extends ZLPreferenceActivity {
fontPropertiesScreen.addOption(ZLAndroidPaintContext.DitheringOption, "dithering");
fontPropertiesScreen.addOption(ZLAndroidPaintContext.SubpixelOption, "subpixel");
final ZLTextStyleCollection collection = ZLTextStyleCollection.Instance();
final ZLTextStyleCollection collection = fbReader.TextStyleCollection;
final ZLTextBaseStyle baseStyle = collection.getBaseStyle();
textScreen.addPreference(new FontOption(
this, textScreen.Resource, "font",
@ -316,8 +316,8 @@ public class PreferenceActivity extends ZLPreferenceActivity {
final ZLPreferenceSet bgPreferences = new ZLPreferenceSet();
final Screen cssScreen = createPreferenceScreen("css");
cssScreen.addOption(collection.UseCSSFontSizeOption, "fontSize");
cssScreen.addOption(collection.UseCSSTextAlignmentOption, "textAlignment");
cssScreen.addOption(baseStyle.UseCSSFontSizeOption, "fontSize");
cssScreen.addOption(baseStyle.UseCSSTextAlignmentOption, "textAlignment");
final Screen colorsScreen = createPreferenceScreen("colors");

View file

@ -20,7 +20,6 @@
package org.geometerplus.fbreader.fbreader;
import org.geometerplus.zlibrary.core.options.ZLIntegerRangeOption;
import org.geometerplus.zlibrary.text.view.style.ZLTextStyleCollection;
class ChangeFontSizeAction extends FBAction {
private final int myDelta;
@ -33,7 +32,7 @@ class ChangeFontSizeAction extends FBAction {
@Override
protected void run(Object ... params) {
final ZLIntegerRangeOption option =
ZLTextStyleCollection.Instance().getBaseStyle().FontSizeOption;
Reader.TextStyleCollection.getBaseStyle().FontSizeOption;
option.setValue(option.getValue() + myDelta);
Reader.clearTextCaches();
Reader.getViewWidget().repaint();

View file

@ -30,12 +30,15 @@ import org.geometerplus.zlibrary.core.util.*;
import org.geometerplus.zlibrary.text.hyphenation.ZLTextHyphenator;
import org.geometerplus.zlibrary.text.model.ZLTextModel;
import org.geometerplus.zlibrary.text.view.*;
import org.geometerplus.zlibrary.text.view.style.ZLTextStyleCollection;
import org.geometerplus.fbreader.book.*;
import org.geometerplus.fbreader.bookmodel.*;
import org.geometerplus.fbreader.fbreader.options.*;
public final class FBReaderApp extends ZLApplication {
public final ZLTextStyleCollection TextStyleCollection = new ZLTextStyleCollection("Base");
public final ZLBooleanOption AllowScreenBrightnessAdjustmentOption =
new ZLBooleanOption("LookNFeel", "AllowScreenBrightnessAdjustment", true);
public final ZLStringOption TextSearchPatternOption =

View file

@ -29,6 +29,7 @@ import org.geometerplus.zlibrary.core.filesystem.ZLResourceFile;
import org.geometerplus.zlibrary.text.model.ZLTextModel;
import org.geometerplus.zlibrary.text.view.*;
import org.geometerplus.zlibrary.text.view.style.ZLTextStyleCollection;
import org.geometerplus.fbreader.bookmodel.BookModel;
import org.geometerplus.fbreader.bookmodel.FBHyperlinkType;
@ -337,6 +338,11 @@ public final class FBView extends ZLTextView {
return true;
}
@Override
public ZLTextStyleCollection getTextStyleCollection() {
return myReader.TextStyleCollection;
}
@Override
public ImageFitting getImageFitting() {
return myReader.FitImagesToScreenOption.getValue();

View file

@ -22,11 +22,11 @@ package org.geometerplus.zlibrary.text.view;
import org.geometerplus.zlibrary.text.model.ZLTextMetrics;
public abstract class ZLTextStyle {
public final ZLTextStyle Base;
public final ZLTextStyle Parent;
public final ZLTextHyperlink Hyperlink;
protected ZLTextStyle(ZLTextStyle base, ZLTextHyperlink hyperlink) {
Base = base != null ? base : this;
protected ZLTextStyle(ZLTextStyle parent, ZLTextHyperlink hyperlink) {
Parent = parent != null ? parent : this;
Hyperlink = hyperlink;
}

View file

@ -628,7 +628,7 @@ public abstract class ZLTextView extends ZLTextViewBase {
// Can be called only when (myModel.getParagraphsNumber() != 0)
private synchronized float computeCharsPerPage() {
setTextStyle(ZLTextStyleCollection.Instance().getBaseStyle());
setTextStyle(getTextStyleCollection().getBaseStyle());
final int textWidth = getTextColumnWidth();
final int textHeight = getTextAreaHeight();
@ -993,7 +993,7 @@ public abstract class ZLTextView extends ZLTextViewBase {
}
private boolean isHyphenationPossible() {
return ZLTextStyleCollection.Instance().getBaseStyle().AutoHyphenationOption.getValue()
return getTextStyleCollection().getBaseStyle().AutoHyphenationOption.getValue()
&& getTextStyle().allowHyphenations();
}

View file

@ -41,7 +41,6 @@ abstract class ZLTextViewBase extends ZLView {
ZLTextViewBase(ZLApplication application) {
super(application);
resetTextStyle();
}
protected void resetMetrics() {
@ -50,7 +49,7 @@ abstract class ZLTextViewBase extends ZLView {
private ZLTextMetrics metrics() {
if (myMetrics == null) {
final ZLTextStyleCollection collection = ZLTextStyleCollection.Instance();
final ZLTextStyleCollection collection = getTextStyleCollection();
final ZLTextBaseStyle base = collection.getBaseStyle();
myMetrics = new ZLTextMetrics(
ZLibrary.Instance().getDisplayDPI(),
@ -75,6 +74,8 @@ abstract class ZLTextViewBase extends ZLView {
return myWordHeight;
}
public abstract ZLTextStyleCollection getTextStyleCollection();
public abstract ImageFitting getImageFitting();
public abstract int getLeftMargin();
@ -108,6 +109,9 @@ abstract class ZLTextViewBase extends ZLView {
}
final ZLTextStyle getTextStyle() {
if (myTextStyle == null) {
resetTextStyle();
}
return myTextStyle;
}
@ -120,7 +124,7 @@ abstract class ZLTextViewBase extends ZLView {
}
final void resetTextStyle() {
setTextStyle(ZLTextStyleCollection.Instance().getBaseStyle());
setTextStyle(getTextStyleCollection().getBaseStyle());
}
boolean isStyleChangeElement(ZLTextElement element) {
@ -149,14 +153,14 @@ abstract class ZLTextViewBase extends ZLView {
private void applyControl(ZLTextControlElement control) {
if (control.IsStart) {
final ZLTextStyleDecoration decoration =
ZLTextStyleCollection.Instance().getDecoration(control.Kind);
getTextStyleCollection().getDecoration(control.Kind);
if (control instanceof ZLTextHyperlinkControlElement) {
setTextStyle(decoration.createDecoratedStyle(myTextStyle, ((ZLTextHyperlinkControlElement)control).Hyperlink));
} else {
setTextStyle(decoration.createDecoratedStyle(myTextStyle));
}
} else {
setTextStyle(myTextStyle.Base);
setTextStyle(myTextStyle.Parent);
}
}
@ -165,7 +169,7 @@ abstract class ZLTextViewBase extends ZLView {
}
private void applyStyleClose() {
setTextStyle(myTextStyle.Base);
setTextStyle(myTextStyle.Parent);
}
protected final ZLPaintContext.ScalingType getScalingType(ZLTextImageElement imageElement) {

View file

@ -31,30 +31,35 @@ public class ZLTextBaseStyle extends ZLTextStyle {
private static final String GROUP = "Style";
private static final String OPTIONS = "Options";
public final ZLBooleanOption UseCSSTextAlignmentOption =
new ZLBooleanOption("Style", "css:textAlignment", true);
public final ZLBooleanOption UseCSSFontSizeOption =
new ZLBooleanOption("Style", "css:fontSize", true);
public final ZLBooleanOption AutoHyphenationOption =
new ZLBooleanOption(OPTIONS, "AutoHyphenation", true);
public final ZLBooleanOption BoldOption =
new ZLBooleanOption(GROUP, "Base:bold", false);
public final ZLBooleanOption ItalicOption =
new ZLBooleanOption(GROUP, "Base:italic", false);
public final ZLBooleanOption UnderlineOption =
new ZLBooleanOption(GROUP, "Base:underline", false);
public final ZLBooleanOption StrikeThroughOption =
new ZLBooleanOption(GROUP, "Base:strikeThrough", false);
public final ZLIntegerRangeOption AlignmentOption =
new ZLIntegerRangeOption(GROUP, "Base:alignment", 1, 4, ZLTextAlignmentType.ALIGN_JUSTIFY);
public final ZLIntegerRangeOption LineSpaceOption =
new ZLIntegerRangeOption(GROUP, "Base:lineSpacing", 5, 20, 12);
public final ZLBooleanOption BoldOption;
public final ZLBooleanOption ItalicOption;
public final ZLBooleanOption UnderlineOption;
public final ZLBooleanOption StrikeThroughOption;
public final ZLIntegerRangeOption AlignmentOption;
public final ZLIntegerRangeOption LineSpaceOption;
public final ZLStringOption FontFamilyOption;
public final ZLIntegerRangeOption FontSizeOption;
public ZLTextBaseStyle(String fontFamily, int fontSize) {
public ZLTextBaseStyle(String prefix, String fontFamily, int fontSize) {
super(null, ZLTextHyperlink.NO_LINK);
FontFamilyOption = new ZLStringOption(GROUP, "Base:fontFamily", fontFamily);
FontFamilyOption = new ZLStringOption(GROUP, prefix + ":fontFamily", fontFamily);
fontSize = fontSize * ZLibrary.Instance().getDisplayDPI() / 320 * 2;
FontSizeOption = new ZLIntegerRangeOption(GROUP, "Base:fontSize", 5, Math.max(144, fontSize * 2), fontSize);
FontSizeOption = new ZLIntegerRangeOption(GROUP, prefix + ":fontSize", 5, Math.max(144, fontSize * 2), fontSize);
BoldOption = new ZLBooleanOption(GROUP, prefix + ":bold", false);
ItalicOption = new ZLBooleanOption(GROUP, prefix + ":italic", false);
UnderlineOption = new ZLBooleanOption(GROUP, prefix + ":underline", false);
StrikeThroughOption = new ZLBooleanOption(GROUP, prefix + ":strikeThrough", false);
AlignmentOption = new ZLIntegerRangeOption(GROUP, prefix + ":alignment", 1, 4, ZLTextAlignmentType.ALIGN_JUSTIFY);
LineSpaceOption = new ZLIntegerRangeOption(GROUP, prefix + ":lineSpacing", 5, 20, 12);
}
@Override

View file

@ -26,6 +26,8 @@ import org.geometerplus.zlibrary.text.view.ZLTextHyperlink;
public abstract class ZLTextDecoratedStyle extends ZLTextStyle {
// fields to be cached
protected final ZLTextBaseStyle BaseStyle;
private String myFontFamily;
private boolean myIsItalic;
private boolean myIsBold;
@ -40,6 +42,9 @@ public abstract class ZLTextDecoratedStyle extends ZLTextStyle {
protected ZLTextDecoratedStyle(ZLTextStyle base, ZLTextHyperlink hyperlink) {
super(base, (hyperlink != null) ? hyperlink : base.Hyperlink);
BaseStyle = base instanceof ZLTextBaseStyle
? (ZLTextBaseStyle)base
: ((ZLTextDecoratedStyle)base).BaseStyle;
}
private void initCache() {

View file

@ -27,8 +27,8 @@ import org.geometerplus.zlibrary.text.view.ZLTextStyle;
public class ZLTextExplicitlyDecoratedStyle extends ZLTextDecoratedStyle implements ZLTextStyleEntry.Feature, ZLTextStyleEntry.FontModifier {
private final ZLTextStyleEntry myEntry;
public ZLTextExplicitlyDecoratedStyle(ZLTextStyle base, ZLTextStyleEntry entry) {
super(base, base.Hyperlink);
public ZLTextExplicitlyDecoratedStyle(ZLTextStyle parent, ZLTextStyleEntry entry) {
super(parent, parent.Hyperlink);
myEntry = entry;
}
@ -37,29 +37,28 @@ public class ZLTextExplicitlyDecoratedStyle extends ZLTextDecoratedStyle impleme
if (myEntry.isFeatureSupported(FONT_FAMILY)) {
// TODO: implement
}
return Base.getFontFamily();
return Parent.getFontFamily();
}
@Override
protected int getFontSizeInternal(ZLTextMetrics metrics) {
if (myEntry instanceof ZLTextCSSStyleEntry &&
!ZLTextStyleCollection.Instance().UseCSSFontSizeOption.getValue()) {
return Base.getFontSize(metrics);
if (myEntry instanceof ZLTextCSSStyleEntry && !BaseStyle.UseCSSFontSizeOption.getValue()) {
return Parent.getFontSize(metrics);
}
if (myEntry.isFeatureSupported(FONT_STYLE_MODIFIER)) {
if (myEntry.getFontModifier(FONT_MODIFIER_INHERIT) == ZLBoolean3.B3_TRUE) {
return Base.Base.getFontSize(metrics);
return Parent.Parent.getFontSize(metrics);
}
if (myEntry.getFontModifier(FONT_MODIFIER_LARGER) == ZLBoolean3.B3_TRUE) {
return Base.Base.getFontSize(metrics) * 120 / 100;
return Parent.Parent.getFontSize(metrics) * 120 / 100;
}
if (myEntry.getFontModifier(FONT_MODIFIER_SMALLER) == ZLBoolean3.B3_TRUE) {
return Base.Base.getFontSize(metrics) * 100 / 120;
return Parent.Parent.getFontSize(metrics) * 100 / 120;
}
}
if (myEntry.isFeatureSupported(LENGTH_FONT_SIZE)) {
return myEntry.getLength(LENGTH_FONT_SIZE, metrics);
}
return Base.getFontSize(metrics);
return Parent.getFontSize(metrics);
}
@Override
@ -70,7 +69,7 @@ public class ZLTextExplicitlyDecoratedStyle extends ZLTextDecoratedStyle impleme
case B3_FALSE:
return false;
default:
return Base.isBold();
return Parent.isBold();
}
}
@Override
@ -81,7 +80,7 @@ public class ZLTextExplicitlyDecoratedStyle extends ZLTextDecoratedStyle impleme
case B3_FALSE:
return false;
default:
return Base.isItalic();
return Parent.isItalic();
}
}
@Override
@ -92,7 +91,7 @@ public class ZLTextExplicitlyDecoratedStyle extends ZLTextDecoratedStyle impleme
case B3_FALSE:
return false;
default:
return Base.isUnderline();
return Parent.isUnderline();
}
}
@Override
@ -103,52 +102,51 @@ public class ZLTextExplicitlyDecoratedStyle extends ZLTextDecoratedStyle impleme
case B3_FALSE:
return false;
default:
return Base.isStrikeThrough();
return Parent.isStrikeThrough();
}
}
public int getLeftIndent() {
// TODO: implement
return Base.getLeftIndent();
return Parent.getLeftIndent();
}
public int getRightIndent() {
// TODO: implement
return Base.getRightIndent();
return Parent.getRightIndent();
}
public int getFirstLineIndentDelta() {
// TODO: implement
return Base.getFirstLineIndentDelta();
return Parent.getFirstLineIndentDelta();
}
public int getLineSpacePercent() {
// TODO: implement
return Base.getLineSpacePercent();
return Parent.getLineSpacePercent();
}
@Override
protected int getVerticalShiftInternal() {
// TODO: implement
return Base.getVerticalShift();
return Parent.getVerticalShift();
}
public int getSpaceBefore() {
// TODO: implement
return Base.getSpaceBefore();
return Parent.getSpaceBefore();
}
public int getSpaceAfter() {
// TODO: implement
return Base.getSpaceAfter();
return Parent.getSpaceAfter();
}
public byte getAlignment() {
if (myEntry instanceof ZLTextCSSStyleEntry &&
!ZLTextStyleCollection.Instance().UseCSSTextAlignmentOption.getValue()) {
return Base.getAlignment();
if (myEntry instanceof ZLTextCSSStyleEntry && !BaseStyle.UseCSSTextAlignmentOption.getValue()) {
return Parent.getAlignment();
}
return
myEntry.isFeatureSupported(ALIGNMENT_TYPE)
? myEntry.getAlignmentType()
: Base.getAlignment();
: Parent.getAlignment();
}
public boolean allowHyphenations() {
// TODO: implement
return Base.allowHyphenations();
return Parent.allowHyphenations();
}
}

View file

@ -26,30 +26,30 @@ import org.geometerplus.zlibrary.text.model.ZLTextAlignmentType;
public class ZLTextFullyDecoratedStyle extends ZLTextPartiallyDecoratedStyle {
private final ZLTextFullStyleDecoration myFullDecoration;
ZLTextFullyDecoratedStyle(ZLTextStyle base, ZLTextFullStyleDecoration decoration, ZLTextHyperlink hyperlink) {
super(base, decoration, hyperlink);
ZLTextFullyDecoratedStyle(ZLTextStyle parent, ZLTextFullStyleDecoration decoration, ZLTextHyperlink hyperlink) {
super(parent, decoration, hyperlink);
myFullDecoration = decoration;
}
@Override
public int getLeftIndent() {
return Base.getLeftIndent() + myFullDecoration.LeftIndentOption.getValue();
return Parent.getLeftIndent() + myFullDecoration.LeftIndentOption.getValue();
}
@Override
public int getRightIndent() {
return Base.getRightIndent() + myFullDecoration.RightIndentOption.getValue();
return Parent.getRightIndent() + myFullDecoration.RightIndentOption.getValue();
}
@Override
public int getFirstLineIndentDelta() {
return (getAlignment() == ZLTextAlignmentType.ALIGN_CENTER) ? 0 : Base.getFirstLineIndentDelta() + myFullDecoration.FirstLineIndentDeltaOption.getValue();
return (getAlignment() == ZLTextAlignmentType.ALIGN_CENTER) ? 0 : Parent.getFirstLineIndentDelta() + myFullDecoration.FirstLineIndentDeltaOption.getValue();
}
@Override
public int getLineSpacePercent() {
int value = myFullDecoration.LineSpacePercentOption.getValue();
return (value != -1) ? value : Base.getLineSpacePercent();
return (value != -1) ? value : Parent.getLineSpacePercent();
}
@Override
@ -65,6 +65,6 @@ public class ZLTextFullyDecoratedStyle extends ZLTextPartiallyDecoratedStyle {
@Override
public byte getAlignment() {
byte value = (byte)myFullDecoration.AlignmentOption.getValue();
return (value == ZLTextAlignmentType.ALIGN_UNDEFINED) ? Base.getAlignment() : value;
return (value == ZLTextAlignmentType.ALIGN_UNDEFINED) ? Parent.getAlignment() : value;
}
}

View file

@ -27,20 +27,20 @@ import org.geometerplus.zlibrary.text.view.ZLTextHyperlink;
class ZLTextPartiallyDecoratedStyle extends ZLTextDecoratedStyle {
private final ZLTextStyleDecoration myDecoration;
ZLTextPartiallyDecoratedStyle(ZLTextStyle base, ZLTextStyleDecoration decoration, ZLTextHyperlink hyperlink) {
super(base, hyperlink);
ZLTextPartiallyDecoratedStyle(ZLTextStyle parent, ZLTextStyleDecoration decoration, ZLTextHyperlink hyperlink) {
super(parent, hyperlink);
myDecoration = decoration;
}
@Override
protected String getFontFamilyInternal() {
String decoratedValue = myDecoration.FontFamilyOption.getValue();
return (decoratedValue.length() != 0) ? decoratedValue : Base.getFontFamily();
return (decoratedValue.length() != 0) ? decoratedValue : Parent.getFontFamily();
}
@Override
protected int getFontSizeInternal(ZLTextMetrics metrics) {
return Base.getFontSize(metrics) + myDecoration.FontSizeDeltaOption.getValue();
return Parent.getFontSize(metrics) + myDecoration.FontSizeDeltaOption.getValue();
}
@Override
@ -51,7 +51,7 @@ class ZLTextPartiallyDecoratedStyle extends ZLTextDecoratedStyle {
case B3_FALSE:
return false;
default:
return Base.isBold();
return Parent.isBold();
}
}
@ -63,7 +63,7 @@ class ZLTextPartiallyDecoratedStyle extends ZLTextDecoratedStyle {
case B3_FALSE:
return false;
default:
return Base.isItalic();
return Parent.isItalic();
}
}
@ -75,7 +75,7 @@ class ZLTextPartiallyDecoratedStyle extends ZLTextDecoratedStyle {
case B3_FALSE:
return false;
default:
return Base.isUnderline();
return Parent.isUnderline();
}
}
@ -87,48 +87,48 @@ class ZLTextPartiallyDecoratedStyle extends ZLTextDecoratedStyle {
case B3_FALSE:
return false;
default:
return Base.isStrikeThrough();
return Parent.isStrikeThrough();
}
}
@Override
public int getLeftIndent() {
return Base.getLeftIndent();
return Parent.getLeftIndent();
}
@Override
public int getRightIndent() {
return Base.getRightIndent();
return Parent.getRightIndent();
}
@Override
public int getFirstLineIndentDelta() {
return Base.getFirstLineIndentDelta();
return Parent.getFirstLineIndentDelta();
}
@Override
public int getLineSpacePercent() {
return Base.getLineSpacePercent();
return Parent.getLineSpacePercent();
}
@Override
protected int getVerticalShiftInternal() {
return Base.getVerticalShift() + myDecoration.VerticalShiftOption.getValue();
return Parent.getVerticalShift() + myDecoration.VerticalShiftOption.getValue();
}
@Override
public int getSpaceBefore() {
return Base.getSpaceBefore();
return Parent.getSpaceBefore();
}
@Override
public int getSpaceAfter() {
return Base.getSpaceAfter();
return Parent.getSpaceAfter();
}
@Override
public byte getAlignment() {
return Base.getAlignment();
return Parent.getAlignment();
}
@Override
@ -139,7 +139,7 @@ class ZLTextPartiallyDecoratedStyle extends ZLTextDecoratedStyle {
case B3_TRUE:
return true;
default:
return Base.allowHyphenations();
return Parent.allowHyphenations();
}
}
}

View file

@ -27,30 +27,12 @@ import org.geometerplus.zlibrary.core.xml.*;
import org.geometerplus.zlibrary.text.model.ZLTextAlignmentType;
public class ZLTextStyleCollection {
private static ZLTextStyleCollection ourInstance = null;
public static ZLTextStyleCollection Instance() {
if (ourInstance == null) {
ourInstance = new ZLTextStyleCollection();
}
return ourInstance;
}
public static void deleteInstance() {
ourInstance = null;
}
private int myDefaultFontSize;
private ZLTextBaseStyle myBaseStyle;
private final ZLTextStyleDecoration[] myDecorationMap = new ZLTextStyleDecoration[256];
public final ZLBooleanOption UseCSSTextAlignmentOption =
new ZLBooleanOption("Style", "css:textAlignment", true);
public final ZLBooleanOption UseCSSFontSizeOption =
new ZLBooleanOption("Style", "css:fontSize", true);
private ZLTextStyleCollection() {
new TextStyleReader(this).readQuietly(ZLResourceFile.createResourceFile("default/styles.xml"));
public ZLTextStyleCollection(String name) {
new TextStyleReader(name).readQuietly(ZLResourceFile.createResourceFile("default/styles.xml"));
}
public int getDefaultFontSize() {
@ -65,9 +47,9 @@ public class ZLTextStyleCollection {
return myDecorationMap[kind & 0xFF];
}
private static class TextStyleReader extends ZLXMLReaderAdapter {
private class TextStyleReader extends ZLXMLReaderAdapter {
private final int myDpi = ZLibrary.Instance().getDisplayDPI();
private ZLTextStyleCollection myCollection;
private String myCollectionName;
@Override
public boolean dontCacheAttributeValues() {
@ -94,16 +76,16 @@ public class ZLTextStyleCollection {
return i;
}
private static boolean booleanValue(ZLStringMap attributes, String name) {
private boolean booleanValue(ZLStringMap attributes, String name) {
return "true".equals(attributes.getValue(name));
}
private static ZLBoolean3 b3Value(ZLStringMap attributes, String name) {
private ZLBoolean3 b3Value(ZLStringMap attributes, String name) {
return ZLBoolean3.getByName(attributes.getValue(name));
}
public TextStyleReader(ZLTextStyleCollection collection) {
myCollection = collection;
public TextStyleReader(String collectionName) {
myCollectionName = collectionName;
}
@Override
@ -112,8 +94,8 @@ public class ZLTextStyleCollection {
final String STYLE = "style";
if (BASE.equals(tag)) {
myCollection.myDefaultFontSize = intValue(attributes, "fontSize", 0);
myCollection.myBaseStyle = new ZLTextBaseStyle(attributes.getValue("family"), myCollection.myDefaultFontSize);
myDefaultFontSize = intValue(attributes, "fontSize", 0);
myBaseStyle = new ZLTextBaseStyle(myCollectionName, attributes.getValue("family"), myDefaultFontSize);
} else if (STYLE.equals(tag)) {
String idString = attributes.getValue("id");
String name = attributes.getValue("name");
@ -157,7 +139,7 @@ public class ZLTextStyleCollection {
decoration = new ZLTextFullStyleDecoration(name, fontFamily, fontSizeDelta, bold, italic, underline, strikeThrough, spaceBefore, spaceAfter, leftIndent, rightIndent, firstLineIndentDelta, verticalShift, alignment, lineSpacePercent, allowHyphenations);
}
myCollection.myDecorationMap[id & 0xFF] = decoration;
myDecorationMap[id & 0xFF] = decoration;
}
}
return false;