android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java | 12 - android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java | 87 +--------- android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java | 57 ++++-- android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java | 27 ++- android/experimental/LOAndroid3/src/java/org/libreoffice/TileIterator.java | 4 android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java | 7 android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java | 27 --- android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoSoftwareLayerClient.java | 24 -- android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/Layer.java | 1 android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java | 6 android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/SubTile.java | 3 11 files changed, 93 insertions(+), 162 deletions(-)
New commits: commit ff6aac4167dc72c6546ebfa43f9ede81247c1741 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Fri Jul 4 19:31:54 2014 +0200 LOAndroid3: Simplify begin/endDrawing calls, remove JSON metadata Change-Id: Ie8aadd20095eeea05110032ac026a6027771aab8 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java index 9d0dec7..e4f6b08 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java @@ -18,7 +18,7 @@ public class LOKitShell { public static int getDpi() { DisplayMetrics metrics = LibreOfficeMainActivity.mAppContext.getResources().getDisplayMetrics(); - return (int) metrics.density * 200; + return (int) metrics.density * 160; } public static ByteBuffer allocateDirectBuffer(int size) { diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java index 7539d71..63bc72b 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java @@ -8,6 +8,7 @@ import android.graphics.Rect; import android.util.JsonWriter; import android.util.Log; +import org.mozilla.gecko.gfx.FloatSize; import org.mozilla.gecko.gfx.SubTile; import org.mozilla.gecko.gfx.ViewportMetrics; @@ -18,8 +19,10 @@ import java.util.Random; import java.util.concurrent.ConcurrentLinkedQueue; public class LOKitThread extends Thread { - private static final String LOGTAG = "GeckoThread"; + private static final String LOGTAG = LOKitThread.class.getSimpleName(); + private static final int TILE_SIZE = 256; + private LibreOfficeMainActivity mApplication; private TileProvider mTileProvider; public ConcurrentLinkedQueue<LOEvent> gEvents = new ConcurrentLinkedQueue<LOEvent>(); @@ -29,90 +32,34 @@ public class LOKitThread extends Thread { } private boolean draw() throws InterruptedException { - final LibreOfficeMainActivity application = LibreOfficeMainActivity.mAppContext; - - if (mTileProvider == null) - mTileProvider = new LOKitTileProvider(application.getLayerController()); - int pageWidth = mTileProvider.getPageWidth(); int pageHeight = mTileProvider.getPageHeight(); - String metadata = createJson(0, 0, pageWidth, pageHeight, pageWidth, pageHeight, 0, 0, 1.0); mViewportMetrics = new ViewportMetrics(); + mViewportMetrics.setPageSize(new FloatSize(pageWidth, pageHeight)); - boolean shouldContinue = application.getLayerClient().beginDrawing(pageWidth, pageHeight, TILE_SIZE, TILE_SIZE, metadata); + boolean shouldContinue = mApplication.getLayerClient().beginDrawing(mViewportMetrics); if (!shouldContinue) { return false; } - Log.i(LOGTAG, "Filling tiles.."); - for (SubTile tile : mTileProvider.getTileIterator()) { - application.getLayerClient().addTile(tile); + mApplication.getLayerClient().addTile(tile); } - Log.i(LOGTAG, "End Draw"); - - application.getLayerClient().endDrawing(0, 0, pageWidth, pageHeight); + mApplication.getLayerClient().endDrawing(); return true; } - private String createJson(ViewportMetrics viewportMetrics) { - return createJson( - (int) viewportMetrics.getOrigin().x, - (int) viewportMetrics.getOrigin().y, - (int) viewportMetrics.getSize().width, - (int) viewportMetrics.getSize().height, - (int) viewportMetrics.getPageSize().width, - (int) viewportMetrics.getPageSize().height, - (int) viewportMetrics.getViewportOffset().x, - (int) viewportMetrics.getViewportOffset().y, - viewportMetrics.getZoomFactor()); - } - - private String createJson(int x, int y, int width, int height, int pageWidth, int pageHeight, int offsetX, int offsetY, double zoom) { - try { - StringWriter stringWriter = new StringWriter(); - JsonWriter writer = new JsonWriter(stringWriter); - writer.beginObject(); - writer.name("x").value(x); - writer.name("y").value(y); - writer.name("width").value(width); - writer.name("height").value(height); - writer.name("pageWidth").value(pageWidth); - writer.name("pageHeight").value(pageHeight); - writer.name("offsetX").value(offsetX); - writer.name("offsetY").value(offsetY); - writer.name("zoom").value(zoom); - writer.name("backgroundColor").value("rgb(255,255,255)"); - writer.endObject(); - writer.close(); - return stringWriter.toString(); - } catch (IOException ex) { - } - return null; - } - - private short convertTo16Bit(int color) { - int r = Color.red(color) >> 3, g = Color.green(color) >> 2, b = Color.blue(color) >> 3; - int c = ((r << 11) | (g << 5) | b); - // Swap endianness. - return (short) ((c >> 8) | ((c & 0xff) << 8)); + private void initialize() { + mApplication = LibreOfficeMainActivity.mAppContext; + mTileProvider = new LOKitTileProvider(mApplication.getLayerController()); } - private Bitmap convert(Bitmap bitmap, Bitmap.Config config) { - Bitmap convertedBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), config); - Canvas canvas = new Canvas(convertedBitmap); - Paint paint = new Paint(); - paint.setColor(Color.BLACK); - canvas.drawBitmap(bitmap, 0, 0, paint); - return convertedBitmap; - } - - public void run() { + initialize(); try { boolean drawn = false; while (true) { diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index e43e401..32bfe30 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java @@ -88,8 +88,8 @@ public class LOKitTileProvider implements TileProvider { ByteBuffer buffer = ByteBuffer.allocateDirect(TILE_SIZE * TILE_SIZE * 4); Bitmap bitmap = Bitmap.createBitmap(TILE_SIZE, TILE_SIZE, Bitmap.Config.ARGB_8888); - mDocument.paintTile(buffer, TILE_SIZE, TILE_SIZE, (int) Math.round(mPositionWidth), (int) Math.round(mPositionHeight), (int) Math.round(mTileWidth + pixelToTwip(1, mDPI)), (int) Math.round(mTileHeight+ pixelToTwip(1, mDPI))); - + mDocument.paintTile(buffer, TILE_SIZE, TILE_SIZE, + (int) Math.round(mPositionWidth), (int) Math.round(mPositionHeight), (int) Math.round(mTileWidth + pixelToTwip(1, mDPI)), (int) Math.round(mTileHeight+ pixelToTwip(1, mDPI))); bitmap.copyPixelsFromBuffer(buffer); diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java index c196cf8..d7fe6b3 100644 --- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java +++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoLayerClient.java @@ -89,7 +89,7 @@ public abstract class GeckoLayerClient implements GeckoEventListener { protected abstract boolean setupLayer(); - protected abstract void updateLayerAfterDraw(Rect updatedRect); + protected abstract void updateLayerAfterDraw(); protected abstract IntSize getBufferSize(); @@ -109,38 +109,23 @@ public abstract class GeckoLayerClient implements GeckoEventListener { sendResizeEventIfNecessary(); } - public boolean beginDrawing(int width, int height, int tileWidth, int tileHeight, String metadata) { - Log.e(LOGTAG, "### beginDrawing " + width + " " + height + " " + tileWidth + " " + tileHeight); - + public boolean beginDrawing(ViewportMetrics viewportMetrics) { if (setupLayer()) { Log.e(LOGTAG, "### Cancelling due to layer setup"); return false; } - - try { - JSONObject viewportObject = new JSONObject(metadata); - mNewGeckoViewport = new ViewportMetrics(viewportObject); - Log.e(LOGTAG, "### beginDrawing new Gecko viewport " + mNewGeckoViewport); - } catch (JSONException e) { - Log.e(LOGTAG, "Aborting draw, bad viewport description: " + metadata); - return false; - } - + mNewGeckoViewport = viewportMetrics; mTileLayer.beginTransaction(); + return true; } - /* - * TODO: Would be cleaner if this took an android.graphics.Rect instead, but that would require - * a little more JNI magic. - */ - public void endDrawing(int x, int y, int width, int height) { + public void endDrawing() { synchronized (mLayerController) { try { updateViewport(!mUpdateViewportOnEndDraw); mUpdateViewportOnEndDraw = false; - Rect rect = new Rect(x, y, x + width, y + height); - updateLayerAfterDraw(rect); + updateLayerAfterDraw(); } finally { mTileLayer.endTransaction(); } diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoSoftwareLayerClient.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoSoftwareLayerClient.java index 58e6263..e09e727 100644 --- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoSoftwareLayerClient.java +++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoSoftwareLayerClient.java @@ -105,25 +105,9 @@ public class GeckoSoftwareLayerClient extends GeckoLayerClient { } @Override - public boolean beginDrawing(int width, int height, int tileWidth, int tileHeight, String metadata) { - boolean shouldContinue = super.beginDrawing(width, height, tileWidth, tileHeight, metadata); - - if (!shouldContinue) { - return shouldContinue; - } - - // If the window size has changed, reallocate the buffer to match. - if (mBufferSize.width != width || mBufferSize.height != height) { - mBufferSize = new IntSize(width, height); - } - - return shouldContinue; - } - - @Override - protected void updateLayerAfterDraw(Rect updatedRect) { + protected void updateLayerAfterDraw() { if (mTileLayer instanceof MultiTileLayer) { - ((MultiTileLayer)mTileLayer).invalidate(updatedRect); + ((MultiTileLayer)mTileLayer).invalidate(); } } diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/Layer.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/Layer.java index 4078653..b70c88e 100644 --- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/Layer.java +++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/Layer.java @@ -195,6 +195,7 @@ public abstract class Layer { * update is complete. */ protected boolean performUpdates(RenderContext context) { + if (mNewOrigin != null) { mOrigin = mNewOrigin; mNewOrigin = null; diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java index 56ff5ec..65f4e79 100644 --- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java +++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java @@ -53,8 +53,6 @@ import java.util.ArrayList; /** * Encapsulates the logic needed to draw a layer made of multiple tiles. - * <p/> - * TODO: Support repeating. */ public class MultiTileLayer extends Layer { private static final String LOGTAG = "GeckoMultiTileLayer"; commit 81df594b4fbb147d3e4b3cb31ae27ff7f66d83b4 Author: Tomaž Vajngerl <tomaz.vajng...@collabora.com> Date: Fri Jul 4 18:47:50 2014 +0200 LOAndroid3: use device DPI, push more resp. to TileProvider Change-Id: I603bf2697d9afbac7a9cb4eae9d1c0da92bb9e93 diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java index 9dde790..9d0dec7 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitShell.java @@ -17,15 +17,8 @@ public class LOKitShell { private static final String LOGTAG = LOKitShell.class.getSimpleName(); public static int getDpi() { - return 96; - } - - public static int getScreenDepth() { - return 24; - } - - public static float computeRenderIntegrity() { - return 0.0f; + DisplayMetrics metrics = LibreOfficeMainActivity.mAppContext.getResources().getDisplayMetrics(); + return (int) metrics.density * 200; } public static ByteBuffer allocateDirectBuffer(int size) { @@ -44,7 +37,6 @@ public class LOKitShell { return directBuffer; } - public static void freeDirectBuffer(ByteBuffer buffer) { if (buffer == null) { return; diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java index 9082575..7539d71 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitThread.java @@ -8,6 +8,7 @@ import android.graphics.Rect; import android.util.JsonWriter; import android.util.Log; +import org.mozilla.gecko.gfx.SubTile; import org.mozilla.gecko.gfx.ViewportMetrics; import java.io.IOException; @@ -47,15 +48,8 @@ public class LOKitThread extends Thread { Log.i(LOGTAG, "Filling tiles.."); - int x = 0; - int y = 0; - for (Bitmap bitmap : mTileProvider.getTileIterator()) { - application.getLayerClient().addTile(bitmap, x, y); - x += TILE_SIZE; - if (x > pageWidth) { - x = 0; - y += TILE_SIZE; - } + for (SubTile tile : mTileProvider.getTileIterator()) { + application.getLayerClient().addTile(tile); } Log.i(LOGTAG, "End Draw"); diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java index 4b6d8fa..e43e401 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/LOKitTileProvider.java @@ -3,6 +3,8 @@ package org.libreoffice; import android.graphics.Bitmap; import android.util.Log; +import org.mozilla.gecko.gfx.BufferedCairoImage; +import org.mozilla.gecko.gfx.CairoImage; import org.mozilla.gecko.gfx.LayerController; import java.nio.ByteBuffer; @@ -11,6 +13,7 @@ import java.util.Iterator; import org.libreoffice.kit.LibreOfficeKit; import org.libreoffice.kit.Office; import org.libreoffice.kit.Document; +import org.mozilla.gecko.gfx.SubTile; public class LOKitTileProvider implements TileProvider { private final LayerController mLayerController; @@ -20,8 +23,19 @@ public class LOKitTileProvider implements TileProvider { public final Office mOffice; public final Document mDocument; + private double mDPI; + + private double twipToPixel(double input, double dpi) { + return input / 1440.0 * dpi; + } + + private double pixelToTwip(double input, double dpi) { + return (input / dpi) * 1440.0; + } + public LOKitTileProvider(LayerController layerController) { - this.mLayerController = layerController; + mLayerController = layerController; + mDPI = (double) LOKitShell.getDpi(); LibreOfficeKit.putenv("SAL_LOG=+WARN+INFO-INFO.legacy.osl-INFO.i18nlangtag"); LibreOfficeKit.init(LibreOfficeMainActivity.mAppContext); @@ -32,62 +46,69 @@ public class LOKitTileProvider implements TileProvider { @Override public int getPageWidth() { - return (int) (mDocument.getDocumentWidth() / 1440.0 * LOKitShell.getDpi()); + return (int) twipToPixel(mDocument.getDocumentWidth(), mDPI); } @Override public int getPageHeight() { - return (int) (mDocument.getDocumentHeight() / 1440.0 * LOKitShell.getDpi()); + return (int) twipToPixel(mDocument.getDocumentHeight(), mDPI); } public TileIterator getTileIterator() { return new LoKitTileIterator(); } - public class LoKitTileIterator implements TileIterator, Iterator<Bitmap> { + public class LoKitTileIterator implements TileIterator, Iterator<SubTile> { private final double mTileWidth; private final double mTileHeight; - private boolean mShouldContinue = true; - private double mPositionWidth = 0; private double mPositionHeight = 0; + private int mX = 0; + private int mY = 0; private double mPageWidth; private double mPageHeight; public LoKitTileIterator() { - mTileWidth = (TILE_SIZE / (double) LOKitShell.getDpi()) * 1440.0; - mTileHeight = (TILE_SIZE / (double) LOKitShell.getDpi()) * 1440.0; + mTileWidth = pixelToTwip(TILE_SIZE, mDPI); + mTileHeight = pixelToTwip(TILE_SIZE, mDPI); + mPageWidth = mDocument.getDocumentWidth(); mPageHeight = mDocument.getDocumentHeight(); } @Override public boolean hasNext() { - return mShouldContinue; + return mPositionHeight <= mPageHeight; } @Override - public Bitmap next() { + public SubTile next() { ByteBuffer buffer = ByteBuffer.allocateDirect(TILE_SIZE * TILE_SIZE * 4); Bitmap bitmap = Bitmap.createBitmap(TILE_SIZE, TILE_SIZE, Bitmap.Config.ARGB_8888); - mDocument.paintTile(buffer, TILE_SIZE, TILE_SIZE, (int) mPositionWidth, (int) mPositionHeight, (int) mTileWidth, (int) mTileHeight); + mDocument.paintTile(buffer, TILE_SIZE, TILE_SIZE, (int) Math.round(mPositionWidth), (int) Math.round(mPositionHeight), (int) Math.round(mTileWidth + pixelToTwip(1, mDPI)), (int) Math.round(mTileHeight+ pixelToTwip(1, mDPI))); + + + bitmap.copyPixelsFromBuffer(buffer); + + CairoImage image = new BufferedCairoImage(bitmap); + SubTile tile = new SubTile(image, mX, mY); + tile.beginTransaction(); mPositionWidth += mTileWidth; + mX += TILE_SIZE; if (mPositionWidth > mPageWidth) { mPositionHeight += mTileHeight; - mPositionWidth = 0; - } + mY += TILE_SIZE; - if (mPositionHeight > mPageHeight || mPositionHeight > 20000) { - mShouldContinue = false; + mPositionWidth = 0; + mX = 0; } - bitmap.copyPixelsFromBuffer(buffer); - return bitmap; + return tile; } @Override @@ -96,7 +117,7 @@ public class LOKitTileProvider implements TileProvider { } @Override - public Iterator<Bitmap> iterator() { + public Iterator<SubTile> iterator() { return this; } } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java index 04ebfb4..ab535a9 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/MockTileProvider.java @@ -3,13 +3,17 @@ package org.libreoffice; import android.graphics.Bitmap; import org.apache.http.MethodNotSupportedException; +import org.mozilla.gecko.gfx.BufferedCairoImage; +import org.mozilla.gecko.gfx.CairoImage; import org.mozilla.gecko.gfx.LayerController; +import org.mozilla.gecko.gfx.SubTile; import java.util.Iterator; import java.util.List; public class MockTileProvider implements TileProvider { private final LayerController layerController; + private static final int TILE_SIZE = 256; public MockTileProvider(LayerController layerController) { this.layerController = layerController; @@ -29,11 +33,14 @@ public class MockTileProvider implements TileProvider { return new MockTileIterator(layerController); } - public class MockTileIterator implements TileIterator, Iterator<Bitmap> { + public class MockTileIterator implements TileIterator, Iterator<SubTile> { private final LayerController layerController; private int tileNumber = 1; + private int x = 0; + private int y = 0; + public MockTileIterator(LayerController layerController) { this.layerController = layerController; } @@ -44,11 +51,23 @@ public class MockTileProvider implements TileProvider { } @Override - public Bitmap next() { + public SubTile next() { String imageName = "d" + tileNumber; tileNumber++; Bitmap bitmap = layerController.getDrawable(imageName); - return bitmap; + + CairoImage image = new BufferedCairoImage(bitmap); + SubTile tile = new SubTile(image, x, y); + tile.beginTransaction(); + + x += TILE_SIZE; + + if (x > getPageWidth()) { + x = 0; + y += TILE_SIZE; + } + + return tile; } @Override @@ -57,7 +76,7 @@ public class MockTileProvider implements TileProvider { } @Override - public Iterator<Bitmap> iterator() { + public Iterator<SubTile> iterator() { return this; } } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileIterator.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileIterator.java index 68c39e5..b091561 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileIterator.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileIterator.java @@ -1,6 +1,6 @@ package org.libreoffice; -import android.graphics.Bitmap; +import org.mozilla.gecko.gfx.SubTile; -public interface TileIterator extends Iterable<Bitmap> { +public interface TileIterator extends Iterable<SubTile> { } diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java index a405fdf..dbaa040 100644 --- a/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java +++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/TileProvider.java @@ -1,13 +1,8 @@ package org.libreoffice; -import android.graphics.Bitmap; - -import java.util.List; - -public interface TileProvider { +public interface TileProvider { int getPageWidth(); - int getPageHeight(); TileIterator getTileIterator(); diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoSoftwareLayerClient.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoSoftwareLayerClient.java index 42bc0b6..58e6263 100644 --- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoSoftwareLayerClient.java +++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/GeckoSoftwareLayerClient.java @@ -139,9 +139,9 @@ public class GeckoSoftwareLayerClient extends GeckoLayerClient { return TILE_SIZE; } - public void addTile(Bitmap bitmap, int x, int y) { + public void addTile(SubTile tile) { if (mTileLayer instanceof MultiTileLayer) { - ((MultiTileLayer)mTileLayer).addTile(bitmap, x, y); + ((MultiTileLayer)mTileLayer).addTile(tile); } } } diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java index a958a54..56ff5ec 100644 --- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java +++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/MultiTileLayer.java @@ -241,9 +241,7 @@ public class MultiTileLayer extends Layer { return validRegion; } - public void addTile(Bitmap bitmap, int x, int y) { - SubTile tile = new SubTile(new BufferedCairoImage(bitmap), x,y); - tile.beginTransaction(); + public void addTile(SubTile tile) { mTiles.add(tile); } } diff --git a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/SubTile.java b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/SubTile.java index 0c40c3c..b2464bc 100644 --- a/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/SubTile.java +++ b/android/experimental/LOAndroid3/src/java/org/mozilla/gecko/gfx/SubTile.java @@ -1,8 +1,5 @@ package org.mozilla.gecko.gfx; -/** -* Created by quikee on 29.6.2014. -*/ public class SubTile extends SingleTileLayer { public int x; public int y;
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits