Mercurial > hg > charamega
changeset 9:2efb0973ab83
Cleaned up the rendering code.
author | Mikhail Kryshen <mikhail@kryshen.net> |
---|---|
date | Tue, 17 Jul 2012 05:08:17 +0400 |
parents | cf757c4466b8 |
children | 6e6b00d95d0b |
files | src/net/kryshen/charamega/field.mirah |
diffstat | 1 files changed, 13 insertions(+), 20 deletions(-) [+] |
line diff
1.1 --- a/src/net/kryshen/charamega/field.mirah Mon Jul 16 07:50:02 2012 +0400 1.2 +++ b/src/net/kryshen/charamega/field.mirah Tue Jul 17 05:08:17 2012 +0400 1.3 @@ -103,10 +103,10 @@ 1.4 g = Graphics2D(g1) 1.5 1.6 g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, 1.7 - RenderingHints.VALUE_ANTIALIAS_ON) 1.8 + RenderingHints.VALUE_ANTIALIAS_ON) 1.9 g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, 1.10 RenderingHints.VALUE_FRACTIONALMETRICS_ON) 1.11 - 1.12 + 1.13 w = getWidth 1.14 h = getHeight 1.15 1.16 @@ -129,9 +129,7 @@ 1.17 1.18 rm_scale = 2.0 1.19 1.20 - outer = Rectangle2D.Double.new 1.21 - inner = Rectangle2D.Double.new 1.22 - border = Path2D.Double.new(Path2D.WIND_EVEN_ODD) 1.23 + card_bounds = Rectangle2D.Double.new 1.24 1.25 save_t = g.getTransform 1.26 1.27 @@ -173,13 +171,8 @@ 1.28 1.29 g.rotate card.angle * v 1.30 1.31 - outer.setRect(-card_size / 2, -card_size / 2, 1.32 - card_size, card_size) 1.33 - inner.setRect(1 - card_size / 2, 1 - card_size / 2, 1.34 - card_size - 2, card_size - 2) 1.35 - border.reset 1.36 - border.append outer, false 1.37 - border.append inner, false 1.38 + card_bounds.setRect(-card_size / 2, -card_size / 2, 1.39 + card_size, card_size) 1.40 1.41 if f > 0 1.42 g.setColor with_alpha(@face_color, v) 1.43 @@ -187,24 +180,24 @@ 1.44 g.setColor with_alpha(@back_color, v) 1.45 end 1.46 1.47 - g.fill inner 1.48 + g.fill card_bounds 1.49 1.50 if f > 0 1.51 g.setColor with_alpha(@symbol_color, Math.sqrt(v)) 1.52 1.53 gv = font.createGlyphVector(frc, String.valueOf(card.symbol)) 1.54 - sb = gv.getVisualBounds 1.55 + gb = gv.getVisualBounds 1.56 1.57 # Scale down if the glyph does not fit. 1.58 - tolerance = 0.95 1.59 - scale = Math.min(inner.getWidth * tolerance / sb.getWidth, 1.60 - inner.getHeight * tolerance / sb.getHeight) 1.61 + k = 0.9 1.62 + scale = Math.min(card_bounds.width * k / gb.getWidth, 1.63 + card_bounds.height * k / gb.getHeight) 1.64 save_t_2 = g.getTransform 1.65 g.scale scale, scale if scale < 1.0 1.66 1.67 g.drawGlyphVector(gv, 1.68 - -float(sb.getX + sb.getWidth / 2), 1.69 - -float(sb.getY + sb.getHeight / 2)) 1.70 + -float(gb.getX + gb.getWidth / 2), 1.71 + -float(gb.getY + gb.getHeight / 2)) 1.72 1.73 g.setTransform save_t_2 1.74 end 1.75 @@ -215,7 +208,7 @@ 1.76 g.setColor with_alpha(@border_color, v) 1.77 end 1.78 1.79 - g.fill border 1.80 + g.draw card_bounds 1.81 1.82 g.setTransform save_t 1.83 end