Java 类java.awt.PaintContext 实例源码
项目:gogui2
文件:RadialGradientPaint.java
public PaintContext createContext(ColorModel colorModel,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform xform,
RenderingHints hints)
{
Point2D transformedCenter = xform.transform(m_center, null);
Point2D transformedRadius1 = xform.deltaTransform(m_radius1, null);
Point2D transformedRadius2 = xform.deltaTransform(m_radius2, null);
if (m_cachedContext != null
&& transformedCenter.equals(m_transformedCenter)
&& transformedRadius1.equals(m_transformedRadius1)
&& transformedRadius2.equals(m_transformedRadius2))
return m_cachedContext;
m_transformedCenter = (Point2D)transformedCenter.clone();
m_transformedRadius1 = (Point2D)transformedRadius1.clone();
m_transformedRadius2 = (Point2D)transformedRadius2.clone();
m_cachedContext =
new RadialGradientContext(transformedCenter, transformedRadius1,
transformedRadius2, m_focus,
m_color1, m_color2);
return m_cachedContext;
}
项目:pumpernickel
文件:HalftoneGradient.java
@Override
public PaintContext createContext(ColorModel cm, Rectangle deviceBounds,
Rectangle2D userBounds, AffineTransform xform, RenderingHints hints) {
if(QUALITY_HINTS==null) {
QUALITY_HINTS = new RenderingHints(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
QUALITY_HINTS.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
QUALITY_HINTS.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
}
PaintContext context = super.createContext(cm, deviceBounds, userBounds, xform, QUALITY_HINTS);
if(cycle) {
return context;
}
AffineTransform newCopy = new AffineTransform();
if(xform!=null)
newCopy.concatenate(xform);
context = new CoveredContext(context,x1,y1,color1,x2,y2,color2,newCopy);
return context;
}
项目:jtem-halfedgetools
文件:AffineTexturePaint.java
@Override
public PaintContext createContext(
ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform xform,
RenderingHints hints
) {
AffineTransform T = getTextureTransform();
try {
T.invert();
} catch (NoninvertibleTransformException e) { }
if (xform == null) {
xform = T;
} else {
xform = (AffineTransform) xform.clone();
xform.concatenate(T);
}
return super.createContext(cm, deviceBounds, userBounds, xform, hints);
}
项目:pdf-renderer-noawt
文件:ShaderType2.java
/** create a paint context */
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform xform,
RenderingHints hints)
{
ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_sRGB);
ColorModel model = new ComponentColorModel(cs,
true,
false,
Transparency.TRANSLUCENT,
DataBuffer.TYPE_BYTE);
Point2D devStart = xform.transform(getAxisStart(), null);
Point2D devEnd = xform.transform(getAxisEnd(), null);
return new Type2PaintContext(model, devStart, devEnd);
}
项目:hexgui
文件:RadialGradientPaint.java
public PaintContext createContext(ColorModel colorModel,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform xform,
RenderingHints hints)
{
Point2D transformedPoint = xform.transform(m_point, null);
Point2D transformedRadius = xform.deltaTransform(m_radius, null);
if (m_cachedContext != null
&& transformedPoint.equals(m_transformedPoint)
&& transformedRadius.equals(m_transformedRadius))
return m_cachedContext;
m_transformedPoint = (Point2D)transformedPoint.clone();
m_transformedRadius = (Point2D)transformedRadius.clone();
m_cachedContext =
new RadialGradientContext(transformedPoint, m_pointColor,
transformedRadius, m_backgroundColor);
return m_cachedContext;
}
项目:cn1
文件:CommonGraphics2D.java
/**
* This method fills the given MultiRectArea with any paint.
* @param mra MultiRectArea to fill
*/
protected void fillMultiRectAreaPaint(MultiRectArea mra) {
Rectangle rec = mra.getBounds();
int x = rec.x;
int y = rec.y;
int w = rec.width;
int h = rec.height;
if(w <= 0 || h <= 0) {
return;
}
PaintContext pc = paint.createContext(null, rec, rec, transform, hints);
Raster r = pc.getRaster(x, y, w, h);
WritableRaster wr;
if(r instanceof WritableRaster){
wr = (WritableRaster) r;
}else{
wr = r.createCompatibleWritableRaster();
wr.setRect(r);
}
Surface srcSurf = new ImageSurface(pc.getColorModel(), wr);
blitter.blit(0, 0, srcSurf, x, y, dstSurf, w, h,
composite, null, mra);
srcSurf.dispose();
}
项目:marlin-renderer
文件:GeneralCompositePipe.java
@Override
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
// warning: clone map:
RenderingHints hints = sg.getRenderingHints();
ColorModel model = sg.getDeviceColorModel();
PaintContext paintContext =
sg.paint.createContext(model, devR, s.getBounds2D(),
sg.cloneTransform(),
hints);
CompositeContext compositeContext =
sg.composite.createContext(paintContext.getColorModel(), model,
hints);
// BlendComposite matcher: classpath independent so use String.equals()
boolean blendComposite = "sun.java2d.pipe.BlendComposite".equals(sg.composite.getClass().getName());
// use ThreadLocal (to reduce memory footprint):
final TileContext tc = tileContextThreadLocal.get();
tc.init(sg, paintContext, compositeContext, model, blendComposite);
return tc;
}
项目:breakout
文件:ParamGradientMapPaint.java
/**
* {@inheritDoc}
*/
@Override
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform transform,
RenderingHints hints) {
// avoid modifying the user's transform...
transform = new AffineTransform(transform);
// incorporate the gradient transform
transform.concatenate(gradientTransform);
return new ParamGradientMapPaintContext(this, cm,
deviceBounds, userBounds,
transform, hints,
origin, majorAxis, minorAxis, startParam, endParam,
fractions, colors,
cycleMethod, colorSpace);
}
项目:freeVM
文件:CommonGraphics2D.java
/**
* This method fills the given MultiRectArea with any paint.
* @param mra MultiRectArea to fill
*/
protected void fillMultiRectAreaPaint(MultiRectArea mra) {
Rectangle rec = mra.getBounds();
int x = rec.x;
int y = rec.y;
int w = rec.width;
int h = rec.height;
if(w <= 0 || h <= 0) {
return;
}
PaintContext pc = paint.createContext(null, rec, rec, transform, hints);
Raster r = pc.getRaster(x, y, w, h);
WritableRaster wr;
if(r instanceof WritableRaster){
wr = (WritableRaster) r;
}else{
wr = r.createCompatibleWritableRaster();
wr.setRect(r);
}
Surface srcSurf = new ImageSurface(pc.getColorModel(), wr);
blitter.blit(0, 0, srcSurf, x, y, dstSurf, w, h,
composite, null, mra);
srcSurf.dispose();
}
项目:freeVM
文件:CommonGraphics2D.java
/**
* This method fills the given MultiRectArea with any paint.
* @param mra MultiRectArea to fill
*/
protected void fillMultiRectAreaPaint(MultiRectArea mra) {
Rectangle rec = mra.getBounds();
int x = rec.x;
int y = rec.y;
int w = rec.width;
int h = rec.height;
if(w <= 0 || h <= 0) {
return;
}
PaintContext pc = paint.createContext(null, rec, rec, transform, hints);
Raster r = pc.getRaster(x, y, w, h);
WritableRaster wr;
if(r instanceof WritableRaster){
wr = (WritableRaster) r;
}else{
wr = r.createCompatibleWritableRaster();
wr.setRect(r);
}
Surface srcSurf = new ImageSurface(pc.getColorModel(), wr);
blitter.blit(0, 0, srcSurf, x, y, dstSurf, w, h,
composite, null, mra);
srcSurf.dispose();
}
项目:OpenJSharp
文件:AlphaPaintPipe.java
public TileContext(SunGraphics2D sg, PaintContext pc) {
sunG2D = sg;
paintCtxt = pc;
paintModel = pc.getColorModel();
dstData = sg.getSurfaceData();
synchronized (AlphaPaintPipe.class) {
if (cachedLastColorModel != null &&
cachedLastColorModel.get() == paintModel)
{
this.lastRaster = cachedLastRaster;
this.lastData = cachedLastData;
}
}
}
项目:OpenJSharp
文件:AlphaPaintPipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
PaintContext paintContext =
sg.paint.createContext(sg.getDeviceColorModel(),
devR,
s.getBounds2D(),
sg.cloneTransform(),
sg.getRenderingHints());
return new TileContext(sg, paintContext);
}
项目:OpenJSharp
文件:GeneralCompositePipe.java
public TileContext(SunGraphics2D sg, PaintContext pCtx,
CompositeContext cCtx, ColorModel cModel) {
sunG2D = sg;
paintCtxt = pCtx;
compCtxt = cCtx;
compModel = cModel;
}
项目:OpenJSharp
文件:GeneralCompositePipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
RenderingHints hints = sg.getRenderingHints();
ColorModel model = sg.getDeviceColorModel();
PaintContext paintContext =
sg.paint.createContext(model, devR, s.getBounds2D(),
sg.cloneTransform(),
hints);
CompositeContext compositeContext =
sg.composite.createContext(paintContext.getColorModel(), model,
hints);
return new TileContext(sg, paintContext, compositeContext, model);
}
项目:jdk8u-jdk
文件:AlphaPaintPipe.java
public TileContext(SunGraphics2D sg, PaintContext pc) {
sunG2D = sg;
paintCtxt = pc;
paintModel = pc.getColorModel();
dstData = sg.getSurfaceData();
synchronized (AlphaPaintPipe.class) {
if (cachedLastColorModel != null &&
cachedLastColorModel.get() == paintModel)
{
this.lastRaster = cachedLastRaster;
this.lastData = cachedLastData;
}
}
}
项目:jdk8u-jdk
文件:AlphaPaintPipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
PaintContext paintContext =
sg.paint.createContext(sg.getDeviceColorModel(),
devR,
s.getBounds2D(),
sg.cloneTransform(),
sg.getRenderingHints());
return new TileContext(sg, paintContext);
}
项目:jdk8u-jdk
文件:GeneralCompositePipe.java
public TileContext(SunGraphics2D sg, PaintContext pCtx,
CompositeContext cCtx, ColorModel cModel) {
sunG2D = sg;
paintCtxt = pCtx;
compCtxt = cCtx;
compModel = cModel;
}
项目:jdk8u-jdk
文件:GeneralCompositePipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
RenderingHints hints = sg.getRenderingHints();
ColorModel model = sg.getDeviceColorModel();
PaintContext paintContext =
sg.paint.createContext(model, devR, s.getBounds2D(),
sg.cloneTransform(),
hints);
CompositeContext compositeContext =
sg.composite.createContext(paintContext.getColorModel(), model,
hints);
return new TileContext(sg, paintContext, compositeContext, model);
}
项目:jdk8u-jdk
文件:PgramUserBoundsTest.java
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform xform,
RenderingHints hints)
{
System.out.println("user bounds = "+userBounds);
if (!userBounds.equals(expectedBounds)) {
throw new RuntimeException("bounds fail to match");
}
return c.createContext(cm, deviceBounds, userBounds, xform, hints);
}
项目:openjdk-jdk10
文件:AlphaPaintPipe.java
public TileContext(SunGraphics2D sg, PaintContext pc) {
sunG2D = sg;
paintCtxt = pc;
paintModel = pc.getColorModel();
dstData = sg.getSurfaceData();
synchronized (AlphaPaintPipe.class) {
if (cachedLastColorModel != null &&
cachedLastColorModel.get() == paintModel)
{
this.lastRaster = cachedLastRaster;
this.lastData = cachedLastData;
}
}
}
项目:openjdk-jdk10
文件:AlphaPaintPipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
PaintContext paintContext =
sg.paint.createContext(sg.getDeviceColorModel(),
devR,
s.getBounds2D(),
sg.cloneTransform(),
sg.getRenderingHints());
return new TileContext(sg, paintContext);
}
项目:openjdk-jdk10
文件:GeneralCompositePipe.java
public TileContext(SunGraphics2D sg, PaintContext pCtx,
CompositeContext cCtx, ColorModel cModel) {
sunG2D = sg;
paintCtxt = pCtx;
compCtxt = cCtx;
compModel = cModel;
}
项目:openjdk-jdk10
文件:GeneralCompositePipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
RenderingHints hints = sg.getRenderingHints();
ColorModel model = sg.getDeviceColorModel();
PaintContext paintContext =
sg.paint.createContext(model, devR, s.getBounds2D(),
sg.cloneTransform(),
hints);
CompositeContext compositeContext =
sg.composite.createContext(paintContext.getColorModel(), model,
hints);
return new TileContext(sg, paintContext, compositeContext, model);
}
项目:openjdk-jdk10
文件:PgramUserBoundsTest.java
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform xform,
RenderingHints hints)
{
System.out.println("user bounds = "+userBounds);
if (!userBounds.equals(expectedBounds)) {
throw new RuntimeException("bounds fail to match");
}
return c.createContext(cm, deviceBounds, userBounds, xform, hints);
}
项目:openjdk-jdk10
文件:CrashPaintTest.java
@Override
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform at,
RenderingHints hints) {
// Fill bufferedImage using
final Graphics2D g2d = (Graphics2D) getImage().getGraphics();
try {
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setBackground(Color.PINK);
g2d.clearRect(0, 0, size, size);
g2d.setColor(Color.BLUE);
g2d.drawRect(0, 0, size, size);
g2d.fillOval(size / 10, size / 10,
size * 8 / 10, size * 8 / 10);
} finally {
g2d.dispose();
}
return super.createContext(cm, deviceBounds, userBounds, at, hints);
}
项目:openjdk9
文件:AlphaPaintPipe.java
public TileContext(SunGraphics2D sg, PaintContext pc) {
sunG2D = sg;
paintCtxt = pc;
paintModel = pc.getColorModel();
dstData = sg.getSurfaceData();
synchronized (AlphaPaintPipe.class) {
if (cachedLastColorModel != null &&
cachedLastColorModel.get() == paintModel)
{
this.lastRaster = cachedLastRaster;
this.lastData = cachedLastData;
}
}
}
项目:openjdk9
文件:AlphaPaintPipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
PaintContext paintContext =
sg.paint.createContext(sg.getDeviceColorModel(),
devR,
s.getBounds2D(),
sg.cloneTransform(),
sg.getRenderingHints());
return new TileContext(sg, paintContext);
}
项目:openjdk9
文件:GeneralCompositePipe.java
public TileContext(SunGraphics2D sg, PaintContext pCtx,
CompositeContext cCtx, ColorModel cModel) {
sunG2D = sg;
paintCtxt = pCtx;
compCtxt = cCtx;
compModel = cModel;
}
项目:openjdk9
文件:GeneralCompositePipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
RenderingHints hints = sg.getRenderingHints();
ColorModel model = sg.getDeviceColorModel();
PaintContext paintContext =
sg.paint.createContext(model, devR, s.getBounds2D(),
sg.cloneTransform(),
hints);
CompositeContext compositeContext =
sg.composite.createContext(paintContext.getColorModel(), model,
hints);
return new TileContext(sg, paintContext, compositeContext, model);
}
项目:openjdk9
文件:PgramUserBoundsTest.java
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform xform,
RenderingHints hints)
{
System.out.println("user bounds = "+userBounds);
if (!userBounds.equals(expectedBounds)) {
throw new RuntimeException("bounds fail to match");
}
return c.createContext(cm, deviceBounds, userBounds, xform, hints);
}
项目:openjdk9
文件:CrashPaintTest.java
@Override
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform at,
RenderingHints hints) {
// Fill bufferedImage using
final Graphics2D g2d = (Graphics2D) getImage().getGraphics();
try {
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setBackground(Color.PINK);
g2d.clearRect(0, 0, size, size);
g2d.setColor(Color.BLUE);
g2d.drawRect(0, 0, size, size);
g2d.fillOval(size / 10, size / 10,
size * 8 / 10, size * 8 / 10);
} finally {
g2d.dispose();
}
return super.createContext(cm, deviceBounds, userBounds, at, hints);
}
项目:PhET
文件:TriColorRoundGradientPaint.java
/**
* See Paint.createContext
*/
public PaintContext createContext( ColorModel cm, Rectangle deviceBounds, Rectangle2D userBounds, AffineTransform xform, RenderingHints hints ) {
Point2D transformedCenter = xform.transform( center, null );
//Transform from user space to device space and create the gradient context
double transformedInnerMiddleSpan = xform.deltaTransform( new Point2D.Double( innerMiddleSpan, 0 ), null ).getX();
double transformedMiddleOuterSpan = xform.deltaTransform( new Point2D.Double( middleOuterSpan, 0 ), null ).getX();
return new TriColorRoundGradientContext( innerColor, middleColor, outerColor, transformedCenter, transformedInnerMiddleSpan, transformedMiddleOuterSpan );
}
项目:pumpernickel
文件:TransformedTexturePaint.java
public PaintContext createContext(ColorModel cm, Rectangle deviceBounds,
Rectangle2D userBounds, AffineTransform xform, RenderingHints hints) {
AffineTransform newTransform = new AffineTransform(xform);
newTransform.concatenate(transform);
//this is necessary on Java 1.4 toa void a NullPointerException
//from: java.awt.TexturePaintContext.getContext(TexturePaintContext.java:57)
if(hints==null)
hints = new RenderingHints(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_DEFAULT);
return texturePaint.createContext(cm, deviceBounds, userBounds, newTransform, hints);
}
项目:pumpernickel
文件:CoveredContext.java
public CoveredContext(PaintContext context,double x1,double y1,int color1,double x2,double y2,int color2,AffineTransform transform) {
this.context = context;
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
this.color1 = color1;
this.color2 = color2;
this.transform = transform;
}
项目:Push2Display
文件:PatternPaint.java
/**
* Creates and returns a context used to generate the pattern.
*/
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform xform,
RenderingHints hints) {
// Concatenate the patternTransform to xform
if (patternTransform != null) {
xform = new AffineTransform(xform);
xform.concatenate(patternTransform);
}
if ((lastContext!= null) &&
lastContext.getColorModel().equals(cm)) {
double[] p = new double[6];
double[] q = new double[6];
xform.getMatrix(p);
lastContext.getUsr2Dev().getMatrix(q);
if ((p[0] == q[0]) && (p[1] == q[1]) &&
(p[2] == q[2]) && (p[3] == q[3])) {
if ((p[4] == q[4]) && (p[5] == q[5]))
return lastContext;
else
return new PatternPaintContextWrapper
(lastContext,
(int)(q[4]-p[4]+0.5),
(int)(q[5]-p[5]+0.5));
}
}
// System.out.println("CreateContext Called: " + this);
// System.out.println("CM : " + cm);
// System.out.println("xForm : " + xform);
lastContext = new PatternPaintContext(cm, xform,
hints, tile,
patternRegion,
overflow);
return lastContext;
}
项目:Push2Display
文件:LinearGradientPaint.java
/**
* Creates and returns a PaintContext used to generate the color pattern,
* for use by the internal rendering engine.
*
* @param cm {@link ColorModel} that receives
* the <code>Paint</code> data. This is used only as a hint.
*
* @param deviceBounds the device space bounding box of the
* graphics primitive being rendered
*
* @param userBounds the user space bounding box of the
* graphics primitive being rendered
*
* @param transform the {@link AffineTransform} from user
* space into device space
*
* @param hints the hints that the context object uses to choose
* between rendering alternatives
*
* @return the {@link PaintContext} that generates color patterns.
*
* @see PaintContext
*/
public PaintContext createContext(ColorModel cm,
Rectangle deviceBounds,
Rectangle2D userBounds,
AffineTransform transform,
RenderingHints hints) {
// Can't modify the transform passed in...
transform = new AffineTransform(transform);
//incorporate the gradient transform
transform.concatenate(gradientTransform);
try {
return new LinearGradientPaintContext(cm,
deviceBounds,
userBounds,
transform,
hints,
start,
end,
fractions,
this.getColors(),
cycleMethod,
colorSpace);
}
catch(NoninvertibleTransformException e) {
e.printStackTrace();
throw new IllegalArgumentException("transform should be" +
"invertible");
}
}
项目:jdk8u_jdk
文件:AlphaPaintPipe.java
public TileContext(SunGraphics2D sg, PaintContext pc) {
sunG2D = sg;
paintCtxt = pc;
paintModel = pc.getColorModel();
dstData = sg.getSurfaceData();
synchronized (AlphaPaintPipe.class) {
if (cachedLastColorModel != null &&
cachedLastColorModel.get() == paintModel)
{
this.lastRaster = cachedLastRaster;
this.lastData = cachedLastData;
}
}
}
项目:jdk8u_jdk
文件:AlphaPaintPipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
PaintContext paintContext =
sg.paint.createContext(sg.getDeviceColorModel(),
devR,
s.getBounds2D(),
sg.cloneTransform(),
sg.getRenderingHints());
return new TileContext(sg, paintContext);
}
项目:jdk8u_jdk
文件:GeneralCompositePipe.java
public TileContext(SunGraphics2D sg, PaintContext pCtx,
CompositeContext cCtx, ColorModel cModel) {
sunG2D = sg;
paintCtxt = pCtx;
compCtxt = cCtx;
compModel = cModel;
}
项目:jdk8u_jdk
文件:GeneralCompositePipe.java
public Object startSequence(SunGraphics2D sg, Shape s, Rectangle devR,
int[] abox) {
RenderingHints hints = sg.getRenderingHints();
ColorModel model = sg.getDeviceColorModel();
PaintContext paintContext =
sg.paint.createContext(model, devR, s.getBounds2D(),
sg.cloneTransform(),
hints);
CompositeContext compositeContext =
sg.composite.createContext(paintContext.getColorModel(), model,
hints);
return new TileContext(sg, paintContext, compositeContext, model);
}