| // compile |
| |
| // Copyright 2017 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // Issue 19515: compiler panics on spilling int128 constant. |
| |
| package x |
| |
| type VScrollPanel struct { |
| x, y int |
| } |
| |
| type Color struct { |
| R, G, B, A float32 |
| } |
| |
| func maxF(a, b float32) float32 { |
| if a > b { |
| return 0 |
| } |
| return 1 |
| } |
| |
| type TransformMatrix [6]float32 |
| |
| type Paint struct { |
| xform TransformMatrix |
| feather float32 |
| innerColor Color |
| outerColor Color |
| } |
| |
| func BoxGradient(x, y, w, h, f float32, iColor, oColor Color) Paint { |
| return Paint{ |
| xform: TransformMatrix{9, 0, 0, 0, x, y}, |
| feather: maxF(1.0, f), |
| innerColor: iColor, |
| outerColor: oColor, |
| } |
| } |
| |
| func (v *VScrollPanel) Draw() { |
| x := float32(v.x) |
| y := float32(v.y) |
| |
| BoxGradient(x+x-2, y-1, 0, 0, 0, Color{}, Color{}) |
| BoxGradient(x+y-2, y-1, 0, 0, 0, Color{}, Color{}) |
| } |
| |