Skip to content

Commit a7bc11a

Browse files
committed
WIP - Standardization of DefaultZoomHandler.
1 parent 3044797 commit a7bc11a

File tree

1 file changed

+16
-22
lines changed

1 file changed

+16
-22
lines changed

gwt-material/src/main/java/gwt/material/design/client/base/viewport/DefaultViewPortZoomHandler.java

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,16 @@
2121

2222
import com.google.gwt.user.client.Element;
2323
import com.google.gwt.user.client.ui.RootPanel;
24-
import gwt.material.design.client.ui.MaterialToast;
2524
import gwt.material.design.jscore.client.api.viewport.VisualViewport;
2625

2726
public 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

Comments
 (0)