All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.mathiewz.slick.opengl.renderer.LineStripRenderer Maven / Gradle / Ivy

Go to download

The main purpose of this libraryis to modernize and maintain the slick2D library.

The newest version!
package com.github.mathiewz.slick.opengl.renderer;

/**
 * The description of a class able to render line strips through
 * OpenGL
 *
 * @author kevin
 */
public interface LineStripRenderer {
    /**
     * Check if we should apply default line fixes
     *
     * @return True if we should apply GL fixes
     */
    public abstract boolean applyGLLineFixes();

    /**
     * Start the line strips
     */
    public abstract void start();

    /**
     * End the line strips
     */
    public abstract void end();

    /**
     * Add a vertex
     *
     * @param x
     *            The x coordinate of the vertex
     * @param y
     *            The y coordinate of the vertex
     */
    public abstract void vertex(float x, float y);

    /**
     * Apply a colour to the next vertex
     *
     * @param r
     *            The red component of the colour
     * @param g
     *            The green component of the colour
     * @param b
     *            The blue component of the colour
     * @param a
     *            The alpha component of the colour
     */
    public abstract void color(float r, float g, float b, float a);

    /**
     * Set the width of the lines to be drawn
     *
     * @param width
     *            The width of the lines to be drawn
     */
    public abstract void setWidth(float width);

    /**
     * Indicate whether antialiasing should be applied
     *
     * @param antialias
     *            True if antialiasing should be applied
     */
    public abstract void setAntiAlias(boolean antialias);

    /**
     * Indicate if we should render end caps
     *
     * @param caps
     *            True if we should render end caps
     */
    public void setLineCaps(boolean caps);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy