/* * Copyright 2006-2017 ICEsoft Technologies Canada Corp. * * 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 * * http://www.apache.org/licenses/LICENSE-2.0 * * 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 org.icepdf.core.events; /** * The PageProcessingListener can be used to listen for a variety of Page * level vents pertaining to the loading of the PDF page. The hierarchy * and ordering of the events is as follows. PageImageEvent can happen at any * point between the PageLoadingEvent. * <ul> * <li>pageLoadingStarted(v event);</li> * <li>pageInitializationStarted(PageProcessingEvent event);</li> * <li>pageImageLoaded(PageImageEvent event)</li> * <li>pageInitializationEnded(PageProcessingEvent event)</li> * <li>pagePaintingStarted(PagePaintingEvent event)</li> * <li>pageImageLoaded(PageImageEvent event)</li> * <li>pagePaintingEnded(PagePaintingEvent event)</li> * <li>pageLoadingEnded(PageLoadingEvent event)</li> * </ul> * * @since 5.1.0 */ public interface PageLoadingListener { /** * Page loading has started. PageLoadingEvent can be used to get the total * number content streams and image streams that will be parsed. * * @param event PageLoadingEvent is fired populated with data. */ public void pageLoadingStarted(PageLoadingEvent event); /** * Page initialization has started which is the parsing of the Page's * content stream. * * @param event PageProcessingEvent with data set to false. */ public void pageInitializationStarted(PageInitializingEvent event); /** * Page initialization has be ended via successful parse or an interrupt * exception. The PageProcessingEvent can be used to determine if the * page was successfully parsed. * * @param event PageProcessingEvent can be used to see if page was * successfully parsed or was interrupted. */ public void pageInitializationEnded(PageInitializingEvent event); /** * A pages images has been parsed. The PageImageEvent can be used to find out * if the parse was successful, image index and total number of images associated * with the page. * * @param event PageImageEvent */ public void pageImageLoaded(PageImageEvent event); /** * Page painting has begun. The PagePaintingEvent can be used to find out * the number of shapes being painted. * * @param event PagePaintingEvent */ public void pagePaintingStarted(PagePaintingEvent event); /** * Page painting has stopped. Teh PagePaintingEvent can be used to find out * if the paint was completed or if there was an interrupt. * * @param event PagePaintingEvent */ public void pagePaintingEnded(PagePaintingEvent event); /** * Page loading has completed and all images have been loaded, no further * page processing will take place. * * @param event PageLoadingEvent */ public void pageLoadingEnded(PageLoadingEvent event); }