Package diva.canvas

Examples of diva.canvas.Figure


            // Add to the layer
            layer.add(labelFigure);
            labelFigure.setInteractor(defaultInteractor);

            // Draw a small circle there so we can see it
            Figure mark = new BasicEllipse(pt.getX() - 2, pt.getY() - 2, 4, 4,
                    Color.red);
            layer.add(mark);
        }
    }
View Full Code Here


     * attached to any arbitrary figure.
     */
    public void createLabeledWrappers() {
        FigureLayer layer = graphicsPane.getForegroundLayer();

        Figure a = new BasicEllipse(420, 100, 100, 50);
        LabelWrapper wrapperA = new LabelWrapper(a, "Foo!\nBar!\nBaz!");
        layer.add(wrapperA);
        wrapperA.setInteractor(defaultInteractor);

        Figure b = new BasicRectangle(460, 200, 50, 40, Color.green);
        LabelWrapper wrapperB = new LabelWrapper(b, "Bar!");
        wrapperB.setAnchor(SwingConstants.SOUTH_WEST);
        wrapperB.getLabel().setAnchor(SwingConstants.NORTH_WEST);
        layer.add(wrapperB);
        wrapperB.setInteractor(defaultInteractor);
View Full Code Here

        _intersectedFigures.setGeometry(_rubberBand);

        HashSet freshFigures = new HashSet();

        for (Iterator i = _intersectedFigures.figures(); i.hasNext();) {
            Figure f = (Figure) i.next();

            if (f instanceof FigureDecorator) {
                f = ((FigureDecorator) f).getDecoratedFigure();
            }

            if (f.hit(_rubberBand)) {
                freshFigures.add(f);
            } else {
                _holdovers.add(f);
            }
        }

        for (Iterator i = ((HashSet) _holdovers.clone()).iterator(); i
                .hasNext();) {
            Figure f = (Figure) i.next();

            if (f.hit(_rubberBand)) {
                freshFigures.add(f);
                _holdovers.remove(f);
            }
        }

        // stale = current-fresh;
        HashSet staleFigures = (HashSet) _currentFigures.clone();
        staleFigures.removeAll(freshFigures);

        // current = fresh-current
        HashSet temp = (HashSet) freshFigures.clone();
        freshFigures.removeAll(_currentFigures);
        _currentFigures = temp;

        // If in selection mode, add and remove figures
        if (_isSelecting) {
            // Add figures to the selection
            Iterator i = freshFigures.iterator();

            while (i.hasNext()) {
                Figure f = (Figure) i.next();
                Interactor r = f.getInteractor();

                if ((r != null) && r instanceof SelectionInteractor) {
                    SelectionInteractor interactor = (SelectionInteractor) r;

                    if (_selectionModels.contains(interactor
                            .getSelectionModel())) {
                        expandSelection((SelectionInteractor) r, f);
                    }
                }
            }

            // Remove figures from the selection
            i = staleFigures.iterator();

            while (i.hasNext()) {
                Figure f = (Figure) i.next();
                Interactor r = f.getInteractor();

                if ((r != null) && r instanceof SelectionInteractor) {
                    SelectionInteractor interactor = (SelectionInteractor) r;

                    if (_selectionModels.contains(interactor
                            .getSelectionModel())) {
                        contractSelection((SelectionInteractor) r, f);
                    }
                }
            }
        } else {
            // Toggle figures into and out of the selection
            Iterator i = new CompoundIterator(freshFigures.iterator(),
                    staleFigures.iterator());

            while (i.hasNext()) {
                Figure f = (Figure) i.next();
                Interactor r = f.getInteractor();

                if ((r != null) && r instanceof SelectionInteractor) {
                    SelectionInteractor interactor = (SelectionInteractor) r;

                    if (_selectionModels.contains(interactor
View Full Code Here

        repaint();

        TransformContext currentContext = getTransformContext();
        Site headSite = getHeadSite();
        Site tailSite = getTailSite();
        Figure tailFigure = tailSite.getFigure();
        Figure headFigure = headSite.getFigure();

        Point2D headPt;
        Point2D tailPt;

        // Get the transformed head and tail points. Sometimes
View Full Code Here

    public void translateMidpoint(double dx, double dy) {
        // Calculate some parameters
        TransformContext currentContext = getTransformContext();
        Site headSite = getHeadSite();
        Site tailSite = getTailSite();
        Figure tailFigure = tailSite.getFigure();
        Figure headFigure = headSite.getFigure();

        Point2D headPt;
        Point2D tailPt;

        // Get the transformed head and tail points
View Full Code Here

     *  point in the transform context of that container.
     */
    public void snapToSite(final FigureContainer container,
            final Rectangle2D hitRect) {
        //debug("SNAPPING TO SITE IN: " + container);
        Figure figure = container.pick(hitRect, new Filter() {
            public boolean accept(Object o) {
                // debug("checking = " + o);
                if (!(o instanceof Figure)) {
                    return false;
                }

                if (o instanceof ConnectorManipulator) {
                    return false;
                }

                Figure f = (Figure) o;

                if (f.getInteractor() == null) {
                    return false;
                }

                TransformContext figureContext = f.getParent()
                        .getTransformContext();
                TransformContext containerContext = container
                        .getTransformContext();
                AffineTransform transform;

View Full Code Here

        BasicHighlighter _high;

        FigureContainer _parent;

        public void mouseEntered(LayerEvent e) {
            Figure f = e.getFigureSource();
            _parent = (FigureContainer) f.getParent();

            if (_parent != null) {
                _high = new BasicHighlighter(java.awt.Color.red, 2.0f);
                _parent.decorate(f, _high);
            }
View Full Code Here

    /** Process a mousePressed or mouseReleased event.
     */
    private void _doEvent(LayerEvent e) {
        if ((_factory != null) && e.isPopupTrigger()) {
            Figure source = e.getFigureSource();
            JPopupMenu menu = _factory.create(source);

            if (menu == null) {
                return;
            }
View Full Code Here

        super.translate(x, y);

        if (_slaves != null) {
            ListIterator it = _slaves.listIterator(0);
            while (it.hasNext()) {
                Figure fig = (Figure) it.next();
                fig.translate(x, y);
            }
        }
    }
View Full Code Here

    /**
     * Return the geometry of this manipulator
     * @return the geometry
     */
    private RectangleGeometry getGeometry() {
        Figure child = getChild();
        if (child instanceof RotatableCanvasFigure) {
            return ((RotatableCanvasFigure)child).getGeometry();
        }
        return null;
    }
View Full Code Here

TOP

Related Classes of diva.canvas.Figure

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.