3232import static com .compdfkit .flutter .compdfkit_flutter .constants .CPDFConstants .ChannelMethod .IS_VERTICAL_MODE ;
3333import static com .compdfkit .flutter .compdfkit_flutter .constants .CPDFConstants .ChannelMethod .RELOAD_PAGES ;
3434import static com .compdfkit .flutter .compdfkit_flutter .constants .CPDFConstants .ChannelMethod .SET_ANNOTATION_MODE ;
35+ import static com .compdfkit .flutter .compdfkit_flutter .constants .CPDFConstants .ChannelMethod .SET_WIDGET_BACKGROUND_COLOR ;
3536import static com .compdfkit .flutter .compdfkit_flutter .constants .CPDFConstants .ChannelMethod .SHOW_ADD_WATERMARK_VIEW ;
3637import static com .compdfkit .flutter .compdfkit_flutter .constants .CPDFConstants .ChannelMethod .SHOW_BOTA_VIEW ;
3738import static com .compdfkit .flutter .compdfkit_flutter .constants .CPDFConstants .ChannelMethod .SHOW_DISPLAY_SETTINGS_VIEW ;
@@ -103,9 +104,9 @@ public CPDFViewCtrlPlugin(Context context, BinaryMessenger binaryMessenger, int
103104
104105 public void setDocumentFragment (CPDFDocumentFragment documentFragment ) {
105106 this .documentFragment = documentFragment ;
106- this .documentFragment .setInitListener ((pdfView )-> {
107+ this .documentFragment .setInitListener ((pdfView ) -> {
107108 documentPlugin .setReaderView (pdfView );
108- if (methodChannel != null ){
109+ if (methodChannel != null ) {
109110 methodChannel .invokeMethod ("onDocumentIsReady" , null );
110111 }
111112 pdfView .addReaderViewCallback (new CPDFIReaderViewCallback () {
@@ -140,8 +141,8 @@ public void onTapMainDocArea() {
140141 Map <String , Object > map = new HashMap <>();
141142 map .put ("canUndo" , cpdfUndoManager .canUndo ());
142143 map .put ("canRedo" , cpdfUndoManager .canRedo ());
143- if (methodChannel != null ){
144- methodChannel .invokeMethod ("onAnnotationHistoryChanged" , map );
144+ if (methodChannel != null ) {
145+ methodChannel .invokeMethod ("onAnnotationHistoryChanged" , map );
145146 }
146147 });
147148
@@ -152,7 +153,7 @@ public void onTapMainDocArea() {
152153 }
153154 });
154155 documentFragment .setFillScreenChangeListener (isFillScreen -> {
155- if (methodChannel != null ){
156+ if (methodChannel != null ) {
156157 methodChannel .invokeMethod ("onFullScreenChanged" , isFillScreen );
157158 }
158159 });
@@ -190,12 +191,33 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result
190191 break ;
191192 case SET_READ_BACKGROUND_COLOR :
192193 String colorHex = call .argument ("color" );
194+ String displayMode = call .argument ("displayMode" );
193195 readerView .setReadBackgroundColor (Color .parseColor (colorHex ));
194- if ("#FFFFFFFF" .equals (colorHex )){
195- pdfView .setBackgroundColor (ContextCompat .getColor (context , com .compdfkit .tools .R .color .tools_pdf_view_ctrl_background_color ));
196- } else {
197- pdfView .setBackgroundColor (
198- CViewUtils .getColor (Color .parseColor (colorHex ), 190 ));
196+ switch (displayMode ) {
197+ case "light" :
198+ pdfView .setBackgroundColor (ContextCompat .getColor (context ,
199+ com .compdfkit .tools .R .color .tools_pdf_view_ctrl_background_color ));
200+ break ;
201+ case "dark" :
202+ pdfView .setBackgroundColor (ContextCompat .getColor (context ,
203+ com .compdfkit .tools .R .color .tools_pdf_view_ctrl_background_color_dark ));
204+ break ;
205+ case "sepia" :
206+ pdfView .setBackgroundColor (ContextCompat .getColor (context ,
207+ com .compdfkit .tools .R .color .tools_pdf_view_ctrl_background_color_sepia ));
208+ break ;
209+ case "reseda" :
210+ pdfView .setBackgroundColor (ContextCompat .getColor (context ,
211+ com .compdfkit .tools .R .color .tools_pdf_view_ctrl_background_color_reseda ));
212+ break ;
213+ }
214+ result .success (null );
215+ break ;
216+ case SET_WIDGET_BACKGROUND_COLOR :
217+ String widgetColorHex = (String ) call .arguments ;
218+ try {
219+ pdfView .setBackgroundColor (Color .parseColor (widgetColorHex ));
220+ } catch (Exception e ) {
199221 }
200222 result .success (null );
201223 break ;
@@ -297,9 +319,9 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result
297319 boolean noZoomPage = call .argument ("noZoom" );
298320 int page = call .argument ("pageIndex" );
299321 RectF rectF ;
300- if (noZoomPage ){
322+ if (noZoomPage ) {
301323 rectF = readerView .getPageNoZoomSize (page );
302- }else {
324+ } else {
303325 rectF = readerView .getPageSize (page );
304326 }
305327 Map <String , Float > pageSizeMap = new HashMap <>();
@@ -354,8 +376,8 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result
354376 String typeStr = call .arguments ();
355377
356378 CAnnotationType type ;
357- try {
358- switch (typeStr ){
379+ try {
380+ switch (typeStr ) {
359381 case "note" :
360382 type = CAnnotationType .TEXT ;
361383 break ;
@@ -373,18 +395,18 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result
373395 result .success (null );
374396 break ;
375397 case GET_ANNOTATION_MODE :
376- CAnnotationType annotationType = documentFragment .annotationToolbar .toolListAdapter .getCurrentAnnotType ();
377- switch (annotationType ){
378- case TEXT :
379- result .success ("note" );
380- break ;
381- case PIC :
382- result .success ("pictures" );
383- break ;
384- default :
385- result .success (annotationType .name ().toLowerCase ());
386- break ;
387- }
398+ CAnnotationType annotationType = documentFragment .annotationToolbar .toolListAdapter .getCurrentAnnotType ();
399+ switch (annotationType ) {
400+ case TEXT :
401+ result .success ("note" );
402+ break ;
403+ case PIC :
404+ result .success ("pictures" );
405+ break ;
406+ default :
407+ result .success (annotationType .name ().toLowerCase ());
408+ break ;
409+ }
388410 break ;
389411 case ANNOTATION_CAN_UNDO : {
390412 CPDFUndoManager annotationUndoManager = documentFragment .pdfView .getCPdfReaderView ()
@@ -398,12 +420,12 @@ public void onMethodCall(@NonNull MethodCall call, @NonNull MethodChannel.Result
398420 result .success (annotationUndoManager .canRedo ());
399421 break ;
400422 }
401- case ANNOTATION_UNDO :{
423+ case ANNOTATION_UNDO : {
402424 documentFragment .annotationToolbar .annotUndo ();
403425 result .success (null );
404426 break ;
405427 }
406- case ANNOTATION_REDO :{
428+ case ANNOTATION_REDO : {
407429 documentFragment .annotationToolbar .annotRedo ();
408430 result .success (null );
409431 break ;
0 commit comments