annotate libgo/go/image/names.go @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // Copyright 2010 The Go Authors. All rights reserved.
kono
parents:
diff changeset
2 // Use of this source code is governed by a BSD-style
kono
parents:
diff changeset
3 // license that can be found in the LICENSE file.
kono
parents:
diff changeset
4
kono
parents:
diff changeset
5 package image
kono
parents:
diff changeset
6
kono
parents:
diff changeset
7 import (
kono
parents:
diff changeset
8 "image/color"
kono
parents:
diff changeset
9 )
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 var (
kono
parents:
diff changeset
12 // Black is an opaque black uniform image.
kono
parents:
diff changeset
13 Black = NewUniform(color.Black)
kono
parents:
diff changeset
14 // White is an opaque white uniform image.
kono
parents:
diff changeset
15 White = NewUniform(color.White)
kono
parents:
diff changeset
16 // Transparent is a fully transparent uniform image.
kono
parents:
diff changeset
17 Transparent = NewUniform(color.Transparent)
kono
parents:
diff changeset
18 // Opaque is a fully opaque uniform image.
kono
parents:
diff changeset
19 Opaque = NewUniform(color.Opaque)
kono
parents:
diff changeset
20 )
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 // Uniform is an infinite-sized Image of uniform color.
kono
parents:
diff changeset
23 // It implements the color.Color, color.Model, and Image interfaces.
kono
parents:
diff changeset
24 type Uniform struct {
kono
parents:
diff changeset
25 C color.Color
kono
parents:
diff changeset
26 }
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 func (c *Uniform) RGBA() (r, g, b, a uint32) {
kono
parents:
diff changeset
29 return c.C.RGBA()
kono
parents:
diff changeset
30 }
kono
parents:
diff changeset
31
kono
parents:
diff changeset
32 func (c *Uniform) ColorModel() color.Model {
kono
parents:
diff changeset
33 return c
kono
parents:
diff changeset
34 }
kono
parents:
diff changeset
35
kono
parents:
diff changeset
36 func (c *Uniform) Convert(color.Color) color.Color {
kono
parents:
diff changeset
37 return c.C
kono
parents:
diff changeset
38 }
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 func (c *Uniform) Bounds() Rectangle { return Rectangle{Point{-1e9, -1e9}, Point{1e9, 1e9}} }
kono
parents:
diff changeset
41
kono
parents:
diff changeset
42 func (c *Uniform) At(x, y int) color.Color { return c.C }
kono
parents:
diff changeset
43
kono
parents:
diff changeset
44 // Opaque scans the entire image and reports whether it is fully opaque.
kono
parents:
diff changeset
45 func (c *Uniform) Opaque() bool {
kono
parents:
diff changeset
46 _, _, _, a := c.C.RGBA()
kono
parents:
diff changeset
47 return a == 0xffff
kono
parents:
diff changeset
48 }
kono
parents:
diff changeset
49
kono
parents:
diff changeset
50 func NewUniform(c color.Color) *Uniform {
kono
parents:
diff changeset
51 return &Uniform{c}
kono
parents:
diff changeset
52 }