1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: google/type/color.proto
5 Package color is a generated protocol buffer package.
7 It is generated from these files:
8 google/type/color.proto
10 It has these top-level messages:
15 import proto "github.com/golang/protobuf/proto"
18 import google_protobuf "github.com/golang/protobuf/ptypes/wrappers"
20 // Reference imports to suppress errors if they are not otherwise used.
25 // This is a compile-time assertion to ensure that this generated file
26 // is compatible with the proto package it is being compiled against.
27 // A compilation error at this line likely means your copy of the
28 // proto package needs to be updated.
29 const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
31 // Represents a color in the RGBA color space. This representation is designed
32 // for simplicity of conversion to/from color representations in various
33 // languages over compactness; for example, the fields of this representation
34 // can be trivially provided to the constructor of "java.awt.Color" in Java; it
35 // can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha"
36 // method in iOS; and, with just a little work, it can be easily formatted into
37 // a CSS "rgba()" string in JavaScript, as well. Here are some examples:
41 // import com.google.type.Color;
44 // public static java.awt.Color fromProto(Color protocolor) {
45 // float alpha = protocolor.hasAlpha()
46 // ? protocolor.getAlpha().getValue()
49 // return new java.awt.Color(
50 // protocolor.getRed(),
51 // protocolor.getGreen(),
52 // protocolor.getBlue(),
56 // public static Color toProto(java.awt.Color color) {
57 // float red = (float) color.getRed();
58 // float green = (float) color.getGreen();
59 // float blue = (float) color.getBlue();
60 // float denominator = 255.0;
61 // Color.Builder resultBuilder =
64 // .setRed(red / denominator)
65 // .setGreen(green / denominator)
66 // .setBlue(blue / denominator);
67 // int alpha = color.getAlpha();
68 // if (alpha != 255) {
72 // .setValue(((float) alpha) / denominator)
75 // return resultBuilder.build();
79 // Example (iOS / Obj-C):
82 // static UIColor* fromProto(Color* protocolor) {
83 // float red = [protocolor red];
84 // float green = [protocolor green];
85 // float blue = [protocolor blue];
86 // FloatValue* alpha_wrapper = [protocolor alpha];
88 // if (alpha_wrapper != nil) {
89 // alpha = [alpha_wrapper value];
91 // return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
94 // static Color* toProto(UIColor* color) {
95 // CGFloat red, green, blue, alpha;
96 // if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
99 // Color* result = [Color alloc] init];
100 // [result setRed:red];
101 // [result setGreen:green];
102 // [result setBlue:blue];
103 // if (alpha <= 0.9999) {
104 // [result setAlpha:floatWrapperWithValue(alpha)];
106 // [result autorelease];
111 // Example (JavaScript):
115 // var protoToCssColor = function(rgb_color) {
116 // var redFrac = rgb_color.red || 0.0;
117 // var greenFrac = rgb_color.green || 0.0;
118 // var blueFrac = rgb_color.blue || 0.0;
119 // var red = Math.floor(redFrac * 255);
120 // var green = Math.floor(greenFrac * 255);
121 // var blue = Math.floor(blueFrac * 255);
123 // if (!('alpha' in rgb_color)) {
124 // return rgbToCssColor_(red, green, blue);
127 // var alphaFrac = rgb_color.alpha.value || 0.0;
128 // var rgbParams = [red, green, blue].join(',');
129 // return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
132 // var rgbToCssColor_ = function(red, green, blue) {
133 // var rgbNumber = new Number((red << 16) | (green << 8) | blue);
134 // var hexString = rgbNumber.toString(16);
135 // var missingZeros = 6 - hexString.length;
136 // var resultBuilder = ['#'];
137 // for (var i = 0; i < missingZeros; i++) {
138 // resultBuilder.push('0');
140 // resultBuilder.push(hexString);
141 // return resultBuilder.join('');
146 // The amount of red in the color as a value in the interval [0, 1].
147 Red float32 `protobuf:"fixed32,1,opt,name=red" json:"red,omitempty"`
148 // The amount of green in the color as a value in the interval [0, 1].
149 Green float32 `protobuf:"fixed32,2,opt,name=green" json:"green,omitempty"`
150 // The amount of blue in the color as a value in the interval [0, 1].
151 Blue float32 `protobuf:"fixed32,3,opt,name=blue" json:"blue,omitempty"`
152 // The fraction of this color that should be applied to the pixel. That is,
153 // the final pixel color is defined by the equation:
155 // pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
157 // This means that a value of 1.0 corresponds to a solid color, whereas
158 // a value of 0.0 corresponds to a completely transparent color. This
159 // uses a wrapper message rather than a simple float scalar so that it is
160 // possible to distinguish between a default value and the value being unset.
161 // If omitted, this color object is to be rendered as a solid color
162 // (as if the alpha value had been explicitly given with a value of 1.0).
163 Alpha *google_protobuf.FloatValue `protobuf:"bytes,4,opt,name=alpha" json:"alpha,omitempty"`
166 func (m *Color) Reset() { *m = Color{} }
167 func (m *Color) String() string { return proto.CompactTextString(m) }
168 func (*Color) ProtoMessage() {}
169 func (*Color) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
171 func (m *Color) GetRed() float32 {
178 func (m *Color) GetGreen() float32 {
185 func (m *Color) GetBlue() float32 {
192 func (m *Color) GetAlpha() *google_protobuf.FloatValue {
200 proto.RegisterType((*Color)(nil), "google.type.Color")
203 func init() { proto.RegisterFile("google/type/color.proto", fileDescriptor0) }
205 var fileDescriptor0 = []byte{
206 // 224 bytes of a gzipped FileDescriptorProto
207 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0x31, 0x4b, 0xc5, 0x30,
208 0x10, 0xc7, 0x49, 0xfb, 0xea, 0x70, 0x6f, 0x50, 0x82, 0x60, 0x50, 0x90, 0x87, 0xd3, 0x9b, 0x12,
209 0x54, 0x70, 0x71, 0xab, 0xa0, 0x6b, 0x29, 0xe2, 0x20, 0x38, 0xa4, 0xf5, 0x8c, 0x42, 0xec, 0x85,
210 0xb4, 0x55, 0xfc, 0x3a, 0x7e, 0x52, 0xc9, 0xa5, 0x42, 0x97, 0x70, 0xb9, 0xdf, 0xef, 0x92, 0xff,
211 0xc1, 0x89, 0x23, 0x72, 0x1e, 0xcd, 0xf4, 0x13, 0xd0, 0xf4, 0xe4, 0x29, 0xea, 0x10, 0x69, 0x22,
212 0xb9, 0xcd, 0x40, 0x27, 0x70, 0x7a, 0xbe, 0x58, 0x8c, 0xba, 0xf9, 0xcd, 0x7c, 0x47, 0x1b, 0x02,
213 0xc6, 0x31, 0xcb, 0x17, 0x5f, 0x50, 0xdd, 0xa5, 0x59, 0x79, 0x04, 0x65, 0xc4, 0x57, 0x25, 0x76,
214 0x62, 0x5f, 0xb4, 0xa9, 0x94, 0xc7, 0x50, 0xb9, 0x88, 0x38, 0xa8, 0x82, 0x7b, 0xf9, 0x22, 0x25,
215 0x6c, 0x3a, 0x3f, 0xa3, 0x2a, 0xb9, 0xc9, 0xb5, 0xbc, 0x84, 0xca, 0xfa, 0xf0, 0x6e, 0xd5, 0x66,
216 0x27, 0xf6, 0xdb, 0xab, 0x33, 0xbd, 0x24, 0xf8, 0xff, 0x54, 0xdf, 0x7b, 0xb2, 0xd3, 0x93, 0xf5,
217 0x33, 0xb6, 0xd9, 0xac, 0x5f, 0xe0, 0xb0, 0xa7, 0x4f, 0xbd, 0x8a, 0x5a, 0x03, 0x07, 0x69, 0xd2,
218 0x4c, 0x23, 0x9e, 0x6f, 0x16, 0xe4, 0xc8, 0xdb, 0xc1, 0x69, 0x8a, 0xce, 0x38, 0x1c, 0xf8, 0x45,
219 0x93, 0x91, 0x0d, 0x1f, 0xe3, 0x6a, 0xfb, 0x5b, 0x3e, 0x7f, 0x8b, 0xf2, 0xe1, 0xb1, 0xe9, 0x0e,
220 0x58, 0xbc, 0xfe, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x42, 0x23, 0x2a, 0xd0, 0x25, 0x01, 0x00, 0x00,