All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.icepdf.ri.common.views.AnnotationCallback Maven / Gradle / Ivy

/*
 * 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.ri.common.views;

import org.icepdf.core.pobjects.Page;
import org.icepdf.core.pobjects.actions.Action;
import org.icepdf.core.pobjects.annotations.Annotation;

/**
 * 

Annotation callback allows developers to control how Annotation and * their actions are executed. Developers also have have the option to * change annotation visibility attributes such as border style, border color * and border stroke width before the annotation is painted.

* * @author ICEsoft Technologies, Inc. * @see org.icepdf.ri.common.views.DocumentViewController#setAnnotationCallback(AnnotationCallback) * @since 2.6 */ public interface AnnotationCallback { /** *

Implemented Annotation Callback method. When an annotation is activated * in a PageViewComponent it passes the annotation to this method for * processing. The PageViewComponent take care of drawing the annotation * states but it up to this method to process the annotation.

*

Form Widgets submit and reset actions are also handled by this callback.

* * @param annotation annotation that was activated by a user via the * PageViewComponent. * @param action the action event that was fired when the annotation was clicked. This can be * the A or AA entry. * @param x x-coordinate of input device click that initiated the annotation action. * @param y y-coordinate of input device click that initiated the annotation action. */ public void processAnnotationAction(Annotation annotation, Action action, int x, int y); /** *

Implemented Annotation Callback method. This method is called when a * pages annotations been initialized but before the page has been painted. * This method blocks the

* * @param page page that has been initialized. The pages annotations are * available via an accessor method. */ public void pageAnnotationsInitialized(Page page); /** * New annotation created with view tool. * * @param page page that annotation was added to. * @param annotationComponent annotation component to be added to page. */ public void newAnnotation(PageViewComponent page, AnnotationComponent annotationComponent); /** * Update the annotation and ready state for save. * * @param annotationComponent annotation component to be added to page. */ public void updateAnnotation(AnnotationComponent annotationComponent); /** * Remove the annotation and ready state for save. * * @param pageComponent page that annotation should be removed. * @param annotationComponent annotation component to be added to page. */ public void removeAnnotation(PageViewComponent pageComponent, AnnotationComponent annotationComponent); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy