content: /*
   * @(#)BasicGraphicsManager.java
   *
   * Copyright 2002 EGANTT LLP. All rights reserved.
   * PROPRIETARY/QPL. Use is subject to license terms.
   */
  
  package com.egantt.awt.graphics.manager;
  
  import com.egantt.awt.graphics.GraphicsContext;
  import com.egantt.awt.graphics.GraphicsResources;
  
  import java.awt.Composite;
  import java.awt.Font;
  import java.awt.Graphics;
  import java.awt.Graphics2D;
  import java.awt.Paint;
  import java.awt.Stroke;
  
  import java.awt.geom.AffineTransform;
  
  /**
   *  This is used for applets instead of the other mechanism as applets can
   *  and must not use reflection on components that potentially have methods
   *  in the sun.* packages unfortunatly this applies to graphics
   */
  public class BasicGraphicsManager extends AbstractGraphicsManager
  {
  	public Graphics create(Object key, Graphics g, GraphicsContext context)
  	{
  		Graphics2D g2d = (Graphics2D) g;
  
  		AffineTransform transform = (AffineTransform) context.get(key, GraphicsResources.TRANSFORM);
  		if (transform != null)
  		   g2d.setTransform(transform);
  
  		Composite composite = (Composite) context.get(key, GraphicsResources.COMPOSITE);
  		if (composite != null)
  			g2d.setComposite(composite);
  
  		Font font = (Font) context.get(key, GraphicsResources.FONT);
  		if (font != null)
  		   g2d.setFont(font);
  
  		Paint paint = (Paint) context.get(key, GraphicsResources.PAINT);
  		if (paint != null)
  			g2d.setPaint(paint);
  
  		Stroke stroke = (Stroke) context.get(key, GraphicsResources.STROKE);
  		if (stroke != null)
  		   g2d.setStroke(stroke);
  		return g;
  	}
  }
  