// Path: src/main/java/cn/nextop/thorin/rcp/support/swt/utility/graphics/Fonts.java
// public final class Fonts {
// 	//
// 	public static final Font SYSTEM = Display.getDefault().getSystemFont();
// 	public static final Font AWESOME = FontAwesome.getFont(Math.max(10, getHeight(SYSTEM)));
// 	
// 	//
// 	protected static final ConcurrentMultiKeyMap<Class<?>, String, Font> FONTS = new ConcurrentMultiKeyMap<>();
// 	
// 	/**
// 	 * Font
// 	 */
// 	public static Font getSystemFont() {
// 		return SYSTEM;
// 	}
// 	
// 	public static Font getAwesomeFont() {
// 		return AWESOME;
// 	}
// 	
// 	/**
// 	 * 
// 	 */
// 	public static final int getHeight(Font font) {
// 		return font.getFontData()[0].getHeight();
// 	}
// 	
// 	public static final Font bold(final Font font) {
// 		FontDescriptor fd = FontDescriptor.createFrom(font);
// 		return fd.setStyle(SWT.BOLD).createFont(Display.getDefault());
// 	}
// 	
// 	public static final Font size(Font font, int delta) {
// 		FontDescriptor fd = FontDescriptor.createFrom(font);
// 		int height = fd.getFontData()[0].getHeight() + delta;
// 		return fd.setHeight(height).createFont(Display.getDefault());
// 	}
// 
// 	/**
// 	 * 
// 	 */
// 	public static Font getFont(Class<?> clazz, String key, Supplier<Font> font) {
// 		Font r = FONTS.get(clazz, key); if(r != null) return r;
// 		Font existing = FONTS.putIfAbsent(clazz, key, r = font.get());
// 		if (existing != null) { r.dispose(); r = existing; } return r; // Dispose
// 	}
// }
// 
// Path: src/main/java/cn/nextop/thorin/rcp/support/swt/utility/graphics/Colors.java
// public static final Color getColor(int r, int g, int b) {
// 	final String key = new StringBuilder(12).append(r).append(":").append(g).append(":").append(b).toString();
// 	Color c = COLORS.get(key); if (c == null) COLORS.put(key, c = new Color(getDefault(), r, g, b)); return c;
// }


import cn.nextop.thorin.rcp.support.swt.utility.graphics.Fonts;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import static cn.nextop.thorin.rcp.support.swt.utility.graphics.Colors.getColor;
package cn.nextop.thorin.rcp.support.swt.widget.xcalendar.model.theme;



/**
 * 
 * @author Jingqi Xu
 */
public abstract class XCalendarTheme {
	
	private static final String[][] HOUR = { { "00", "01", "02", "03" }, 
			                                 { "04", "05", "06", "07" }, 
			                                 { "08", "09", "10", "11" }, 
			                                 { "12", "13", "14", "15" }, 
			                                 { "16", "17", "18", "19" }, 
			                                 { "20", "21", "22", "23" } };

	private static final String[][] MINUTE = { { "00", "05", "10", "15" }, 
                                               { "20", "25", "30", "35" }, 
                                               { "40", "45", "50", "55" } };

	private static final String[][] SECOND = { { "00", "05", "10", "15" }, 
                                               { "20", "25", "30", "35" }, 
                                               { "40", "45", "50", "55" } };
	
	//
	protected int arc = 8;
	protected int margin = 5;
	protected int width = 220;
// Path: src/main/java/cn/nextop/thorin/rcp/support/swt/utility/graphics/Fonts.java
// public final class Fonts {
// 	//
// 	public static final Font SYSTEM = Display.getDefault().getSystemFont();
// 	public static final Font AWESOME = FontAwesome.getFont(Math.max(10, getHeight(SYSTEM)));
// 	
// 	//
// 	protected static final ConcurrentMultiKeyMap<Class<?>, String, Font> FONTS = new ConcurrentMultiKeyMap<>();
// 	
// 	/**
// 	 * Font
// 	 */
// 	public static Font getSystemFont() {
// 		return SYSTEM;
// 	}
// 	
// 	public static Font getAwesomeFont() {
// 		return AWESOME;
// 	}
// 	
// 	/**
// 	 * 
// 	 */
// 	public static final int getHeight(Font font) {
// 		return font.getFontData()[0].getHeight();
// 	}
// 	
// 	public static final Font bold(final Font font) {
// 		FontDescriptor fd = FontDescriptor.createFrom(font);
// 		return fd.setStyle(SWT.BOLD).createFont(Display.getDefault());
// 	}
// 	
// 	public static final Font size(Font font, int delta) {
// 		FontDescriptor fd = FontDescriptor.createFrom(font);
// 		int height = fd.getFontData()[0].getHeight() + delta;
// 		return fd.setHeight(height).createFont(Display.getDefault());
// 	}
// 
// 	/**
// 	 * 
// 	 */
// 	public static Font getFont(Class<?> clazz, String key, Supplier<Font> font) {
// 		Font r = FONTS.get(clazz, key); if(r != null) return r;
// 		Font existing = FONTS.putIfAbsent(clazz, key, r = font.get());
// 		if (existing != null) { r.dispose(); r = existing; } return r; // Dispose
// 	}
// }
// 
// Path: src/main/java/cn/nextop/thorin/rcp/support/swt/utility/graphics/Colors.java
// public static final Color getColor(int r, int g, int b) {
// 	final String key = new StringBuilder(12).append(r).append(":").append(g).append(":").append(b).toString();
// 	Color c = COLORS.get(key); if (c == null) COLORS.put(key, c = new Color(getDefault(), r, g, b)); return c;
// }


// Path: src/main/java/cn/nextop/thorin/rcp/support/swt/widget/xcalendar/model/theme/XCalendarTheme.java
import cn.nextop.thorin.rcp.support.swt.utility.graphics.Fonts;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import static cn.nextop.thorin.rcp.support.swt.utility.graphics.Colors.getColor;

package cn.nextop.thorin.rcp.support.swt.widget.xcalendar.model.theme;



/**
 * 
 * @author Jingqi Xu
 */
public abstract class XCalendarTheme {
	
	private static final String[][] HOUR = { { "00", "01", "02", "03" }, 
			                                 { "04", "05", "06", "07" }, 
			                                 { "08", "09", "10", "11" }, 
			                                 { "12", "13", "14", "15" }, 
			                                 { "16", "17", "18", "19" }, 
			                                 { "20", "21", "22", "23" } };

	private static final String[][] MINUTE = { { "00", "05", "10", "15" }, 
                                               { "20", "25", "30", "35" }, 
                                               { "40", "45", "50", "55" } };

	private static final String[][] SECOND = { { "00", "05", "10", "15" }, 
                                               { "20", "25", "30", "35" }, 
                                               { "40", "45", "50", "55" } };
	
	//
	protected int arc = 8;
	protected int margin = 5;
	protected int width = 220;
	protected Font font = Fonts.getSystemFont();