package org.ebookdroid.core; import android.graphics.RectF; import java.util.Queue; public class EventZoomIn extends AbstractEventZoom<EventZoomIn> { EventZoomIn(final Queue<EventZoomIn> eventQueue) { super(eventQueue); } /** * {@inheritDoc} * * @see org.ebookdroid.core.IEvent#process(org.ebookdroid.core.ViewState, org.ebookdroid.core.PageTreeNode) */ @Override public final boolean process(final PageTreeNode node) { final RectF pageBounds = viewState.getBounds(node.page); if (!viewState.isNodeKeptInMemory(node, pageBounds)) { node.recycle(bitmapsToRecycle); return false; } if (isReDecodingRequired(viewState, node, committed)) { node.stopDecodingThisNode("Zoom changed"); node.decodePageTreeNode(nodesToDecode, viewState); } else if (!node.holder.hasBitmaps()) { node.decodePageTreeNode(nodesToDecode, viewState); } return true; } protected final boolean isReDecodingRequired(final ViewState viewState, final PageTreeNode node, final boolean committed) { return committed && viewState.zoom != node.bitmapZoom; } }