jdk/src/share/classes/sun/java2d/pisces/Stroker.java
changeset 2698 8b8a4fba727c
parent 2 90ce3da70b43
child 5506 202f599c92aa
equal deleted inserted replaced
2697:b27edaf0767e 2698:8b8a4fba727c
   179                               int joinStyle,
   179                               int joinStyle,
   180                               int miterLimit,
   180                               int miterLimit,
   181                               Transform4 transform) {
   181                               Transform4 transform) {
   182         this.lineWidth = lineWidth;
   182         this.lineWidth = lineWidth;
   183         this.lineWidth2 = lineWidth >> 1;
   183         this.lineWidth2 = lineWidth >> 1;
   184         this.scaledLineWidth2 = (long)transform.m00*lineWidth2;
   184         this.scaledLineWidth2 = ((long)transform.m00*lineWidth2) >> 16;
   185         this.capStyle = capStyle;
   185         this.capStyle = capStyle;
   186         this.joinStyle = joinStyle;
   186         this.joinStyle = joinStyle;
   187         this.miterLimit = miterLimit;
   187         this.miterLimit = miterLimit;
   188 
   188 
   189         this.transform = transform;
   189         this.transform = transform;
   241         if (m00 > 0 && m00 == m11 && m01 == 0 & m10 == 0) {
   241         if (m00 > 0 && m00 == m11 && m01 == 0 & m10 == 0) {
   242             long ilen = PiscesMath.hypot(lx, ly);
   242             long ilen = PiscesMath.hypot(lx, ly);
   243             if (ilen == 0) {
   243             if (ilen == 0) {
   244                 dx = dy = 0;
   244                 dx = dy = 0;
   245             } else {
   245             } else {
   246                 dx = (int)( (ly*scaledLineWidth2)/ilen >> 16);
   246                 dx = (int)( (ly*scaledLineWidth2)/ilen);
   247                 dy = (int)(-(lx*scaledLineWidth2)/ilen >> 16);
   247                 dy = (int)(-(lx*scaledLineWidth2)/ilen);
   248             }
   248             }
   249         } else {
   249         } else {
   250             double dlx = x1 - x0;
   250             double dlx = x1 - x0;
   251             double dly = y1 - y0;
   251             double dly = y1 - y0;
   252             double det = (double)m00*m11 - (double)m01*m10;
   252             double det = (double)m00*m11 - (double)m01*m10;