mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-04 02:09:35 +02:00
compilation issues
This commit is contained in:
parent
383a56af52
commit
d7a4f78d45
6 changed files with 28 additions and 18 deletions
|
@ -21,11 +21,18 @@ package org.geometerplus.fbreader.fbreader;
|
||||||
|
|
||||||
import org.geometerplus.zlibrary.core.image.ZLImageData;
|
import org.geometerplus.zlibrary.core.image.ZLImageData;
|
||||||
import org.geometerplus.zlibrary.core.library.ZLibrary;
|
import org.geometerplus.zlibrary.core.library.ZLibrary;
|
||||||
|
import org.geometerplus.zlibrary.core.util.ZLColor;
|
||||||
import org.geometerplus.zlibrary.core.view.ZLPaintContext;
|
import org.geometerplus.zlibrary.core.view.ZLPaintContext;
|
||||||
|
|
||||||
import org.geometerplus.zlibrary.text.view.*;
|
import org.geometerplus.zlibrary.text.view.*;
|
||||||
|
|
||||||
public final class BookElement extends ExtensionElement {
|
public final class BookElement extends ExtensionElement {
|
||||||
|
private final FBView myView;
|
||||||
|
|
||||||
|
BookElement(FBView view) {
|
||||||
|
myView = view;
|
||||||
|
}
|
||||||
|
|
||||||
public boolean isInitialized() {
|
public boolean isInitialized() {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -35,19 +42,19 @@ public final class BookElement extends ExtensionElement {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getWidth(ZLTextViewBase view) {
|
protected int getWidth() {
|
||||||
// 1/\phi (= 0.618) inch width + 1/10 inch left & right margin
|
// 1/\phi (= 0.618) inch width + 1/10 inch left & right margin
|
||||||
return Math.min(ZLibrary.Instance().getDisplayDPI() * 818 / 1000, view.getTextColumnWidth());
|
return Math.min(ZLibrary.Instance().getDisplayDPI() * 818 / 1000, myView.getTextColumnWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected int getHeight(ZLTextViewBase view) {
|
protected int getHeight() {
|
||||||
// 1 inch height + 1/15 inch top & bottom margin
|
// 1 inch height + 1/15 inch top & bottom margin
|
||||||
return ZLibrary.Instance().getDisplayDPI() * 17 / 15;
|
return ZLibrary.Instance().getDisplayDPI() * 17 / 15;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void draw(ZLPaintContext context, ZLTextView view, ZLTextElementArea area) {
|
protected void draw(ZLPaintContext context, ZLTextElementArea area) {
|
||||||
final int vMargin = ZLibrary.Instance().getDisplayDPI() / 15;
|
final int vMargin = ZLibrary.Instance().getDisplayDPI() / 15;
|
||||||
final int hMargin = ZLibrary.Instance().getDisplayDPI() / 10;
|
final int hMargin = ZLibrary.Instance().getDisplayDPI() / 10;
|
||||||
final ZLImageData imageData = getImageData();
|
final ZLImageData imageData = getImageData();
|
||||||
|
@ -63,8 +70,9 @@ public final class BookElement extends ExtensionElement {
|
||||||
ZLPaintContext.ColorAdjustingMode.NONE
|
ZLPaintContext.ColorAdjustingMode.NONE
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
context.setLineColor(view.getTextColor(ZLTextHyperlink.NO_LINK));
|
final ZLColor color = myView.getTextColor(ZLTextHyperlink.NO_LINK);
|
||||||
context.setFillColor(view.getTextColor(ZLTextHyperlink.NO_LINK), 0x33);
|
context.setLineColor(color);
|
||||||
|
context.setFillColor(color, 0x33);
|
||||||
final int xStart = area.XStart + hMargin;
|
final int xStart = area.XStart + hMargin;
|
||||||
final int xEnd = area.XEnd - hMargin;
|
final int xEnd = area.XEnd - hMargin;
|
||||||
final int yStart = area.YStart + vMargin;
|
final int yStart = area.YStart + vMargin;
|
||||||
|
|
|
@ -29,16 +29,18 @@ import org.geometerplus.zlibrary.text.view.ExtensionElementManager;
|
||||||
import org.geometerplus.fbreader.network.opds.*;
|
import org.geometerplus.fbreader.network.opds.*;
|
||||||
|
|
||||||
class BookElementManager extends ExtensionElementManager {
|
class BookElementManager extends ExtensionElementManager {
|
||||||
|
private final FBView myView;
|
||||||
private final Runnable myScreenRefresher;
|
private final Runnable myScreenRefresher;
|
||||||
private final Map<Map<String,String>,List<BookElement>> myCache =
|
private final Map<Map<String,String>,List<BookElement>> myCache =
|
||||||
new HashMap<Map<String,String>,List<BookElement>>();
|
new HashMap<Map<String,String>,List<BookElement>>();
|
||||||
private Timer myTimer;
|
private Timer myTimer;
|
||||||
|
|
||||||
BookElementManager(final FBReaderApp reader) {
|
BookElementManager(final FBView view) {
|
||||||
|
myView = view;
|
||||||
myScreenRefresher = new Runnable() {
|
myScreenRefresher = new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
reader.getViewWidget().reset();
|
view.Application.getViewWidget().reset();
|
||||||
reader.getViewWidget().repaint();
|
view.Application.getViewWidget().repaint();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -55,7 +57,7 @@ class BookElementManager extends ExtensionElementManager {
|
||||||
final int count = Integer.valueOf(data.get("size"));
|
final int count = Integer.valueOf(data.get("size"));
|
||||||
elements = new ArrayList<BookElement>(count);
|
elements = new ArrayList<BookElement>(count);
|
||||||
for (int i = 0; i < count; ++i) {
|
for (int i = 0; i < count; ++i) {
|
||||||
elements.add(new BookElement());
|
elements.add(new BookElement(myView));
|
||||||
}
|
}
|
||||||
startLoading(data.get("src"), elements);
|
startLoading(data.get("src"), elements);
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
|
|
|
@ -46,7 +46,7 @@ public final class FBView extends ZLTextView {
|
||||||
super(reader);
|
super(reader);
|
||||||
myReader = reader;
|
myReader = reader;
|
||||||
myViewOptions = reader.ViewOptions;
|
myViewOptions = reader.ViewOptions;
|
||||||
myBookElementManager = new BookElementManager(reader);
|
myBookElementManager = new BookElementManager(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setModel(ZLTextModel model) {
|
public void setModel(ZLTextModel model) {
|
||||||
|
|
|
@ -22,8 +22,8 @@ package org.geometerplus.zlibrary.text.view;
|
||||||
import org.geometerplus.zlibrary.core.view.ZLPaintContext;
|
import org.geometerplus.zlibrary.core.view.ZLPaintContext;
|
||||||
|
|
||||||
public abstract class ExtensionElement extends ZLTextElement {
|
public abstract class ExtensionElement extends ZLTextElement {
|
||||||
protected abstract int getWidth(ZLTextViewBase view);
|
protected abstract int getWidth();
|
||||||
protected abstract int getHeight(ZLTextViewBase view);
|
protected abstract int getHeight();
|
||||||
|
|
||||||
protected abstract void draw(ZLPaintContext context, ZLTextView view, ZLTextElementArea area);
|
protected abstract void draw(ZLPaintContext context, ZLTextElementArea area);
|
||||||
}
|
}
|
||||||
|
|
|
@ -942,7 +942,7 @@ public abstract class ZLTextView extends ZLTextViewBase {
|
||||||
context.setFillColor(new ZLColor(196, 196, 196));
|
context.setFillColor(new ZLColor(196, 196, 196));
|
||||||
context.fillPolygon(new int[] { l, l, r }, new int[] { t, b, c });
|
context.fillPolygon(new int[] { l, l, r }, new int[] { t, b, c });
|
||||||
} else if (element instanceof ExtensionElement) {
|
} else if (element instanceof ExtensionElement) {
|
||||||
((ExtensionElement)element).draw(context, this, area);
|
((ExtensionElement)element).draw(context, area);
|
||||||
} else if (element == ZLTextElement.HSpace) {
|
} else if (element == ZLTextElement.HSpace) {
|
||||||
final int cw = context.getSpaceWidth();
|
final int cw = context.getSpaceWidth();
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -102,7 +102,7 @@ abstract class ZLTextViewBase extends ZLView {
|
||||||
return getContextHeight() - getTopMargin() - getBottomMargin();
|
return getContextHeight() - getTopMargin() - getBottomMargin();
|
||||||
}
|
}
|
||||||
|
|
||||||
int getTextColumnWidth() {
|
public int getTextColumnWidth() {
|
||||||
return twoColumnView()
|
return twoColumnView()
|
||||||
? (getContextWidth() - getLeftMargin() - getSpaceBetweenColumns() - getRightMargin()) / 2
|
? (getContextWidth() - getLeftMargin() - getSpaceBetweenColumns() - getRightMargin()) / 2
|
||||||
: getContextWidth() - getLeftMargin() - getRightMargin();
|
: getContextWidth() - getLeftMargin() - getRightMargin();
|
||||||
|
@ -200,7 +200,7 @@ abstract class ZLTextViewBase extends ZLView {
|
||||||
} else if (element instanceof ZLTextVideoElement) {
|
} else if (element instanceof ZLTextVideoElement) {
|
||||||
return Math.min(300, getTextColumnWidth());
|
return Math.min(300, getTextColumnWidth());
|
||||||
} else if (element instanceof ExtensionElement) {
|
} else if (element instanceof ExtensionElement) {
|
||||||
return ((ExtensionElement)element).getWidth(this);
|
return ((ExtensionElement)element).getWidth();
|
||||||
} else if (element == ZLTextElement.Indent) {
|
} else if (element == ZLTextElement.Indent) {
|
||||||
return myTextStyle.getFirstLineIndent(metrics());
|
return myTextStyle.getFirstLineIndent(metrics());
|
||||||
} else if (element instanceof ZLTextFixedHSpaceElement) {
|
} else if (element instanceof ZLTextFixedHSpaceElement) {
|
||||||
|
@ -225,7 +225,7 @@ abstract class ZLTextViewBase extends ZLView {
|
||||||
} else if (element instanceof ZLTextVideoElement) {
|
} else if (element instanceof ZLTextVideoElement) {
|
||||||
return Math.min(Math.min(200, getTextAreaHeight()), getTextColumnWidth() * 2 / 3);
|
return Math.min(Math.min(200, getTextAreaHeight()), getTextColumnWidth() * 2 / 3);
|
||||||
} else if (element instanceof ExtensionElement) {
|
} else if (element instanceof ExtensionElement) {
|
||||||
return ((ExtensionElement)element).getHeight(this);
|
return ((ExtensionElement)element).getHeight();
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue