public void gradientPolygon(int [] newData, RGB startRGB, RGB endRGB, int angle)
{
int minx,miny,maxx,maxy;
int i;
/* Find minx, miny, maxx, maxy */
minx = maxx = newData[0];
miny = maxy = newData[1];
if ((newData.length & 0x02) == 0) /* even number of pairs */
{
if (newData[2] < minx) minx = newData[2];
else maxx = newData[2];
if (newData[3] < miny) miny = newData[3];
else maxy = newData[3];
i = 4;
} else i = 2;
while (i<newData.length)
{
if (newData[i] < newData[i+2])
{
if (newData[i] < minx) minx = newData[i];
else if (newData[i+2] > maxx) maxx = newData[i+2];
} else
{
if (newData[i+2] < minx) minx = newData[i+2];
else if (newData[i] > maxx) maxx = newData[i];
}
i++;
if (newData[i] < newData[i+2])
{
if (newData[i] < miny) miny = newData[i];
else if (newData[i+2] > maxy) maxy = newData[i+2];
} else
{
if (newData[i+2] < miny) miny = newData[i+2];
else if (newData[i] > maxy) maxy = newData[i];
}
i+=3;
}
org.eclipse.swt.graphics.Color startColor = new org.eclipse.swt.graphics.Color(display, startRGB.r,startRGB.g,startRGB.b);
org.eclipse.swt.graphics.Color endColor = new org.eclipse.swt.graphics.Color(display, endRGB.r,endRGB.g,endRGB.b);
Pattern pat = new Pattern(display,minx,miny,maxx,maxy,startColor,endColor);
Pattern oldPat = gc.getBackgroundPattern();
gc.setBackgroundPattern(pat);
gc.fillPolygon(newData);
gc.setBackgroundPattern(oldPat);
pat.dispose();
startColor.dispose();
endColor.dispose();
}
SWTContext.java 文件源码
java
阅读 26
收藏 0
点赞 0
评论 0
项目:simpledance
作者:
评论列表
文章目录