org.eclipse.thym.ui.plugins.internal.CordovaPluginWizardResources.java Source code

Java tutorial

Introduction

Here is the source code for org.eclipse.thym.ui.plugins.internal.CordovaPluginWizardResources.java

Source

/*******************************************************************************
 * Copyright (c) 2013, 2015 Red Hat, Inc. 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 *    Contributors:
 *        Red Hat Inc. - initial API and implementation and/or initial documentation
 *******************************************************************************/
package org.eclipse.thym.ui.plugins.internal;

import org.eclipse.jface.resource.FontDescriptor;
import org.eclipse.jface.resource.JFaceResources;
import org.eclipse.jface.resource.LocalResourceManager;
import org.eclipse.jface.resource.ResourceManager;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.widgets.Display;

public class CordovaPluginWizardResources {

    private final ResourceManager resourceManager;
    private final FontDescriptor h2FontDescriptor;
    private final FontDescriptor subFontDescriptor;
    private final FontDescriptor italicFontDescriptor;
    private final FontDescriptor h2ItalicFontDescriptor;

    public CordovaPluginWizardResources(Display display) {
        this.resourceManager = new LocalResourceManager(JFaceResources.getResources(display));
        this.h2FontDescriptor = createFontDescriptor(SWT.BOLD, 1.15f);
        this.h2ItalicFontDescriptor = createFontDescriptor(SWT.BOLD | SWT.ITALIC, 1.15f);
        this.subFontDescriptor = createFontDescriptor(SWT.NONE, 0.75f);
        this.italicFontDescriptor = createFontDescriptor(SWT.ITALIC, 1);
    }

    private FontDescriptor createFontDescriptor(int style, float heightMultiplier) {
        Font baseFont = JFaceResources.getDialogFont();
        FontData[] fontData = baseFont.getFontData();
        FontData[] newFontData = new FontData[fontData.length];
        for (int i = 0; i < newFontData.length; i++) {
            newFontData[i] = new FontData(fontData[i].getName(), (int) (fontData[i].getHeight() * heightMultiplier),
                    fontData[i].getStyle() | style);
        }
        return FontDescriptor.createFrom(newFontData);
    }

    public Font getSmallHeaderFont() {
        return resourceManager.createFont(h2FontDescriptor);
    }

    public Font getSmallItalicHeaderFont() {
        return resourceManager.createFont(h2ItalicFontDescriptor);
    }

    public Font getSubTextFont() {
        return resourceManager.createFont(subFontDescriptor);
    }

    public Font getItalicFont() {
        return resourceManager.createFont(italicFontDescriptor);
    }
}