001// License: GPL. For details, see Readme.txt file. 002package org.openstreetmap.gui.jmapviewer; 003 004import java.awt.AlphaComposite; 005import java.awt.Color; 006import java.awt.Font; 007import java.awt.Stroke; 008 009public class Style { 010 private Color color; 011 private Color backColor; 012 private Stroke stroke; 013 private Font font; 014 015 private static final AlphaComposite TRANSPARENCY = AlphaComposite.getInstance(AlphaComposite.SRC_OVER); 016 private static final AlphaComposite OPAQUE = AlphaComposite.getInstance(AlphaComposite.SRC); 017 018 public Style(){ 019 super(); 020 } 021 public Style(Color color, Color backColor, Stroke stroke, Font font) { 022 super(); 023 this.color = color; 024 this.backColor = backColor; 025 this.stroke = stroke; 026 this.font = font; 027 } 028 029 public Color getColor() { 030 return color; 031 } 032 public void setColor(Color color) { 033 this.color = color; 034 } 035 public Color getBackColor() { 036 return backColor; 037 } 038 public void setBackColor(Color backColor) { 039 this.backColor = backColor; 040 } 041 public Stroke getStroke() { 042 return stroke; 043 } 044 public void setStroke(Stroke stroke) { 045 this.stroke = stroke; 046 } 047 public Font getFont() { 048 return font; 049 } 050 public void setFont(Font font) { 051 this.font = font; 052 } 053 private AlphaComposite getAlphaComposite(Color color){ 054 return color.getAlpha()==255?OPAQUE:TRANSPARENCY; 055 } 056 public AlphaComposite getAlphaComposite(){ 057 return getAlphaComposite(color); 058 } 059 public AlphaComposite getBackAlphaComposite(){ 060 return getAlphaComposite(backColor); 061 } 062}