1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-04 02:09:35 +02:00

compilation issues

This commit is contained in:
Nikolay Pultsin 2014-12-30 02:55:52 +00:00
parent 383a56af52
commit d7a4f78d45
6 changed files with 28 additions and 18 deletions

View file

@ -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;

View file

@ -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) {

View file

@ -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) {

View file

@ -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);
}

View file

@ -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();
/*

View file

@ -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;
}