package org.ebookdroid.core;
import org.ebookdroid.common.bitmaps.ByteBufferBitmap;
import org.ebookdroid.common.bitmaps.IBitmapRef;
import org.ebookdroid.core.codec.CodecFeatures;
import org.ebookdroid.core.codec.CodecPage;
import org.ebookdroid.core.codec.CodecPageInfo;
import org.ebookdroid.core.codec.OutlineLink;
import android.graphics.RectF;
import java.util.List;
public interface DecodeService extends CodecFeatures {
void open(String fileName, String password);
void decodePage(ViewState viewState, PageTreeNode node);
void searchText(Page page, String pattern, SearchCallback callback);
void stopSearch(String pattern);
void stopDecoding(PageTreeNode node, String reason);
int getPageCount();
List<OutlineLink> getOutline();
CodecPageInfo getUnifiedPageInfo();
CodecPageInfo getPageInfo(int pageIndex);
void recycle();
void updateViewState(ViewState viewState);
IBitmapRef createThumbnail(boolean useEmbeddedIfAvailable, int width, int height, int pageNo, RectF region);
ByteBufferBitmap createPageThumbnail(int width, int height, int pageNo, RectF region);
interface DecodeCallback {
void decodeComplete(CodecPage codecPage, ByteBufferBitmap bitmap, RectF croppedPageBounds);
}
interface SearchCallback {
void searchComplete(Page page, List<? extends RectF> regions);
}
}