/* 
 * This code is part of Project Waterloo from King's College London
 * 
 *
 * Copyright King's College London  2011-
 * 
 * @author Malcolm Lidierth, King's College London  [Contact]
 * 
 * Project Waterloo is free software:  you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Project Waterloo is distributed in the hope that it will  be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see .
 *
 */
package kcl.waterloo.plotmodel2D;

import java.util.ArrayList;

/**
 * A generic interface defining the visual properties of plot objects.
 *
 * @param  The marker class
 * @param  The color or paint class
 * @param  The stroke class for drawing lines
 * @param  A dimension class defining the size of dynamically sized markers
 * @param  A shape defining class
 *
 * @author Malcolm Lidierth, King's College London  [Contact]
 */
public interface GJVisualsInterface  {

    /**
     * @return the MarkerArray
     */
    public GJCyclicArrayList getMarkerArray();

    //MARKERARRAY
    public void setMarkerArray(GJCyclicArrayList MarkerArray);

    public void setMarkerArray(T m);

    public void setMarkerArray(T[] m);

    public void setMarker(T s);

    public void setMarker(int i, T s);

    public T getMarker(int i);

    //EDGECOLOR
    public GJCyclicArrayList getEdgeColor();

    public void setEdgeColor(GJCyclicArrayList EdgeColor);

    public void setEdgeColor(ArrayList p);

    public void setEdgeColor(U[] p);

    public void setEdgeColor(int i, U p);

    public void setEdgeColor(U p);

    //EDGESTROKE
    public GJCyclicArrayList getEdgeStroke();

    public void setEdgeStroke(GJCyclicArrayList EdgeStroke);

    public void setEdgeStroke(ArrayList EdgeStroke);

    public void setEdgeStroke(V[] s);

    public void setEdgeStroke(int i, V s);

    public void setEdgeStroke(V s);

    //FILL
    public GJCyclicArrayList getFill();

    public void setFill(GJCyclicArrayList Fill);

    public void setFill(ArrayList p);

    public void setFill(U[] f);

    public void setFill(U f);

    public void setFill(int i, U f);

    //LINESTROKE
    public GJCyclicArrayList getLineStroke();

    public void setLineStroke(GJCyclicArrayList s);

    public void setLineStroke(ArrayList s);

    public void setLineStroke(V[] s);

    public void setLineStroke(V s);

    public void setLineStroke(int i, V p);

    //LINECOLOR
    public GJCyclicArrayList getLineColor();

    public void setLineColor(GJCyclicArrayList LineColor);

    public void setLineColor(U p);

    public void setLineColor(int i, U p);

    public void setLineColor(U[] p);

    /**
     * @return the Alpha
     */
    public float getAlpha();

    /**
     * @param Alpha the Alpha to set
     */
    public void setAlpha(float Alpha);

    /**
     * @return the CompositeMode
     */
    public int getCompositeMode();

    /**
     * @param CompositeMode the CompositeMode to set
     */
    public void setCompositeMode(int CompositeMode);

    /**
     * @return the renderHintState
     */
    public Object getRenderHintState();

    /**
     * @param renderHintState the renderHintState to set
     */
    public void setRenderHintState(Object renderHintState);

    public Object getTextHintState();

    public void setTextHintState(Object textHintState);

//    public Y getWidestMarker();
//
//    public Y getTallestMarker();
    public GJCyclicArrayList getDynamicMarkerSize();

    public void setDynamicMarkerSize(GJCyclicArrayList DynamicMarkerSize);
}

 

Ads help maintain this website.