Package net.laubenberger.tyr.misc

Source Code of net.laubenberger.tyr.misc.WrapperFontSet

/*
* Copyright (c) 2010-2011 by Stefan Laubenberger.
*
* Tyr is free software: you can redistribute it and/or modify
* it under the terms of the General Public License v2.0.
*
* Tyr is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* See the GNU General Public License for more details:
* <http://www.gnu.org/licenses>
*
* This distribution is available at:
* <http://code.google.com/p/tyr/>
* <http://dev.laubenberger.net/tyr/>
*
* Contact information:
* Stefan Laubenberger
* Bullingerstrasse 53
* CH-8004 Zuerich
*
* <http://www.laubenberger.net>
*
* <laubenberger@gmail.com>
*/
package net.laubenberger.tyr.misc;

import javax.swing.plaf.FontUIResource;

import net.laubenberger.bogatyr.helper.HelperLog;

import org.pushingpixels.substance.api.fonts.FontSet;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Wrapper around the base Substance font set. Is used to set the size offset of
* fonts.
*
* @author Stefan Laubenberger
* @version 0.7.5 (20110121)
* @since 0.3.0
*/
public class WrapperFontSet implements FontSet {
  static final Logger log = LoggerFactory.getLogger(WrapperFontSet.class);

  private final FontSet delegate;
  private final int extra;

  /**
   * Creates a wrapper font set.
   *
   * @param delegate
   *           The base Substance font set.
   * @param extra
   *           Extra size in pixels. Can be positive or negative.
   */
  public WrapperFontSet(final FontSet delegate, final int extra) {
    super();
    if (log.isTraceEnabled()) log.trace(HelperLog.constructor(delegate, extra));

    this.delegate = delegate;
    this.extra = extra;
  }

  /**
   * Returns the wrapped font.
   *
   * @param systemFont
   *           Original font.
   * @return Wrapped font.
   */
  private FontUIResource getWrappedFont(final FontUIResource systemFont) {
    if (log.isDebugEnabled()) log.debug(HelperLog.methodStart(systemFont));

    final FontUIResource result = new FontUIResource(systemFont.getFontName(), systemFont.getStyle(), systemFont.getSize()
        + extra);

    if (log.isDebugEnabled()) log.debug(HelperLog.methodExit(result));
    return result;
  }

  @Override
  public FontUIResource getControlFont() {
    return getWrappedFont(delegate.getControlFont());
  }

  @Override
  public FontUIResource getMenuFont() {
    return getWrappedFont(delegate.getMenuFont());
  }

  @Override
  public FontUIResource getMessageFont() {
    return getWrappedFont(delegate.getMessageFont());
  }

  @Override
  public FontUIResource getSmallFont() {
    return getWrappedFont(delegate.getSmallFont());
  }

  @Override
  public FontUIResource getTitleFont() {
    return getWrappedFont(delegate.getTitleFont());
  }

  @Override
  public FontUIResource getWindowTitleFont() {
    return getWrappedFont(delegate.getWindowTitleFont());
  }
}
TOP

Related Classes of net.laubenberger.tyr.misc.WrapperFontSet

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.