// Path: android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/link/LinkHandler.java
// public interface LinkHandler {
// 
//     /**
//      * Called when link was tapped by user
//      *
//      * @param event current event
//      */
//     void handleLinkEvent(LinkTapEvent event);
// }
// 
// Path: android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/model/LinkTapEvent.java
// public class LinkTapEvent {
//     private float originalX;
//     private float originalY;
//     private float documentX;
//     private float documentY;
//     private RectF mappedLinkRect;
//     private PdfDocument.Link link;
// 
//     public LinkTapEvent(float originalX, float originalY, float documentX, float documentY, RectF mappedLinkRect, PdfDocument.Link link) {
//         this.originalX = originalX;
//         this.originalY = originalY;
//         this.documentX = documentX;
//         this.documentY = documentY;
//         this.mappedLinkRect = mappedLinkRect;
//         this.link = link;
//     }
// 
//     public float getOriginalX() {
//         return originalX;
//     }
// 
//     public float getOriginalY() {
//         return originalY;
//     }
// 
//     public float getDocumentX() {
//         return documentX;
//     }
// 
//     public float getDocumentY() {
//         return documentY;
//     }
// 
//     public RectF getMappedLinkRect() {
//         return mappedLinkRect;
//     }
// 
//     public PdfDocument.Link getLink() {
//         return link;
//     }
// }


import android.view.MotionEvent;
import com.github.barteksc.pdfviewer.link.LinkHandler;
import com.github.barteksc.pdfviewer.model.LinkTapEvent;
/**
 * Copyright 2017 Bartosz Schiller
 * <p/>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p/>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p/>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.github.barteksc.pdfviewer.listener;



public class Callbacks {

    /**
     * Call back object to call when the PDF is loaded
     */
    private OnLoadCompleteListener onLoadCompleteListener;

    /**
     * Call back object to call when document loading error occurs
     */
    private OnErrorListener onErrorListener;

    /**
     * Call back object to call when the page load error occurs
     */
    private OnPageErrorListener onPageErrorListener;

    /**
     * Call back object to call when the document is initially rendered
     */
    private OnRenderListener onRenderListener;

    /**
     * Call back object to call when the page has changed
     */
    private OnPageChangeListener onPageChangeListener;

    /**
     * Call back object to call when the page is scrolled
     */
    private OnPageScrollListener onPageScrollListener;

    /**
     * Call back object to call when the above layer is to drawn
     */
    private OnDrawListener onDrawListener;

    private OnDrawListener onDrawAllListener;

    /**
     * Call back object to call when the user does a tap gesture
     */
    private OnTapListener onTapListener;

    /**
     * Call back object to call when the user does a long tap gesture
     */
    private OnLongPressListener onLongPressListener;

    /**
     * Call back object to call when clicking link
     */
// Path: android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/link/LinkHandler.java
// public interface LinkHandler {
// 
//     /**
//      * Called when link was tapped by user
//      *
//      * @param event current event
//      */
//     void handleLinkEvent(LinkTapEvent event);
// }
// 
// Path: android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/model/LinkTapEvent.java
// public class LinkTapEvent {
//     private float originalX;
//     private float originalY;
//     private float documentX;
//     private float documentY;
//     private RectF mappedLinkRect;
//     private PdfDocument.Link link;
// 
//     public LinkTapEvent(float originalX, float originalY, float documentX, float documentY, RectF mappedLinkRect, PdfDocument.Link link) {
//         this.originalX = originalX;
//         this.originalY = originalY;
//         this.documentX = documentX;
//         this.documentY = documentY;
//         this.mappedLinkRect = mappedLinkRect;
//         this.link = link;
//     }
// 
//     public float getOriginalX() {
//         return originalX;
//     }
// 
//     public float getOriginalY() {
//         return originalY;
//     }
// 
//     public float getDocumentX() {
//         return documentX;
//     }
// 
//     public float getDocumentY() {
//         return documentY;
//     }
// 
//     public RectF getMappedLinkRect() {
//         return mappedLinkRect;
//     }
// 
//     public PdfDocument.Link getLink() {
//         return link;
//     }
// }


// Path: android-pdf-viewer/src/main/java/com/github/barteksc/pdfviewer/listener/Callbacks.java
import android.view.MotionEvent;
import com.github.barteksc.pdfviewer.link.LinkHandler;
import com.github.barteksc.pdfviewer.model.LinkTapEvent;

/**
 * Copyright 2017 Bartosz Schiller
 * <p/>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p/>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p/>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.github.barteksc.pdfviewer.listener;



public class Callbacks {

    /**
     * Call back object to call when the PDF is loaded
     */
    private OnLoadCompleteListener onLoadCompleteListener;

    /**
     * Call back object to call when document loading error occurs
     */
    private OnErrorListener onErrorListener;

    /**
     * Call back object to call when the page load error occurs
     */
    private OnPageErrorListener onPageErrorListener;

    /**
     * Call back object to call when the document is initially rendered
     */
    private OnRenderListener onRenderListener;

    /**
     * Call back object to call when the page has changed
     */
    private OnPageChangeListener onPageChangeListener;

    /**
     * Call back object to call when the page is scrolled
     */
    private OnPageScrollListener onPageScrollListener;

    /**
     * Call back object to call when the above layer is to drawn
     */
    private OnDrawListener onDrawListener;

    private OnDrawListener onDrawAllListener;

    /**
     * Call back object to call when the user does a tap gesture
     */
    private OnTapListener onTapListener;

    /**
     * Call back object to call when the user does a long tap gesture
     */
    private OnLongPressListener onLongPressListener;

    /**
     * Call back object to call when clicking link
     */
    private LinkHandler linkHandler;