summaryrefslogtreecommitdiff
path: root/platform/android/example/app/src
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/example/app/src')
-rw-r--r--platform/android/example/app/src/main/AndroidManifest.xml2
-rw-r--r--platform/android/example/app/src/main/java/com/artifex/mupdf/example/DocViewActivity.java93
-rw-r--r--platform/android/example/app/src/main/res/layout/activity_doc_view.xml60
3 files changed, 13 insertions, 142 deletions
diff --git a/platform/android/example/app/src/main/AndroidManifest.xml b/platform/android/example/app/src/main/AndroidManifest.xml
index c1dc4e52..bdd8e804 100644
--- a/platform/android/example/app/src/main/AndroidManifest.xml
+++ b/platform/android/example/app/src/main/AndroidManifest.xml
@@ -3,7 +3,7 @@
package="com.artifex.mupdf.example">
<uses-sdk
- android:minSdkVersion="8"
+ android:minSdkVersion="16"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
diff --git a/platform/android/example/app/src/main/java/com/artifex/mupdf/example/DocViewActivity.java b/platform/android/example/app/src/main/java/com/artifex/mupdf/example/DocViewActivity.java
index a0e989ff..32f2cecd 100644
--- a/platform/android/example/app/src/main/java/com/artifex/mupdf/example/DocViewActivity.java
+++ b/platform/android/example/app/src/main/java/com/artifex/mupdf/example/DocViewActivity.java
@@ -1,105 +1,30 @@
package com.artifex.mupdf.example;
import android.app.Activity;
-import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Bundle;
-import android.view.View;
-import android.widget.ImageView;
-import android.widget.TextView;
-import com.artifex.mupdf.fitz.ColorSpace;
-import com.artifex.mupdf.fitz.Document;
-import com.artifex.mupdf.fitz.Matrix;
-import com.artifex.mupdf.fitz.Page;
-import com.artifex.mupdf.fitz.Pixmap;
+import com.artifex.mupdf.android.DocView;
public class DocViewActivity extends Activity
{
- private int mPageCount;
- private int mCurrentPage;
-
- Document mDocument;
- Page mPage;
- Bitmap mBitmap = null;
-
- ImageView mImageView;
- TextView mTextView;
+ private DocView mDocView;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_doc_view);
- mImageView = (ImageView)findViewById(R.id.image_view);
- mTextView = (TextView)findViewById(R.id.page_text);
+ // set up UI
+ setContentView(R.layout.activity_doc_view);
+ mDocView = (DocView)findViewById(R.id.doc_view);
- // load the doc
+ // get the file path
Uri uri = getIntent().getData();
- String path = Uri.decode(uri.getEncodedPath());
- mDocument = new Document(path);
- mPageCount = mDocument.countPages();
-
- // show the first page
- mCurrentPage = 0;
- displayCurrentPage();
- }
+ final String path = Uri.decode(uri.getEncodedPath());
- public void onFirstPageButton(final View v)
- {
- mCurrentPage = 0;
- displayCurrentPage();
- }
-
- public void onPreviousPageButton(final View v)
- {
- if (mCurrentPage > 0)
- {
- mCurrentPage--;
- displayCurrentPage();
- }
+ // start the view
+ mDocView.start(path);
}
- public void onNextPageButton(final View v)
- {
- if (mCurrentPage < mPageCount-1)
- {
- mCurrentPage++;
- displayCurrentPage();
- }
- }
-
- public void onLastPageButton(final View v)
- {
- mCurrentPage = mPageCount-1;
- displayCurrentPage();
- }
-
- private void displayCurrentPage()
- {
- // report the page number
- mTextView.setText(String.format("page %d of %d",mCurrentPage+1,mPageCount));
-
- // get the page
- mPage = mDocument.loadPage(mCurrentPage);
-
- // create a matrix that renders at 300 DPI
- Matrix m = new Matrix();
- m.scale(300.0f/72.0f);
-
- // create a new bitmap for the page
- Bitmap old = mBitmap;
- Pixmap pixmap = mPage.toPixmap(m, ColorSpace.DeviceBGR);
- mBitmap = Bitmap.createBitmap(pixmap.getWidth(), pixmap.getHeight(), Bitmap.Config.ARGB_8888);
- int [] pixels = pixmap.getPixels();
- mBitmap.setPixels(pixels, 0, pixmap.getWidth(), 0, 0, pixmap.getWidth(), pixmap.getHeight());
-
- // set the bitmap in the UI
- mImageView.setImageBitmap(mBitmap);
-
- // recycle the old bitmap
- if (old!=null)
- old.recycle();
- }
}
diff --git a/platform/android/example/app/src/main/res/layout/activity_doc_view.xml b/platform/android/example/app/src/main/res/layout/activity_doc_view.xml
index 05cee21a..7f5ece24 100644
--- a/platform/android/example/app/src/main/res/layout/activity_doc_view.xml
+++ b/platform/android/example/app/src/main/res/layout/activity_doc_view.xml
@@ -4,64 +4,10 @@
android:layout_height="match_parent"
android:orientation="vertical">
- <LinearLayout
- android:orientation="horizontal"
- android:layout_width="match_parent"
- android:layout_height="wrap_content">
-
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="|&lt;-"
- android:id="@+id/first_page_button"
- android:onClick="onFirstPageButton"
- android:minWidth="60dp" />
-
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="&lt;"
- android:id="@+id/previous_page_button"
- android:onClick="onPreviousPageButton"
- android:minWidth="60dp" />
-
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text=">"
- android:id="@+id/next_page_button"
- android:onClick="onNextPageButton"
- android:minWidth="60dp" />
-
- <Button
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="->|"
- android:id="@+id/last_page_button"
- android:onClick="onLastPageButton"
- android:minWidth="60dp" />
-
- <TextView
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceMedium"
- android:text="Medium Text"
- android:textColor="@color/white"
- android:id="@+id/page_text" />
-
- </LinearLayout>
-
- <LinearLayout
- android:orientation="vertical"
+ <com.artifex.mupdf.android.DocView
+ android:id="@+id/doc_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
-
- <ImageView
- android:id="@+id/image_view"
- android:layout_width="match_parent"
- android:layout_height="match_parent">
- </ImageView>
-
- </LinearLayout>
+ </com.artifex.mupdf.android.DocView>
</LinearLayout>