2121
2222import com .google .gwt .user .client .Element ;
2323import com .google .gwt .user .client .ui .RootPanel ;
24- import gwt .material .design .client .ui .MaterialToast ;
2524import gwt .material .design .jscore .client .api .viewport .VisualViewport ;
2625
2726public class DefaultViewPortZoomHandler implements ViewPortZoomHandler {
2827
29- protected int zoomBoundaryLevel ;
28+ protected int initialZoomLevel ;
29+ protected int maxZoomLevel ;
3030
31- public DefaultViewPortZoomHandler (int zoomBoundaryLevel ) {
32- this .zoomBoundaryLevel = zoomBoundaryLevel ;
31+ public DefaultViewPortZoomHandler (int maxZoomLevel , int initialZoomLevel ) {
32+ this .maxZoomLevel = maxZoomLevel ;
33+ this .initialZoomLevel = initialZoomLevel ;
3334 }
3435
3536 @ Override
@@ -56,25 +57,18 @@ protected void checkZoomLevel() {
5657 double clientWidth = gwt .material .design .jscore .client .api .Window .outerWidth ;
5758 int currentZoomLevel = (int ) ((clientWidth / width ) * 100 );
5859 Element element = RootPanel .get ().getElement ();
59- if (currentZoomLevel >= zoomBoundaryLevel ) {
60- double excessZoom = currentZoomLevel - zoomBoundaryLevel ; // 25
61- double scale = ((zoomBoundaryLevel - excessZoom ) / 100.0 );
62- MaterialToast .fireToast ("Current Zoom Level : " + currentZoomLevel );
63- MaterialToast .fireToast ("Zoom Level Boundary : " + zoomBoundaryLevel );
64-
65- // Standardized the page scale or zoom level.
66- /**
67- * transform: scale(0.5);
68- * transform-origin: 0 0;
69- * width: calc(100% + 100%);
70- */
71-
72- element .getStyle ().setProperty ("transform" , "scale(" + 0.5 + ")" );
73- element .getStyle ().setProperty ("transformOrigin" , "0 0" );
74- element .getStyle ().setProperty ("width" , "200%" );
60+ if (currentZoomLevel >= maxZoomLevel ) {
61+ double excessZoom = currentZoomLevel - maxZoomLevel ;
62+ double scale = ((maxZoomLevel - excessZoom ) / 100.0 );
63+ /*if (currentZoomLevel == maxZoomLevel) {
64+ scale = initialZoomLevel;
65+ }*/
66+ if (scale <= 0.5 ) {
67+ scale = 0.5 ;
68+ }
69+ element .getStyle ().setProperty ("zoom" , scale + "" );
7570 } else {
76- element .getStyle ().setProperty ("transform" , "scale(" + 1 + ")" );
77- element .getStyle ().setProperty ("width" , "100%" );
71+ element .getStyle ().setProperty ("zoom" , "1" );
7872 }
7973 }
8074}
0 commit comments