Package com.explodingpixels.macwidgets.plaf

Source Code of com.explodingpixels.macwidgets.plaf.IAppScrollBarArtworkUtils

package com.explodingpixels.macwidgets.plaf;

import com.explodingpixels.widgets.ImageButton;
import com.explodingpixels.widgets.ImageUtils;
import com.explodingpixels.widgets.plaf.ScrollThumbImagePainter;

import javax.swing.*;
import java.awt.*;

public class IAppScrollBarArtworkUtils {

    private IAppScrollBarArtworkUtils() {
        // utility class - no constructor needed.
    }

    /* iApp vertical scroll bar image locations. */

    private static final String V_SCROLLER_CAP =
            "/com/explodingpixels/macwidgets/images/v_scroller_top_cap.png";

    private static final String V_TRACK =
            "/com/explodingpixels/macwidgets/images/v_scroller_track.png";

    private static final String V_SCROLLER_TOGETHER_DECREMENT_BUTTONS =
            "/com/explodingpixels/macwidgets/images/v_scroller_together_decrement_button.png";

    private static final String V_SCROLLER_TOGETHER_INCREMENT_BUTTONS =
            "/com/explodingpixels/macwidgets/images/v_scroller_together_increment_button.png";

    private static final String V_SCROLLERS =
            "/com/explodingpixels/macwidgets/images/v_scroller.png";

    private static final String V_BOTTOM_BUTTON_MASK =
            "/com/explodingpixels/macwidgets/images/v_scroller_mask_bottom.png";

    /* iApp horizontal scroll bar image locations. */

    private static final String H_SCROLLER_CAP =
            "/com/explodingpixels/macwidgets/images/h_scroller_left_cap.png";

    private static final String H_TRACK =
            "/com/explodingpixels/macwidgets/images/h_scroller_track.png";

    private static final String H_SCROLLER_TOGETHER_DECREMENT_BUTTONS =
            "/com/explodingpixels/macwidgets/images/h_scroller_together_decrement_button.png";

    private static final String H_SCROLLER_TOGETHER_INCREMENT_BUTTONS =
            "/com/explodingpixels/macwidgets/images/h_scroller_together_increment_button.png";

    private static final String H_SCROLLERS =
            "/com/explodingpixels/macwidgets/images/h_scroller.png";

    private static final String H_RIGHT_BUTTON_MASK =
            "/com/explodingpixels/macwidgets/images/h_scroller_mask_right.png";

    // iApp vertical scroll bar support methods. //////////////////////////////////////////////////

    public static AbstractButton createVerticalTogetherDecrementButton() {
        ArtworkUtils.ImageSet images = ArtworkUtils.getImageSet(
                IAppScrollBarArtworkUtils.class.getResource(V_SCROLLER_TOGETHER_DECREMENT_BUTTONS));
        return createButton(images, getBottomButtonMask());
    }

    public static AbstractButton createVerticalTogetherIncrementButton() {
        ArtworkUtils.ImageSet images = ArtworkUtils.getImageSet(
                IAppScrollBarArtworkUtils.class.getResource(V_SCROLLER_TOGETHER_INCREMENT_BUTTONS));
        return createButton(images);
    }

    public static ScrollThumbImagePainter createVerticalScrollerThumb() {
        ArtworkUtils.ImageSet images = ArtworkUtils.getImageSet(
                IAppScrollBarArtworkUtils.class.getResource(V_SCROLLERS));

        Image disabledLowerBound = ImageUtils.getSubImage(images.getInactiveImage().getImage(), 0, 0, 13, 8);
        Image disabledMiddle = ImageUtils.getSubImage(images.getInactiveImage().getImage(), 0, 8, 13, 8);
        Image disabledUpperBound = ImageUtils.getSubImage(images.getInactiveImage().getImage(), 0, 16, 13, 8);

        Image inactiveLowerBound = ImageUtils.getSubImage(images.getActiveImage().getImage(), 0, 0, 13, 8);
        Image inactiveMiddle = ImageUtils.getSubImage(images.getActiveImage().getImage(), 0, 8, 13, 8);
        Image inactiveUpperBound = ImageUtils.getSubImage(images.getActiveImage().getImage(), 0, 16, 13, 8);

        Image activeLowerBound = ImageUtils.getSubImage(images.getPressedImage().getImage(), 0, 0, 13, 8);
        Image activeMiddle = ImageUtils.getSubImage(images.getPressedImage().getImage(), 0, 8, 13, 8);
        Image activeUpperBound = ImageUtils.getSubImage(images.getPressedImage().getImage(), 0, 16, 13, 8);

        return ScrollThumbImagePainter.createVerticalScrollThumbImagePainter(
                disabledLowerBound, disabledMiddle, disabledUpperBound,
                inactiveLowerBound, inactiveMiddle, inactiveUpperBound,
                activeLowerBound, activeMiddle, activeUpperBound);
    }

    public static int getVerticalScrollBarMiniumumHeight() {
        ImageIcon scrollers = new ImageIcon(IAppScrollBarArtworkUtils.class.getResource(V_SCROLLERS));
        return scrollers.getIconHeight();
    }

    public static Dimension getVerticalScrollBarMinimumSize() {
        return new Dimension(getVerticalTrack().getIconWidth(), getVerticalScrollBarMiniumumHeight());
    }

    private static ImageIcon getBottomButtonMask() {
        return new ImageIcon(IAppScrollBarArtworkUtils.class.getResource(V_BOTTOM_BUTTON_MASK));
    }

    public static ImageIcon getScrollBarTopCap() {
        ArtworkUtils.ImageSet images = ArtworkUtils.getImageSet(
                IAppScrollBarArtworkUtils.class.getResource(V_SCROLLER_CAP));
        return images.getActiveImage();
    }

    public static ImageIcon getVerticalTrack() {
        return new ImageIcon(IAppScrollBarArtworkUtils.class.getResource(V_TRACK));
    }

    // iApp vertical scroll bar support methods. //////////////////////////////////////////////////

    public static AbstractButton createHorizontalTogetherDecrementButton() {
        ArtworkUtils.ImageSet images = ArtworkUtils.getImageSet(
                IAppScrollBarArtworkUtils.class.getResource(H_SCROLLER_TOGETHER_DECREMENT_BUTTONS));
        return createButton(images, getRightButtonMask());
    }

    public static AbstractButton createHorizontalTogetherIncrementButton() {
        ArtworkUtils.ImageSet images = ArtworkUtils.getImageSet(
                IAppScrollBarArtworkUtils.class.getResource(H_SCROLLER_TOGETHER_INCREMENT_BUTTONS));
        return createButton(images);
    }

    public static ScrollThumbImagePainter createHorizontalScrollerThumb() {
        ArtworkUtils.ImageSet images = ArtworkUtils.getImageSet(
                IAppScrollBarArtworkUtils.class.getResource(H_SCROLLERS));

        Image disabledLowerBound = ImageUtils.getSubImage(images.getInactiveImage().getImage(), 0, 0, 8, 13);
        Image disabledMiddle = ImageUtils.getSubImage(images.getInactiveImage().getImage(), 8, 0, 8, 13);
        Image disabledUpperBound = ImageUtils.getSubImage(images.getInactiveImage().getImage(), 16, 0, 8, 13);

        Image inactiveLowerBound = ImageUtils.getSubImage(images.getActiveImage().getImage(), 0, 0, 8, 13);
        Image inactiveMiddle = ImageUtils.getSubImage(images.getActiveImage().getImage(), 8, 0, 8, 13);
        Image inactiveUpperBound = ImageUtils.getSubImage(images.getActiveImage().getImage(), 16, 0, 8, 13);

        Image activeLowerBound = ImageUtils.getSubImage(images.getPressedImage().getImage(), 0, 0, 8, 13);
        Image activeMiddle = ImageUtils.getSubImage(images.getPressedImage().getImage(), 8, 0, 8, 13);
        Image activeUpperBound = ImageUtils.getSubImage(images.getPressedImage().getImage(), 16, 0, 8, 13);

        return ScrollThumbImagePainter.createHorizontalScrollThumbImagePainter(
                disabledLowerBound, disabledMiddle, disabledUpperBound,
                inactiveLowerBound, inactiveMiddle, inactiveUpperBound,
                activeLowerBound, activeMiddle, activeUpperBound);
    }

    public static int getHorizontalScrollBarMiniumumWidth() {
        ImageIcon scrollers = new ImageIcon(IAppScrollBarArtworkUtils.class.getResource(H_SCROLLERS));
        // subtracting an additional 4 pixels because the horizontal scroll bars are padded in the
        // original image with 2 pixels on each side.
        return scrollers.getIconWidth() / 3;
    }

    public static Dimension getHorizontalScrollBarMinimumSize() {
        return new Dimension(getHorizontalScrollBarMiniumumWidth(), getHorizontalTrack().getIconHeight());
    }

    private static ImageIcon getRightButtonMask() {
        return new ImageIcon(IAppScrollBarArtworkUtils.class.getResource(H_RIGHT_BUTTON_MASK));
    }

    public static ImageIcon getScrollBarLeftCap() {
        ArtworkUtils.ImageSet images = ArtworkUtils.getImageSet(
                IAppScrollBarArtworkUtils.class.getResource(H_SCROLLER_CAP));
        return images.getActiveImage();
    }

    public static ImageIcon getHorizontalTrack() {
        return new ImageIcon(IAppScrollBarArtworkUtils.class.getResource(H_TRACK));
    }

    // Utility methods. ///////////////////////////////////////////////////////////////////////////

    private static AbstractButton createButton(ArtworkUtils.ImageSet images, ImageIcon buttonMask) {
        ImageButton retVal = new ImageButton(images.getActiveImage(), buttonMask);
        retVal.setPressedIcon(images.getPressedImage());
        retVal.setDisabledIcon(images.getInactiveImage());
        retVal.setInactiveIcon(images.getInactiveImage());
        return retVal;
    }

    private static AbstractButton createButton(ArtworkUtils.ImageSet images) {
        ImageButton retVal = new ImageButton(images.getActiveImage());
        retVal.setPressedIcon(images.getPressedImage());
        retVal.setDisabledIcon(images.getInactiveImage());
        retVal.setInactiveIcon(images.getInactiveImage());
        return retVal;
    }

    public static int getScrollBarTopCapRecess() {
        return 12;
    }

    public static int getDecrementButtonRecess() {
        return 11;
    }

}
TOP

Related Classes of com.explodingpixels.macwidgets.plaf.IAppScrollBarArtworkUtils

TOP
Copyright © 2018 www.massapi.com. 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.