Revision 41147 trunk/org.gvsig.desktop/org.gvsig.desktop.library/org.gvsig.symbology/org.gvsig.symbology.swing/org.gvsig.symbology.swing.api/src/main/java/org/gvsig/app/gui/styling/SymbolPreviewer.java

View differences:

SymbolPreviewer.java
103 103
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
104 104
import org.gvsig.fmap.mapcontext.rendering.symbols.SymbolDrawingException;
105 105
import org.gvsig.i18n.Messages;
106
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.IMarkerSymbol;
106 107

  
107 108

  
108 109
/**
......
120 121
	private int hGap = 5, vGap = 5;
121 122
	private ISymbol symbol;
122 123
	private EditorTool prevTool;
124
	private boolean useAllRoom = false; 
123 125
	/**
124 126
	 * constructor method
125 127
	 *
......
128 130
		super(true);
129 131
		setBackground(Color.WHITE);
130 132
	}
133
	
134
    public SymbolPreviewer(boolean all_room) {
135
        super(true);
136
        setBackground(Color.WHITE);
137
        useAllRoom = all_room;
138
    }
139
	
131 140
	/**
132 141
	 * Returns the symbol printed inside
133 142
	 * @return symbol
......
157 166

  
158 167
		g2.translate(hGap, vGap);
159 168
		Rectangle r = getBounds();
160
		r = new Rectangle(0, 0, (int) (r.getWidth()-(hGap*2)), (int) (r.getHeight()-(vGap*2)));
169
        r = new Rectangle(0, 0,
170
            (int) (r.getWidth()-(hGap*2)), (int) (r.getHeight()-(vGap*2)));
171
		
172
		Double forcesize = this.forceSize(symbol);
173
		if (forcesize != null && !useAllRoom) {
174
            long difx = Math.round(0.5 * (r.getWidth() - forcesize.doubleValue()));
175
            long dify = Math.round(0.5 * (r.getHeight() - forcesize.doubleValue()));
176
		    
177
		    r = new Rectangle((int) difx, (int) dify,
178
	            (int) forcesize.doubleValue(),
179
	            (int) forcesize.doubleValue());
180
		}
161 181

  
162 182
		if (symbol != null) {
163 183
			try {
......
218 238
		prevTool = tool;
219 239
		return previous;
220 240
	}
241
	
242
	private Double forceSize(ISymbol sym) {
243
	    
244
	    if (sym == null) {
245
	        return null;
246
	    }
247
	    
248
	    if (!(sym instanceof IMarkerSymbol)) {
249
	        return null;
250
	    }
251
	    
252
	    IMarkerSymbol msym = (IMarkerSymbol) sym;
253
	    if (msym.getUnit() == -1) {
254
	        /*
255
	         * Pixels
256
	         */
257
	        return new Double(msym.getSize());
258
	    } else {
259
	        return null;
260
	    }
261
	    
262
	}
221 263

  
222 264
}

Also available in: Unified diff