1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/type/color.proto 3 4package color 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 wrappers "github.com/golang/protobuf/ptypes/wrappers" 12) 13 14// Reference imports to suppress errors if they are not otherwise used. 15var _ = proto.Marshal 16var _ = fmt.Errorf 17var _ = math.Inf 18 19// This is a compile-time assertion to ensure that this generated file 20// is compatible with the proto package it is being compiled against. 21// A compilation error at this line likely means your copy of the 22// proto package needs to be updated. 23const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 24 25// Represents a color in the RGBA color space. This representation is designed 26// for simplicity of conversion to/from color representations in various 27// languages over compactness; for example, the fields of this representation 28// can be trivially provided to the constructor of "java.awt.Color" in Java; it 29// can also be trivially provided to UIColor's "+colorWithRed:green:blue:alpha" 30// method in iOS; and, with just a little work, it can be easily formatted into 31// a CSS "rgba()" string in JavaScript, as well. 32// 33// Note: this proto does not carry information about the absolute color space 34// that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, 35// DCI-P3, BT.2020, etc.). By default, applications SHOULD assume the sRGB color 36// space. 37// 38// Example (Java): 39// 40// import com.google.type.Color; 41// 42// // ... 43// public static java.awt.Color fromProto(Color protocolor) { 44// float alpha = protocolor.hasAlpha() 45// ? protocolor.getAlpha().getValue() 46// : 1.0; 47// 48// return new java.awt.Color( 49// protocolor.getRed(), 50// protocolor.getGreen(), 51// protocolor.getBlue(), 52// alpha); 53// } 54// 55// public static Color toProto(java.awt.Color color) { 56// float red = (float) color.getRed(); 57// float green = (float) color.getGreen(); 58// float blue = (float) color.getBlue(); 59// float denominator = 255.0; 60// Color.Builder resultBuilder = 61// Color 62// .newBuilder() 63// .setRed(red / denominator) 64// .setGreen(green / denominator) 65// .setBlue(blue / denominator); 66// int alpha = color.getAlpha(); 67// if (alpha != 255) { 68// result.setAlpha( 69// FloatValue 70// .newBuilder() 71// .setValue(((float) alpha) / denominator) 72// .build()); 73// } 74// return resultBuilder.build(); 75// } 76// // ... 77// 78// Example (iOS / Obj-C): 79// 80// // ... 81// static UIColor* fromProto(Color* protocolor) { 82// float red = [protocolor red]; 83// float green = [protocolor green]; 84// float blue = [protocolor blue]; 85// FloatValue* alpha_wrapper = [protocolor alpha]; 86// float alpha = 1.0; 87// if (alpha_wrapper != nil) { 88// alpha = [alpha_wrapper value]; 89// } 90// return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; 91// } 92// 93// static Color* toProto(UIColor* color) { 94// CGFloat red, green, blue, alpha; 95// if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { 96// return nil; 97// } 98// Color* result = [[Color alloc] init]; 99// [result setRed:red]; 100// [result setGreen:green]; 101// [result setBlue:blue]; 102// if (alpha <= 0.9999) { 103// [result setAlpha:floatWrapperWithValue(alpha)]; 104// } 105// [result autorelease]; 106// return result; 107// } 108// // ... 109// 110// Example (JavaScript): 111// 112// // ... 113// 114// var protoToCssColor = function(rgb_color) { 115// var redFrac = rgb_color.red || 0.0; 116// var greenFrac = rgb_color.green || 0.0; 117// var blueFrac = rgb_color.blue || 0.0; 118// var red = Math.floor(redFrac * 255); 119// var green = Math.floor(greenFrac * 255); 120// var blue = Math.floor(blueFrac * 255); 121// 122// if (!('alpha' in rgb_color)) { 123// return rgbToCssColor_(red, green, blue); 124// } 125// 126// var alphaFrac = rgb_color.alpha.value || 0.0; 127// var rgbParams = [red, green, blue].join(','); 128// return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); 129// }; 130// 131// var rgbToCssColor_ = function(red, green, blue) { 132// var rgbNumber = new Number((red << 16) | (green << 8) | blue); 133// var hexString = rgbNumber.toString(16); 134// var missingZeros = 6 - hexString.length; 135// var resultBuilder = ['#']; 136// for (var i = 0; i < missingZeros; i++) { 137// resultBuilder.push('0'); 138// } 139// resultBuilder.push(hexString); 140// return resultBuilder.join(''); 141// }; 142// 143// // ... 144type Color struct { 145 // The amount of red in the color as a value in the interval [0, 1]. 146 Red float32 `protobuf:"fixed32,1,opt,name=red,proto3" json:"red,omitempty"` 147 // The amount of green in the color as a value in the interval [0, 1]. 148 Green float32 `protobuf:"fixed32,2,opt,name=green,proto3" json:"green,omitempty"` 149 // The amount of blue in the color as a value in the interval [0, 1]. 150 Blue float32 `protobuf:"fixed32,3,opt,name=blue,proto3" json:"blue,omitempty"` 151 // The fraction of this color that should be applied to the pixel. That is, 152 // the final pixel color is defined by the equation: 153 // 154 // pixel color = alpha * (this color) + (1.0 - alpha) * (background color) 155 // 156 // This means that a value of 1.0 corresponds to a solid color, whereas 157 // a value of 0.0 corresponds to a completely transparent color. This 158 // uses a wrapper message rather than a simple float scalar so that it is 159 // possible to distinguish between a default value and the value being unset. 160 // If omitted, this color object is to be rendered as a solid color 161 // (as if the alpha value had been explicitly given with a value of 1.0). 162 Alpha *wrappers.FloatValue `protobuf:"bytes,4,opt,name=alpha,proto3" json:"alpha,omitempty"` 163 XXX_NoUnkeyedLiteral struct{} `json:"-"` 164 XXX_unrecognized []byte `json:"-"` 165 XXX_sizecache int32 `json:"-"` 166} 167 168func (m *Color) Reset() { *m = Color{} } 169func (m *Color) String() string { return proto.CompactTextString(m) } 170func (*Color) ProtoMessage() {} 171func (*Color) Descriptor() ([]byte, []int) { 172 return fileDescriptor_8454902cb8a2d34f, []int{0} 173} 174 175func (m *Color) XXX_Unmarshal(b []byte) error { 176 return xxx_messageInfo_Color.Unmarshal(m, b) 177} 178func (m *Color) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 179 return xxx_messageInfo_Color.Marshal(b, m, deterministic) 180} 181func (m *Color) XXX_Merge(src proto.Message) { 182 xxx_messageInfo_Color.Merge(m, src) 183} 184func (m *Color) XXX_Size() int { 185 return xxx_messageInfo_Color.Size(m) 186} 187func (m *Color) XXX_DiscardUnknown() { 188 xxx_messageInfo_Color.DiscardUnknown(m) 189} 190 191var xxx_messageInfo_Color proto.InternalMessageInfo 192 193func (m *Color) GetRed() float32 { 194 if m != nil { 195 return m.Red 196 } 197 return 0 198} 199 200func (m *Color) GetGreen() float32 { 201 if m != nil { 202 return m.Green 203 } 204 return 0 205} 206 207func (m *Color) GetBlue() float32 { 208 if m != nil { 209 return m.Blue 210 } 211 return 0 212} 213 214func (m *Color) GetAlpha() *wrappers.FloatValue { 215 if m != nil { 216 return m.Alpha 217 } 218 return nil 219} 220 221func init() { 222 proto.RegisterType((*Color)(nil), "google.type.Color") 223} 224 225func init() { proto.RegisterFile("google/type/color.proto", fileDescriptor_8454902cb8a2d34f) } 226 227var fileDescriptor_8454902cb8a2d34f = []byte{ 228 // 228 bytes of a gzipped FileDescriptorProto 229 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x4c, 0x8f, 0x31, 0x4b, 0xc5, 0x30, 230 0x10, 0xc7, 0x49, 0xfb, 0xea, 0x70, 0x6f, 0x50, 0x82, 0x60, 0x50, 0x90, 0x87, 0xd3, 0x9b, 0x12, 231 0x54, 0x70, 0x71, 0x7b, 0x82, 0xae, 0xa5, 0x88, 0x83, 0x93, 0x69, 0x3d, 0xa3, 0x10, 0x7b, 0x21, 232 0x6d, 0x15, 0xbf, 0x8e, 0x9f, 0xd2, 0x51, 0x72, 0xe9, 0x83, 0x2e, 0xe1, 0x72, 0xbf, 0xdf, 0x25, 233 0xff, 0x83, 0x13, 0x47, 0xe4, 0x3c, 0x9a, 0xf1, 0x27, 0xa0, 0xe9, 0xc8, 0x53, 0xd4, 0x21, 0xd2, 234 0x48, 0x72, 0x9d, 0x81, 0x4e, 0xe0, 0xf4, 0x7c, 0xb6, 0x18, 0xb5, 0xd3, 0x9b, 0xf9, 0x8e, 0x36, 235 0x04, 0x8c, 0x43, 0x96, 0x2f, 0xbe, 0xa0, 0xba, 0x4b, 0xb3, 0xf2, 0x08, 0xca, 0x88, 0xaf, 0x4a, 236 0x6c, 0xc4, 0xb6, 0x68, 0x52, 0x29, 0x8f, 0xa1, 0x72, 0x11, 0xb1, 0x57, 0x05, 0xf7, 0xf2, 0x45, 237 0x4a, 0x58, 0xb5, 0x7e, 0x42, 0x55, 0x72, 0x93, 0x6b, 0x79, 0x09, 0x95, 0xf5, 0xe1, 0xdd, 0xaa, 238 0xd5, 0x46, 0x6c, 0xd7, 0x57, 0x67, 0x7a, 0x4e, 0xb0, 0xff, 0x54, 0xdf, 0x7b, 0xb2, 0xe3, 0x93, 239 0xf5, 0x13, 0x36, 0xd9, 0xdc, 0xbd, 0xc0, 0x61, 0x47, 0x9f, 0x7a, 0x11, 0x75, 0x07, 0x1c, 0xa4, 240 0x4e, 0x33, 0xb5, 0x78, 0xbe, 0x99, 0x91, 0x23, 0x6f, 0x7b, 0xa7, 0x29, 0x3a, 0xe3, 0xb0, 0xe7, 241 0x17, 0x4d, 0x46, 0x36, 0x7c, 0x0c, 0x8b, 0xed, 0x6f, 0xf9, 0xfc, 0x13, 0xe2, 0xb7, 0x28, 0x1f, 242 0x1e, 0xeb, 0xf6, 0x80, 0xdd, 0xeb, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xdc, 0x38, 0x5a, 0x5f, 243 0x28, 0x01, 0x00, 0x00, 244} 245