]> rtime.felk.cvut.cz Git - hornmich/skoda-qr-demo.git/blobdiff - QRScanner/glass/src/main/java/cz/cvut/fel/dce/qrscanner/pdfviewer/PdfPageView.java
Clean and coment the code.
[hornmich/skoda-qr-demo.git] / QRScanner / glass / src / main / java / cz / cvut / fel / dce / qrscanner / pdfviewer / PdfPageView.java
index 44fcfb02735e230af48f51c66c210dcc8071d60c..8ee3d6e2ed51af8a5a41f56ef3f74cdee4b91f4b 100644 (file)
@@ -8,12 +8,15 @@ import android.util.Log;
 import android.view.View;
 
 import java.io.File;
-import java.sql.Time;
 
 import cz.cvut.fel.dce.qrscanner.mupdf.MuPDFCore;
 
 /**
- * Created by Michal Horn on 16.2.15.
+ * View for viewing PDF page.
+ *
+ * This view is designed to be used in two ways.
+ * 1) To view the PDF page itself on the device, which is supported by an interface for scrolling, zooming, switching pages and loading pages.
+ * 2) To load the PDF page to a bitmap, which can be accessed in the program by calling getPageBitmap() method.
  */
 public class PdfPageView  extends View {
        /**
@@ -173,10 +176,18 @@ public class PdfPageView  extends View {
                Log.i(TAG, "Pages: " + mPage.toString());
        }
 
+       /**
+        * Get actual page. The actual page can be selected by setPage() method.
+        * @return actual page.
+        */
        public int getActualPage() {
                return mPage.getValue();
        }
 
+       /**
+        * Get total number of pages in the document
+        * @return total number of pages
+        */
        public int getLastPage() {
                return mPage.getMaximum();
        }
@@ -185,6 +196,12 @@ public class PdfPageView  extends View {
                return mPage.setValue(page);
        }
 
+       /**
+        * Load PDF and convert selected page to a bitmap.
+        *
+        * The page of the PDF document can be selected by setPage() method.
+        * This method can take significant time to finish. Consider calling it in separated thread.
+        */
        public void loadPage() {
                long startTime = System.currentTimeMillis();
                try {
@@ -200,7 +217,7 @@ public class PdfPageView  extends View {
                        mYPosition = new IntervalValue<>(360.0f/2, -mSceneHeight+360.0f/2, mSceneHeight+360.0f/2);
                        mZoom = new IntervalValue<>(1.0f, 0.2f, 2.0f);
                } catch (Exception e) {
-                       Log.e(TAG, "Error in setting page dimensions.");
+                       Log.e(TAG, "Error in setting page dimensions: " + e.getMessage());
                        e.printStackTrace();
                }
                long endTime = System.currentTimeMillis();
@@ -211,12 +228,14 @@ public class PdfPageView  extends View {
                }
        }
 
+       /**
+        * Get PDF page bitmap
+        * @return Bitmap of the PDF page or null, if it has not been yet loaded.
+        */
        public Bitmap getPageBitmap() {
                return mPdfBitmap;
        }
 
-
-
        /**
         * Set a listener of the events
         * @param listener listener of the events
@@ -225,6 +244,9 @@ public class PdfPageView  extends View {
                mListener = listener;
        }
 
+       /**
+        * Clear listener.
+        */
        public void clearListener() {
                mListener = null;
        }
@@ -238,7 +260,7 @@ public class PdfPageView  extends View {
                if (!mPageLoaded) return;
                float ratio = mZoom.getValue();
                ratio += deltaRatio;
-               if (mZoom.setValue(ratio) == true && mListener != null) {
+               if (mZoom.setValue(ratio) && mListener != null) {
                        mListener.onViewChanged(this);
                }
        }