summaryrefslogtreecommitdiff
path: root/platform/android/viewer/src/com/artifex/mupdfdemo/MuPDFReflowView.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/viewer/src/com/artifex/mupdfdemo/MuPDFReflowView.java')
-rw-r--r--platform/android/viewer/src/com/artifex/mupdfdemo/MuPDFReflowView.java182
1 files changed, 0 insertions, 182 deletions
diff --git a/platform/android/viewer/src/com/artifex/mupdfdemo/MuPDFReflowView.java b/platform/android/viewer/src/com/artifex/mupdfdemo/MuPDFReflowView.java
deleted file mode 100644
index 7d41a9b9..00000000
--- a/platform/android/viewer/src/com/artifex/mupdfdemo/MuPDFReflowView.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package com.artifex.mupdfdemo;
-
-import android.content.Context;
-import android.graphics.Point;
-import android.graphics.PointF;
-import android.graphics.RectF;
-import android.os.Handler;
-import android.util.Base64;
-import android.view.MotionEvent;
-import android.view.View;
-import android.webkit.WebView;
-import android.webkit.WebViewClient;
-
-public class MuPDFReflowView extends WebView implements MuPDFView {
- private final MuPDFCore mCore;
- private final Handler mHandler;
- private final Point mParentSize;
- private int mPage;
- private float mScale;
- private int mContentHeight;
- AsyncTask<Void,Void,byte[]> mLoadHTML;
-
- public MuPDFReflowView(Context c, MuPDFCore core, Point parentSize) {
- super(c);
- mHandler = new Handler();
- mCore = core;
- mParentSize = parentSize;
- mScale = 1.0f;
- mContentHeight = parentSize.y;
- getSettings().setJavaScriptEnabled(true);
- addJavascriptInterface(new Object(){
- public void reportContentHeight(String value) {
- mContentHeight = (int)Float.parseFloat(value);
- mHandler.post(new Runnable() {
- public void run() {
- requestLayout();
- }
- });
- }
- }, "HTMLOUT");
- setWebViewClient(new WebViewClient() {
- @Override
- public void onPageFinished(WebView view, String url) {
- setScale(mScale);
- }
- });
- }
-
- private void requestHeight() {
- // Get the webview to report the content height via the interface setup
- // above. Workaround for getContentHeight not working
- loadUrl("javascript:elem=document.getElementById('content');window.HTMLOUT.reportContentHeight("+mParentSize.x+"*elem.offsetHeight/elem.offsetWidth)");
- }
-
- public void setPage(int page, PointF size) {
- mPage = page;
- if (mLoadHTML != null) {
- mLoadHTML.cancel(true);
- }
- mLoadHTML = new AsyncTask<Void,Void,byte[]>() {
- @Override
- protected byte[] doInBackground(Void... params) {
- return mCore.html(mPage);
- }
- @Override
- protected void onPostExecute(byte[] result) {
- String b64 = Base64.encodeToString(result, Base64.DEFAULT);
- loadData(b64, "text/html; charset=utf-8", "base64");
- }
- };
- mLoadHTML.execute();
- }
-
- public int getPage() {
- return mPage;
- }
-
- public void setScale(float scale) {
- mScale = scale;
- loadUrl("javascript:document.getElementById('content').style.zoom=\""+(int)(mScale*100)+"%\"");
- requestHeight();
- }
-
- public void blank(int page) {
- }
-
- public Hit passClickEvent(float x, float y) {
- return Hit.Nothing;
- }
-
- public LinkInfo hitLink(float x, float y) {
- return null;
- }
-
- public void selectText(float x0, float y0, float x1, float y1) {
- }
-
- public void deselectText() {
- }
-
- public boolean copySelection() {
- return false;
- }
-
- public boolean markupSelection(Annotation.Type type) {
- return false;
- }
-
- public void startDraw(float x, float y) {
- }
-
- public void continueDraw(float x, float y) {
- }
-
- public void cancelDraw() {
- }
-
- public boolean saveDraw() {
- return false;
- }
-
- public void setSearchBoxes(RectF[] searchBoxes) {
- }
-
- public void setLinkHighlighting(boolean f) {
- }
-
- public void deleteSelectedAnnotation() {
- }
-
- public void deselectAnnotation() {
- }
-
- public void setChangeReporter(Runnable reporter) {
- }
-
- public void update() {
- }
-
- public void updateHq(boolean update) {
- }
-
- public void removeHq() {
- }
-
- public void releaseResources() {
- if (mLoadHTML != null) {
- mLoadHTML.cancel(true);
- mLoadHTML = null;
- }
- }
-
- public void releaseBitmaps() {
- }
-
- @Override
- protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
- int x, y;
- switch(View.MeasureSpec.getMode(widthMeasureSpec)) {
- case View.MeasureSpec.UNSPECIFIED:
- x = mParentSize.x;
- break;
- default:
- x = View.MeasureSpec.getSize(widthMeasureSpec);
- }
- switch(View.MeasureSpec.getMode(heightMeasureSpec)) {
- case View.MeasureSpec.UNSPECIFIED:
- y = mContentHeight;
- break;
- default:
- y = View.MeasureSpec.getSize(heightMeasureSpec);
- }
-
- setMeasuredDimension(x, y);
- }
-
- @Override
- public boolean onTouchEvent(MotionEvent ev) {
- // TODO Auto-generated method stub
- return false;
- }
-}