org.pushingpixels.substance.api.painter.overlay.BottomLineOverlayPainter Java Examples

The following examples show how to use org.pushingpixels.substance.api.painter.overlay.BottomLineOverlayPainter. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: GraphiteGlassSkin.java    From radiance with BSD 3-Clause "New" or "Revised" License 6 votes vote down vote up
/**
 * Creates a new <code>Graphite</code> skin.
 */
public GraphiteGlassSkin() {
	super();

	SubstanceSkin.ColorSchemes schemes = SubstanceSkin.getColorSchemes(
			this.getClass().getClassLoader().getResourceAsStream(
					"org/pushingpixels/substance/api/skin/graphite.colorschemes"));

	SubstanceColorScheme backgroundScheme = schemes.get("Graphite Background");
	this.registerAsDecorationArea(backgroundScheme, DecorationAreaType.PRIMARY_TITLE_PANE,
			DecorationAreaType.SECONDARY_TITLE_PANE, DecorationAreaType.HEADER);

	// add two overlay painters to create a bezel line between
	// menu bar and toolbars
	BottomLineOverlayPainter menuOverlayPainter = new BottomLineOverlayPainter(
			ColorSchemeSingleColorQuery.MID);
	TopLineOverlayPainter toolbarOverlayPainter = new TopLineOverlayPainter(
			(SubstanceColorScheme scheme) -> SubstanceColorUtilities.getAlphaColor(
					scheme.getForegroundColor(), 32));
	this.addOverlayPainter(menuOverlayPainter, DecorationAreaType.HEADER);
	this.addOverlayPainter(toolbarOverlayPainter, DecorationAreaType.TOOLBAR);

	this.fillPainter = new GlassFillPainter();
	this.decorationPainter = new ArcDecorationPainter();
	this.highlightPainter = new GlassHighlightPainter();
}
 
Example #2
Source File: SaharaSkin.java    From radiance with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
/**
 * Creates a new <code>Sahara</code> skin.
 */
public SaharaSkin() {
	SubstanceColorScheme activeScheme = new DesertSandColorScheme();
	SubstanceColorScheme enabledScheme = new MetallicColorScheme();

	SubstanceSkin.ColorSchemes kitchenSinkSchemes = SubstanceSkin.getColorSchemes(
			this.getClass().getClassLoader().getResourceAsStream(
					"org/pushingpixels/substance/api/skin/kitchen-sink.colorschemes"));
	SubstanceColorSchemeBundle defaultSchemeBundle = new SubstanceColorSchemeBundle(
			activeScheme, enabledScheme, kitchenSinkSchemes.get("Gray Disabled"));
	defaultSchemeBundle.registerHighlightColorScheme(
			new OliveColorScheme().shift(Color.white, 0.2f, Color.black, 0.0f).named("Sahara Highlight"));
	this.registerDecorationAreaSchemeBundle(defaultSchemeBundle,
			DecorationAreaType.NONE);

	this.registerAsDecorationArea(activeScheme,
			DecorationAreaType.PRIMARY_TITLE_PANE,
			DecorationAreaType.SECONDARY_TITLE_PANE,
			DecorationAreaType.HEADER);

	// add an overlay painter to paint a drop shadow along the top
	// edge of toolbars
	this.addOverlayPainter(TopShadowOverlayPainter.getInstance(100),
			DecorationAreaType.TOOLBAR);

	// add an overlay painter to paint separator lines along the bottom
	// edges of title panes and menu bars
	BottomLineOverlayPainter bottomLineOverlayPainter = new BottomLineOverlayPainter(
			ColorSchemeSingleColorQuery.MID);
	this.addOverlayPainter(bottomLineOverlayPainter, DecorationAreaType.HEADER);

	this.buttonShaper = new ClassicButtonShaper();
	this.fillPainter = new ClassicFillPainter();
	this.borderPainter = new ClassicBorderPainter();
	this.decorationPainter = new MatteDecorationPainter();
	this.highlightPainter = new ClassicHighlightPainter();
}
 
Example #3
Source File: ModerateSkin.java    From radiance with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
/**
 * Creates a new <code>Moderate</code> skin.
 */
public ModerateSkin() {
    SubstanceColorScheme activeScheme = new SteelBlueColorScheme();
    SubstanceColorScheme enabledScheme = new MetallicColorScheme();

    SubstanceSkin.ColorSchemes kitchenSinkSchemes = SubstanceSkin.getColorSchemes(
            this.getClass().getClassLoader().getResourceAsStream(
                    "org/pushingpixels/substance/api/skin/kitchen-sink.colorschemes"));
    SubstanceColorSchemeBundle defaultSchemeBundle = new SubstanceColorSchemeBundle(
            activeScheme, enabledScheme, kitchenSinkSchemes.get("Gray Disabled"));
    SubstanceColorScheme highlightColorScheme = kitchenSinkSchemes.get("Moderate Highlight");
    defaultSchemeBundle.registerHighlightColorScheme(highlightColorScheme);

    this.registerDecorationAreaSchemeBundle(defaultSchemeBundle, DecorationAreaType.NONE);

    SubstanceColorSchemeBundle headerSchemeBundle = new SubstanceColorSchemeBundle(
            activeScheme.saturate(0.2), activeScheme, kitchenSinkSchemes.get("Gray Disabled"));
    this.registerDecorationAreaSchemeBundle(headerSchemeBundle,
            DecorationAreaType.PRIMARY_TITLE_PANE, DecorationAreaType.SECONDARY_TITLE_PANE,
            DecorationAreaType.HEADER);

    this.registerAsDecorationArea(kitchenSinkSchemes.get("LightGray General Background"),
            DecorationAreaType.GENERAL);

    // add an overlay painter to paint a drop shadow along the top
    // edge of toolbars
    this.addOverlayPainter(TopShadowOverlayPainter.getInstance(100), DecorationAreaType.TOOLBAR);

    // add an overlay painter to paint separator lines along the bottom
    // edges of title panes and menu bars
    BottomLineOverlayPainter bottomLineOverlayPainter = new BottomLineOverlayPainter(
            ColorSchemeSingleColorQuery.MID);
    this.addOverlayPainter(bottomLineOverlayPainter, DecorationAreaType.HEADER);

    this.buttonShaper = new ClassicButtonShaper();
    this.fillPainter = new GlassFillPainter();
    this.decorationPainter = new MatteDecorationPainter();
    this.borderPainter = new ClassicBorderPainter();
    this.highlightPainter = new ClassicHighlightPainter();
}
 
Example #4
Source File: CremeAccentedSkin.java    From radiance with BSD 3-Clause "New" or "Revised" License 5 votes vote down vote up
/**
 * Creates a new accented <code>Creme</code> skin.
 */
protected CremeAccentedSkin(AccentBuilder accentBuilder) {
    super(accentBuilder);

    ColorSchemes kitchenSinkSchemes = SubstanceSkin.getColorSchemes(
            this.getClass().getClassLoader().getResourceAsStream(
                    "org/pushingpixels/substance/api/skin/kitchen-sink.colorschemes"));
    SubstanceColorScheme enabledScheme = new CremeColorScheme();
    SubstanceColorScheme disabledScheme = kitchenSinkSchemes.get("Creme Disabled");

    SubstanceColorSchemeBundle defaultSchemeBundle = new SubstanceColorSchemeBundle(
            this.getActiveControlsAccent(), enabledScheme, disabledScheme);
    defaultSchemeBundle.registerHighlightColorScheme(this.getHighlightsAccent());
    this.registerDecorationAreaSchemeBundle(defaultSchemeBundle,
            DecorationAreaType.NONE);

    this.registerAsDecorationArea(enabledScheme,
            DecorationAreaType.PRIMARY_TITLE_PANE,
            DecorationAreaType.SECONDARY_TITLE_PANE,
            DecorationAreaType.HEADER, DecorationAreaType.FOOTER,
            DecorationAreaType.GENERAL, DecorationAreaType.TOOLBAR);

    // Add overlay painters to paint drop shadows along the bottom edges of toolbars
    this.addOverlayPainter(BottomShadowOverlayPainter.getInstance(40), DecorationAreaType.TOOLBAR);

    // add an overlay painter to paint a dark line along the bottom edge of toolbars
    SubstanceOverlayPainter toolbarBottomLineOverlayPainter = new BottomLineOverlayPainter(
            SchemeBaseColors::getMidColor);
    this.addOverlayPainter(toolbarBottomLineOverlayPainter, DecorationAreaType.TOOLBAR);

    this.buttonShaper = new ClassicButtonShaper();
    this.fillPainter = new MatteFillPainter();
    this.decorationPainter = new ArcDecorationPainter();
    this.highlightPainter = new ClassicHighlightPainter();
    this.borderPainter = new CompositeBorderPainter("Creme",
            new ClassicBorderPainter(), new DelegateBorderPainter(
            "Creme Inner", new ClassicBorderPainter(),
            (SubstanceColorScheme scheme) -> scheme.tint(0.9f)));
}
 
Example #5
Source File: SeaGlassSkin.java    From radiance with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
/**
 * Creates a new <code>Gemini</code> skin.
 */
public SeaGlassSkin() {
	SubstanceSkin.ColorSchemes schemes = SubstanceSkin.getColorSchemes(
			this.getClass().getClassLoader().getResourceAsStream(
					"org/pushingpixels/demo/spyglass/seaglass/skin/seaglass.colorschemes"));

	SubstanceColorScheme activeScheme = schemes.get("Sea Glass Active");
	SubstanceColorScheme enabledScheme = schemes.get("Sea Glass Enabled");
	SubstanceColorScheme disabledScheme = schemes.get("Sea Glass Disabled");

	SubstanceColorSchemeBundle defaultSchemeBundle = new SubstanceColorSchemeBundle(
			activeScheme, enabledScheme, disabledScheme);

	// borders
	SubstanceColorScheme activeBorderScheme = schemes
			.get("Sea Glass Active Border");
	SubstanceColorScheme enabledBorderScheme = schemes
			.get("Sea Glass Enabled Border");
	SubstanceColorScheme disabledBorderScheme = schemes
			.get("Sea Glass Enabled Border");
	defaultSchemeBundle.registerColorScheme(enabledBorderScheme,
			ColorSchemeAssociationKind.BORDER, ComponentState.ENABLED);
	defaultSchemeBundle.registerColorScheme(activeBorderScheme,
			ColorSchemeAssociationKind.BORDER, ComponentState.DEFAULT);
	defaultSchemeBundle.registerColorScheme(disabledBorderScheme,
			ColorSchemeAssociationKind.BORDER,
			ComponentState.DISABLED_DEFAULT,
			ComponentState.DISABLED_SELECTED,
			ComponentState.DISABLED_UNSELECTED);

	// states
	SubstanceColorScheme defaultScheme = schemes.get("Sea Glass Default");
	SubstanceColorScheme defaultBorderScheme = schemes
			.get("Sea Glass Default Border");
	defaultSchemeBundle.registerColorScheme(defaultScheme,
			ComponentState.DEFAULT);
	defaultSchemeBundle.registerColorScheme(defaultBorderScheme,
			ColorSchemeAssociationKind.BORDER, ComponentState.DEFAULT);

	SubstanceColorScheme pressedScheme = schemes.get("Sea Glass Pressed");
	SubstanceColorScheme pressedBorderScheme = schemes
			.get("Sea Glass Pressed Border");
	defaultSchemeBundle.registerColorScheme(pressedScheme,
			ComponentState.PRESSED_SELECTED,
			ComponentState.PRESSED_UNSELECTED);
	defaultSchemeBundle.registerColorScheme(pressedBorderScheme,
			ColorSchemeAssociationKind.BORDER,
			ComponentState.PRESSED_SELECTED,
			ComponentState.PRESSED_UNSELECTED);

	SubstanceColorScheme selectedScheme = schemes.get("Sea Glass Selected");
	SubstanceColorScheme selectedBorderScheme = schemes
			.get("Sea Glass Selected Border");
	defaultSchemeBundle.registerColorScheme(selectedScheme,
			ComponentState.SELECTED, ComponentState.ROLLOVER_SELECTED);
	defaultSchemeBundle.registerColorScheme(selectedBorderScheme,
			ColorSchemeAssociationKind.BORDER, ComponentState.SELECTED,
			ComponentState.ROLLOVER_SELECTED);

	SubstanceColorScheme backgroundScheme = schemes
			.get("Sea Glass Background");

	this.registerDecorationAreaSchemeBundle(defaultSchemeBundle,
			backgroundScheme, DecorationAreaType.NONE);

	this.registerAsDecorationArea(activeScheme,
			DecorationAreaType.PRIMARY_TITLE_PANE);

	this.addOverlayPainter(new BottomLineOverlayPainter(
			new ColorSchemeSingleColorQuery() {
				@Override
				public Color query(SubstanceColorScheme scheme) {
					return scheme.getDarkColor().darker();
				}
			}), DecorationAreaType.PRIMARY_TITLE_PANE);

	this.buttonShaper = new ClassicButtonShaper();
	this.watermark = null;
	this.fillPainter = new FractionBasedFillPainter("Sea Glass",
			new float[] { 0.0f, 0.49999f, 0.5f, 0.65f, 1.0f },
			new ColorSchemeSingleColorQuery[] {
					ColorSchemeSingleColorQuery.EXTRALIGHT,
					ColorSchemeSingleColorQuery.LIGHT,
					ColorSchemeSingleColorQuery.MID,
					ColorSchemeSingleColorQuery.LIGHT,
					ColorSchemeSingleColorQuery.ULTRALIGHT });

	this.decorationPainter = new MatteDecorationPainter();
	this.highlightPainter = new ClassicHighlightPainter();

	this.borderPainter = new FractionBasedBorderPainter("Sea Glass",
			new float[] { 0.0f, 0.5f, 1.0f },
			new ColorSchemeSingleColorQuery[] {
					ColorSchemeSingleColorQuery.MID,
					ColorSchemeSingleColorQuery.DARK,
					ColorSchemeSingleColorQuery.ULTRADARK });
	this.highlightBorderPainter = new ClassicBorderPainter();
}
 
Example #6
Source File: BusinessAccentedSkin.java    From radiance with BSD 3-Clause "New" or "Revised" License 4 votes vote down vote up
/**
 * Creates a new accented <code>Business</code> skin.
 */
protected BusinessAccentedSkin(AccentBuilder accentBuilder) {
	super(accentBuilder);

	ColorSchemes businessSchemes = SubstanceSkin.getColorSchemes(
			this.getClass().getClassLoader().getResourceAsStream(
					"org/pushingpixels/substance/api/skin/business.colorschemes"));

	SubstanceColorScheme enabledScheme = businessSchemes.get("Business Enabled");

	SubstanceColorSchemeBundle defaultSchemeBundle = new SubstanceColorSchemeBundle(
			this.getActiveControlsAccent(), enabledScheme, enabledScheme);

	defaultSchemeBundle.registerHighlightColorScheme(this.getHighlightsAccent());

	defaultSchemeBundle.registerAlpha(0.5f, ComponentState.DISABLED_UNSELECTED, ComponentState.DISABLED_SELECTED);
	defaultSchemeBundle.registerColorScheme(enabledScheme, ComponentState.DISABLED_UNSELECTED);
	defaultSchemeBundle.registerColorScheme(this.getActiveControlsAccent(),
			ComponentState.DISABLED_SELECTED, ComponentState.SELECTED);

	defaultSchemeBundle.registerColorScheme(this.getActiveControlsAccent(),
			ColorSchemeAssociationKind.TAB, ComponentState.SELECTED,
			ComponentState.ROLLOVER_SELECTED);

	this.registerDecorationAreaSchemeBundle(defaultSchemeBundle, DecorationAreaType.NONE);

	this.registerAsDecorationArea(this.getWindowChromeAccent(),
			DecorationAreaType.PRIMARY_TITLE_PANE, DecorationAreaType.SECONDARY_TITLE_PANE,
			DecorationAreaType.HEADER, DecorationAreaType.FOOTER);

	ColorSchemes kitchenSinkSchemes = SubstanceSkin.getColorSchemes(
			this.getClass().getClassLoader().getResourceAsStream(
					"org/pushingpixels/substance/api/skin/kitchen-sink.colorschemes"));
	this.registerAsDecorationArea(kitchenSinkSchemes.get("LightGray General Background"),
			DecorationAreaType.GENERAL);

	// add an overlay painter to paint a drop shadow along the top edge of toolbars
	this.addOverlayPainter(TopShadowOverlayPainter.getInstance(80), DecorationAreaType.TOOLBAR);

	// add an overlay painter to paint separator lines along the bottom
	// edges of title panes and menu bars
	BottomLineOverlayPainter bottomLineOverlayPainter = new BottomLineOverlayPainter(
			ColorSchemeSingleColorQuery.MID);
	this.addOverlayPainter(bottomLineOverlayPainter, DecorationAreaType.HEADER);

	this.buttonShaper = new ClassicButtonShaper();
	this.fillPainter = new ClassicFillPainter();
	this.borderPainter = new ClassicBorderPainter();

	BrushedMetalDecorationPainter decorationPainter = new BrushedMetalDecorationPainter();
	decorationPainter.setBaseDecorationPainter(new ArcDecorationPainter());
	decorationPainter.setTextureAlpha(0.2f);
	this.decorationPainter = decorationPainter;

	this.highlightPainter = new ClassicHighlightPainter();
}