Android Open Source - pixel-art Pixel Grid






From Project

Back to project page pixel-art.

License

The source code is released under:

Apache License

If you think the Android project pixel-art listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.jaween.pixelart.ui;
/*from   ww w.ja va2  s.  com*/
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.RectF;

/**
 * Created by ween on 10/19/14.
 */
public class PixelGrid {

    // PixelGrid View
    private boolean enabled = false;

    // Visuals
    private float dp;
    private Paint gridPaint;

    // Grid lines
    private float imageWidth;
    private float imageHeight;
    private float[] majorGridLines;
    private float majorPixelSpacing;

    public PixelGrid(float dp, float imageWidth, float imageHeight, int majorPixelSpacing) {

        initialisePaints(dp);

        // Grid line memory allocation
        int extraGridLines = 2; // Right most and bottom most lines only visible at precise zoom levels
        int gridLineCount = (int) ((imageHeight/majorPixelSpacing) + (imageWidth/majorPixelSpacing) + extraGridLines);
        int floatsPerLine = 4;
        majorGridLines = new float[gridLineCount * floatsPerLine];

        this.dp = dp;
        this.imageWidth = imageWidth;
        this.imageHeight = imageHeight;
        this.majorPixelSpacing = majorPixelSpacing;
    }

    public void draw(Canvas canvas, RectF viewport, float scale) {
        float majorScaledSpacing = majorPixelSpacing * scale;
        int i = 0;

        // Horizontal lines
        for (float y = 0; y < imageHeight * scale; y += majorScaledSpacing) {
            majorGridLines[i++] = (int) Math.floor((-viewport.left * scale));
            majorGridLines[i++] = (int) Math.floor((-viewport.top * scale + y));
            majorGridLines[i++] = (int) Math.floor(((-viewport.left + imageWidth) * scale));
            majorGridLines[i++] = (int) Math.floor((-viewport.top * scale + y));
        }

        // Vertical lines
        for (float x = 0; x < imageWidth * scale; x += majorScaledSpacing) {
            majorGridLines[i++] = (int) Math.floor((-viewport.left * scale + x));
            majorGridLines[i++] = (int) Math.floor((-viewport.top * scale));
            majorGridLines[i++] = (int) Math.floor((-viewport.left * scale + x));
            majorGridLines[i++] = (int) Math.floor(((-viewport.top + imageHeight) * scale));
        }

        canvas.drawLines(majorGridLines, 0, i, gridPaint);
    }

    private void initialisePaints(float dp) {
        gridPaint = new Paint();
        gridPaint.setStrokeWidth(dp);
        gridPaint.setAntiAlias(false);
        gridPaint.setColor(Color.DKGRAY);
    }

    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }

    public boolean isEnabled() {
        return enabled;
    }
}




Java Source Code List

com.jaween.pixelart.ContainerActivity.java
com.jaween.pixelart.ContainerFragment.java
com.jaween.pixelart.PanelManagerFragment.java
com.jaween.pixelart.io.AnimationFile.java
com.jaween.pixelart.io.FileAdapter.java
com.jaween.pixelart.io.ImportExport.java
com.jaween.pixelart.io.LoadFileDialog.java
com.jaween.pixelart.tools.Command.java
com.jaween.pixelart.tools.Dropper.java
com.jaween.pixelart.tools.Eraser.java
com.jaween.pixelart.tools.FloodFill.java
com.jaween.pixelart.tools.FreeSelect.java
com.jaween.pixelart.tools.MagicWand.java
com.jaween.pixelart.tools.Oval.java
com.jaween.pixelart.tools.Pen.java
com.jaween.pixelart.tools.RectSelect.java
com.jaween.pixelart.tools.Rect.java
com.jaween.pixelart.tools.Selection.java
com.jaween.pixelart.tools.ToolReport.java
com.jaween.pixelart.tools.Tool.java
com.jaween.pixelart.tools.attributes.EraserToolAttributes.java
com.jaween.pixelart.tools.attributes.MagicWandToolAttributes.java
com.jaween.pixelart.tools.attributes.OvalToolAttributes.java
com.jaween.pixelart.tools.attributes.PenToolAttributes.java
com.jaween.pixelart.tools.attributes.RectToolAttributes.java
com.jaween.pixelart.tools.attributes.ToolAttributes.java
com.jaween.pixelart.tools.options.EraserOptionsView.java
com.jaween.pixelart.tools.options.MagicWandOptionsView.java
com.jaween.pixelart.tools.options.OvalOptionsView.java
com.jaween.pixelart.tools.options.PenOptionsView.java
com.jaween.pixelart.tools.options.RectOptionsView.java
com.jaween.pixelart.tools.options.ToolOptionsView.java
com.jaween.pixelart.ui.ColourButton.java
com.jaween.pixelart.ui.ColourSelector.java
com.jaween.pixelart.ui.DrawingFragment.java
com.jaween.pixelart.ui.DrawingSurface.java
com.jaween.pixelart.ui.PaletteFragment.java
com.jaween.pixelart.ui.PanelFragment.java
com.jaween.pixelart.ui.PixelGrid.java
com.jaween.pixelart.ui.Thumbnail.java
com.jaween.pixelart.ui.ToolButton.java
com.jaween.pixelart.ui.ToolboxFragment.java
com.jaween.pixelart.ui.TransparencyCheckerboard.java
com.jaween.pixelart.ui.animation.AnimationFragment.java
com.jaween.pixelart.ui.animation.FrameAdapter.java
com.jaween.pixelart.ui.animation.Frame.java
com.jaween.pixelart.ui.colourpicker.ColourPickerDialog.java
com.jaween.pixelart.ui.colourpicker.ColourPickerFragment.java
com.jaween.pixelart.ui.colourpicker.ColourPickerView.java
com.jaween.pixelart.ui.layer.LayerAdapter.java
com.jaween.pixelart.ui.layer.LayerFragment.java
com.jaween.pixelart.ui.layer.Layer.java
com.jaween.pixelart.ui.undo.DrawOpManager.java
com.jaween.pixelart.ui.undo.DrawOpUndoData.java
com.jaween.pixelart.ui.undo.FrameUndoData.java
com.jaween.pixelart.ui.undo.LayerUndoData.java
com.jaween.pixelart.ui.undo.UndoItem.java
com.jaween.pixelart.ui.undo.UndoManager.java
com.jaween.pixelart.util.AbsVerticalSeekBar.java
com.jaween.pixelart.util.AnimatedGifEncoder.java
com.jaween.pixelart.util.AutoSaver.java
com.jaween.pixelart.util.BitmapEncoder.java
com.jaween.pixelart.util.Color.java
com.jaween.pixelart.util.ConfigChangeFragment.java
com.jaween.pixelart.util.Debug.java
com.jaween.pixelart.util.MarchingAnts.java
com.jaween.pixelart.util.PreferenceManager.java
com.jaween.pixelart.util.ScaleListener.java
com.jaween.pixelart.util.SlideAnimator.java
com.jaween.pixelart.util.SlidingLinearLayout.java
com.jaween.pixelart.util.VerticalProgressBar.java
com.tokaracamara.android.verticalslidevar.VerticalSeekBar.java