MCPcopy Index your code
hub / github.com/wonday/react-native-pdf / PdfView

Class PdfView

android/src/main/java/org/wonday/pdf/PdfView.java:62–542  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

60import org.wonday.pdf.events.TopChangeEvent;
61
62public class PdfView extends PDFView implements OnPageChangeListener,OnLoadCompleteListener,OnErrorListener,OnTapListener,OnDrawListener,OnPageScrollListener, LinkHandler {
63 private int page = 1; // start from 1
64 private boolean horizontal = false;
65 private float scale = 1;
66 private float minScale = 1;
67 private float maxScale = 3;
68 private String path;
69 private int spacing = 10;
70 private String password = "";
71 private boolean enableAntialiasing = true;
72 private boolean enableAnnotationRendering = true;
73 private boolean enableDoubleTapZoom = true;
74
75 private boolean enablePaging = false;
76 private boolean autoSpacing = false;
77 private boolean pageFling = false;
78 private boolean pageSnap = false;
79 private FitPolicy fitPolicy = FitPolicy.WIDTH;
80 private boolean singlePage = false;
81 private boolean scrollEnabled = true;
82 private boolean enableRTL = false;
83
84 private float originalWidth = 0;
85 private float lastPageWidth = 0;
86 private float lastPageHeight = 0;
87
88 // used to store the parameters for `super.onSizeChanged`
89 private int oldW = 0;
90 private int oldH = 0;
91
92 public PdfView(Context context, AttributeSet set){
93 super(context, set);
94 }
95
96 @Override
97 public void onPageChanged(int page, int numberOfPages) {
98 // pdf lib page start from 0, convert it to our page (start from 1)
99 page = page+1;
100 this.page = page;
101 showLog(format("%s %s / %s", path, page, numberOfPages));
102
103 WritableMap event = Arguments.createMap();
104 event.putString("message", "pageChanged|"+page+"|"+numberOfPages);
105
106 ThemedReactContext context = (ThemedReactContext) getContext();
107 EventDispatcher dispatcher = UIManagerHelper.getEventDispatcherForReactTag(context, getId());
108 int surfaceId = UIManagerHelper.getSurfaceId(this);
109
110 TopChangeEvent tce = new TopChangeEvent(surfaceId, getId(), event);
111
112 if (dispatcher != null) {
113 new Handler(Looper.getMainLooper()).postDelayed(() -> dispatcher.dispatchEvent(tce), 10);
114 }
115
116// ReactContext reactContext = (ReactContext)this.getContext();
117// reactContext.getJSModule(RCTEventEmitter.class).receiveEvent(
118// this.getId(),
119// "topChange",

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected