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