mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-11 01:32:08 +10:00
added grid type
renamed few classes
This commit is contained in:
+8
@@ -134,6 +134,11 @@ public class Presenter implements IPlugInPort {
|
||||
|
||||
// IPlugInPort
|
||||
|
||||
@Override
|
||||
public Double[] getAvailableZoomLevels() {
|
||||
return new Double[] { 0.25d, 0.3333d, 0.5d, 0.6667d, 0.75d, 1d, 1.25d, 1.5d, 2d };
|
||||
}
|
||||
|
||||
@Override
|
||||
public double getZoomLevel() {
|
||||
return zoomLevel;
|
||||
@@ -142,6 +147,9 @@ public class Presenter implements IPlugInPort {
|
||||
@Override
|
||||
public void setZoomLevel(double zoomLevel) {
|
||||
LOG.info(String.format("setZoomLevel(%s)", zoomLevel));
|
||||
if (this.zoomLevel == zoomLevel) {
|
||||
return;
|
||||
}
|
||||
this.zoomLevel = zoomLevel;
|
||||
ConfigurationManager.getInstance().writeValue(ZOOM_KEY, zoomLevel);
|
||||
messageDispatcher.dispatchMessage(EventType.ZOOM_CHANGED, zoomLevel);
|
||||
|
||||
+14
-5
@@ -18,6 +18,7 @@ import java.util.Set;
|
||||
|
||||
import org.diylc.common.ComponentSelection;
|
||||
import org.diylc.common.DrawOption;
|
||||
import org.diylc.common.GridType;
|
||||
import org.diylc.common.IComponentFiler;
|
||||
import org.diylc.core.ComponentState;
|
||||
import org.diylc.core.IDIYComponent;
|
||||
@@ -45,9 +46,6 @@ public class ProjectPainter {
|
||||
// determine which components are invalidated when they are not in the map.
|
||||
private Map<IDIYComponent<?>, ComponentState> lastDrawnStateMap;
|
||||
|
||||
public boolean antiAliasing = ConfigurationManager.getInstance().readBoolean(ANTIALIASING_KEY,
|
||||
true);
|
||||
|
||||
public ProjectPainter() {
|
||||
super();
|
||||
componentAreaMap = new HashMap<IDIYComponent<?>, Area>();
|
||||
@@ -63,7 +61,8 @@ public class ProjectPainter {
|
||||
}
|
||||
G2DWrapper g2dWrapper = new G2DWrapper(g2d);
|
||||
|
||||
if (drawOptions.contains(DrawOption.ANTIALIASING) && antiAliasing) {
|
||||
if (drawOptions.contains(DrawOption.ANTIALIASING)
|
||||
&& ConfigurationManager.getInstance().readBoolean(ANTIALIASING_KEY, true)) {
|
||||
g2d
|
||||
.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
|
||||
RenderingHints.VALUE_ANTIALIAS_ON);
|
||||
@@ -76,8 +75,18 @@ public class ProjectPainter {
|
||||
g2dWrapper.fillRect(0, 0, d.width, d.height);
|
||||
g2d.setClip(new Rectangle(new Point(0, 0), d));
|
||||
|
||||
if (drawOptions.contains(DrawOption.GRID)) {
|
||||
GridType gridType = (GridType) ConfigurationManager.getInstance().readObject(
|
||||
ANTIALIASING_KEY, GridType.LINES);
|
||||
if (drawOptions.contains(DrawOption.GRID) && gridType != GridType.NONE) {
|
||||
double zoomStep = project.getGridSpacing().convertToPixels() * zoomLevel;
|
||||
if (gridType == GridType.CROSSHAIR) {
|
||||
g2d.setStroke(new BasicStroke(1f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER,
|
||||
10f, new float[] { (float) zoomStep / 2, (float) zoomStep / 2 },
|
||||
(float) zoomStep / 4));
|
||||
} else if (gridType == GridType.DOT) {
|
||||
g2d.setStroke(new BasicStroke(1f, BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER,
|
||||
10f, new float[] { 1f, (float) zoomStep - 1 }, 0f));
|
||||
}
|
||||
|
||||
g2dWrapper.setColor(Constants.GRID_COLOR);
|
||||
for (double i = zoomStep; i < d.width; i += zoomStep) {
|
||||
|
||||
Reference in New Issue
Block a user