SWTContext.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:simpledance 作者:
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();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号