use of net.sf.latexdraw.models.interfaces.shape.IRectangle in project latexdraw by arnobl.
the class TestCanvasCreation method testDrawRectangle.
@Test
public void testDrawRectangle() {
pencil.setCurrentChoice(EditionChoice.RECT);
final Point2D pos = point(canvas).query();
drag(pos, MouseButton.PRIMARY).dropBy(100d, 200d).sleep(SLEEP);
assertEquals(1, drawing.size());
assertTrue(drawing.getShapeAt(0) instanceof IRectangle);
assertEquals(100d, drawing.getShapeAt(0).getWidth(), 0.00001d);
assertEquals(200d, drawing.getShapeAt(0).getHeight(), 0.00001d);
assertEquals(-Canvas.getMargins() + canvas.screenToLocal(pos).getX(), ((IRectangle) drawing.getShapeAt(0)).getPosition().getX(), 0.00001d);
assertEquals(-Canvas.getMargins() + canvas.screenToLocal(pos).getY(), drawing.getShapeAt(0).getTopLeftPoint().getY(), 0.00001d);
}
use of net.sf.latexdraw.models.interfaces.shape.IRectangle in project latexdraw by arnobl.
the class TestModifyShapeProperty method configureShapes.
private void configureShapes() {
final IGrid grid = ShapeFactory.INST.createGrid(ShapeFactory.INST.createPoint());
final IAxes axes = ShapeFactory.INST.createAxes(ShapeFactory.INST.createPoint());
final IDot dot = ShapeFactory.INST.createDot(ShapeFactory.INST.createPoint());
final ICircle circle = ShapeFactory.INST.createCircle();
final IEllipse ell = ShapeFactory.INST.createEllipse();
final IText txt = ShapeFactory.INST.createText();
final IBezierCurve bc = ShapeFactory.INST.createBezierCurve(Collections.emptyList());
final IPolyline pl = ShapeFactory.INST.createPolyline(Collections.emptyList());
final IPolygon pg = ShapeFactory.INST.createPolygon(Collections.emptyList());
final ITriangle tr = ShapeFactory.INST.createTriangle();
final IRhombus rh = ShapeFactory.INST.createRhombus();
final IRectangle r1 = ShapeFactory.INST.createRectangle();
final IPlot plot = ShapeFactory.INST.createPlot(ShapeFactory.INST.createPoint(), 0d, 1d, "x", false);
final ICircleArc carc = ShapeFactory.INST.createCircleArc();
final ISquare sq = ShapeFactory.INST.createSquare();
final IFreehand fh = ShapeFactory.INST.createFreeHand(Collections.emptyList());
r1.setLineStyle(LineStyle.DASHED);
r1.setBordersPosition(BorderPos.INTO);
r1.setFillingStyle(FillingStyle.PLAIN);
r1.setThickness(2.3);
r1.setHasDbleBord(true);
r1.setLineArc(0.2);
r1.setDbleBordSep(1.3);
r1.setHatchingsAngle(0.33);
r1.setHatchingsSep(9.1);
r1.setHatchingsWidth(12.11);
r1.setShadowAngle(0.1);
r1.setGradMidPt(0.66);
r1.setHatchingsCol(DviPsColors.CYAN);
r1.setLineColour(DviPsColors.NAVYBLUE);
r1.setShadowSize(87.2);
r1.setFillingCol(DviPsColors.CARNATIONPINK);
r1.setShadowCol(DviPsColors.CORNFLOWERBLUE);
r1.setDashSepBlack(1.2);
r1.setDashSepWhite(2.1);
r1.setDotSep(23.1);
r1.setGradAngle(1.3);
r1.setDbleBordCol(DviPsColors.RED);
r1.setGradColEnd(DviPsColors.BITTERSWEET);
r1.setGradColStart(DviPsColors.FORESTGREEN);
r1.setShowPts(true);
final IRectangle r2 = ShapeFactory.INST.createRectangle();
r2.setLineStyle(LineStyle.SOLID);
r2.setBordersPosition(BorderPos.MID);
r2.setFillingStyle(FillingStyle.HLINES);
r2.setThickness(6.3);
r2.setHasShadow(true);
r2.setLineArc(0.33);
r2.setDbleBordSep(2.3);
r2.setHatchingsAngle(-0.53);
r2.setHatchingsSep(1.1);
r2.setHatchingsWidth(2.11);
r2.setShadowAngle(-0.1);
r2.setGradMidPt(0.31);
r2.setHatchingsCol(DviPsColors.APRICOT);
r2.setLineColour(DviPsColors.YELLOW);
r2.setShadowSize(8.1);
r2.setFillingCol(DviPsColors.CERULEAN);
r2.setShadowCol(DviPsColors.DARKORCHID);
r1.setDashSepBlack(11.2);
r1.setDashSepWhite(21.1);
r1.setDotSep(231.1);
r1.setGradAngle(11.3);
r1.setDbleBordCol(DviPsColors.ROYALBLUE);
r1.setGradColEnd(DviPsColors.CADETBLUE);
r1.setGradColStart(DviPsColors.OLIVE);
txt.copy(r1);
ell.copy(r1);
circle.copy(r2);
dot.copy(r2);
bc.copy(r2);
pl.copy(r1);
pg.copy(r2);
tr.copy(r1);
rh.copy(r2);
plot.copy(r1);
carc.copy(r2);
sq.copy(r1);
fh.copy(r2);
group.addShape(r1);
group.addShape(txt);
group.addShape(grid);
group.addShape(pl);
group.addShape(pg);
group.addShape(r2);
group.addShape(axes);
group.addShape(ell);
group.addShape(circle);
group.addShape(tr);
group.addShape(rh);
group.addShape(dot);
group.addShape(bc);
group.addShape(plot);
group.addShape(carc);
group.addShape(sq);
group.addShape(fh);
}
use of net.sf.latexdraw.models.interfaces.shape.IRectangle in project latexdraw by arnobl.
the class TestTabSelector method testClickCanvasActivationsOnSelectedShape.
@Test
public void testClickCanvasActivationsOnSelectedShape() {
final IRectangle rectangle = ShapeFactory.INST.createRectangle(ShapeFactory.INST.createPoint(), 100, 50);
final Canvas canvas = injector.getInstance(Canvas.class);
Platform.runLater(() -> {
canvas.getDrawing().addShape(rectangle);
canvas.getDrawing().getSelection().addShape(rectangle);
});
WaitForAsyncUtils.waitForFxEvents();
clickOn(tabPane.lookup("#tabPST"));
clickOn(tabPane.lookup("#canvasTab"));
WaitForAsyncUtils.waitForFxEvents();
sleep(100L);
Mockito.verify(deleter, Mockito.times(1)).setActivated(true);
}
use of net.sf.latexdraw.models.interfaces.shape.IRectangle in project latexdraw by arnobl.
the class SVGShape method getSVGHatchingsPath.
/**
* @return The path of the hatchings of the shape.
*/
public SVGPathSegList getSVGHatchingsPath() {
final SVGPathSegList path = new SVGPathSegList();
if (!shape.hasHatchings()) {
return path;
}
final String hatchingStyle = shape.getFillingStyle().getLatexToken();
final double hatchingAngle = shape.getHatchingsAngle();
final IRectangle bound = ShapeFactory.INST.createRectangle(shape.getFullTopLeftPoint(), shape.getFullBottomRightPoint());
switch(hatchingStyle) {
case PSTricksConstants.TOKEN_FILL_VLINES:
case PSTricksConstants.TOKEN_FILL_VLINES_F:
getSVGHatchingsPath2(path, hatchingAngle, bound);
break;
case PSTricksConstants.TOKEN_FILL_HLINES:
case PSTricksConstants.TOKEN_FILL_HLINES_F:
getSVGHatchingsPath2(path, hatchingAngle > 0 ? hatchingAngle - Math.PI / 2. : hatchingAngle + Math.PI / 2., bound);
break;
case PSTricksConstants.TOKEN_FILL_CROSSHATCH:
case PSTricksConstants.TOKEN_FILL_CROSSHATCH_F:
getSVGHatchingsPath2(path, hatchingAngle, bound);
getSVGHatchingsPath2(path, hatchingAngle > 0 ? hatchingAngle - Math.PI / 2. : hatchingAngle + Math.PI / 2., bound);
break;
}
return path;
}
use of net.sf.latexdraw.models.interfaces.shape.IRectangle in project latexdraw by arnobl.
the class TestPSTGeneralFeatures method testBugpssetsetOfShapes.
@Test
public void testBugpssetsetOfShapes() {
parser("\\psframe(0.5,0.5)(1.5,1.5)\\psdot[linewidth=1cm,dotsize=1](1,1)\\psset{unit=2}\\psframe(0.5,0.5)(1.5,1.5)\\psdot(2," + "2)");
IRectangle rec = getShapeAt(0);
assertEquals(0.5 * IShape.PPC, rec.getX(), 0.000001);
assertEquals(-0.5 * IShape.PPC, rec.getY(), 0.000001);
assertEquals(IShape.PPC, rec.getWidth(), 0.000001);
assertEquals(IShape.PPC, rec.getHeight(), 0.000001);
IDot dot = getShapeAt(1);
assertEquals(IShape.PPC, dot.getX(), 0.000001);
assertEquals(-IShape.PPC, dot.getY(), 0.000001);
rec = getShapeAt(2);
assertEquals(0.5 * 2d * IShape.PPC, rec.getX(), 0.000001);
assertEquals(-0.5 * 2d * IShape.PPC, rec.getY(), 0.000001);
assertEquals(2d * IShape.PPC, rec.getWidth(), 0.000001);
assertEquals(2d * IShape.PPC, rec.getHeight(), 0.000001);
dot = getShapeAt(3);
assertEquals(2d * 2d * IShape.PPC, dot.getX(), 0.000001);
assertEquals(-2d * 2d * IShape.PPC, dot.getY(), 0.000001);
}
Aggregations