google-cloud-vision-v1p3beta1 0.3.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/AUTHENTICATION.md +8 -8
- data/LICENSE.md +188 -190
- data/README.md +67 -3
- data/lib/google/cloud/vision/v1p3beta1.rb +3 -0
- data/lib/google/cloud/vision/v1p3beta1/image_annotator/client.rb +16 -16
- data/lib/google/cloud/vision/v1p3beta1/image_annotator/operations.rb +96 -11
- data/lib/google/cloud/vision/v1p3beta1/product_search/client.rb +48 -96
- data/lib/google/cloud/vision/v1p3beta1/product_search/operations.rb +96 -11
- data/lib/google/cloud/vision/v1p3beta1/version.rb +1 -1
- data/proto_docs/google/api/field_behavior.rb +12 -0
- data/proto_docs/google/longrunning/operations.rb +17 -3
- data/proto_docs/google/protobuf/any.rb +5 -2
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/timestamp.rb +10 -1
- data/proto_docs/google/type/color.rb +16 -11
- data/proto_docs/google/type/latlng.rb +2 -2
- metadata +21 -11
|
@@ -82,7 +82,7 @@ module Google
|
|
|
82
82
|
# Create credentials
|
|
83
83
|
credentials = @config.credentials
|
|
84
84
|
credentials ||= Credentials.default scope: @config.scope
|
|
85
|
-
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
|
85
|
+
if credentials.is_a?(::String) || credentials.is_a?(::Hash)
|
|
86
86
|
credentials = Credentials.new credentials, scope: @config.scope
|
|
87
87
|
end
|
|
88
88
|
@quota_project_id = @config.quota_project
|
|
@@ -103,8 +103,13 @@ module Google
|
|
|
103
103
|
# Lists operations that match the specified filter in the request. If the
|
|
104
104
|
# server doesn't support this method, it returns `UNIMPLEMENTED`.
|
|
105
105
|
#
|
|
106
|
-
# NOTE: the `name` binding
|
|
107
|
-
# to use different resource name schemes, such as `users/*/operations`.
|
|
106
|
+
# NOTE: the `name` binding allows API services to override the binding
|
|
107
|
+
# to use different resource name schemes, such as `users/*/operations`. To
|
|
108
|
+
# override the binding, API services can add a binding such as
|
|
109
|
+
# `"/v1/{name=users/*}/operations"` to their service configuration.
|
|
110
|
+
# For backwards compatibility, the default name includes the operations
|
|
111
|
+
# collection id, however overriding users must ensure the name binding
|
|
112
|
+
# is the parent resource, without the operations collection id.
|
|
108
113
|
#
|
|
109
114
|
# @overload list_operations(request, options = nil)
|
|
110
115
|
# Pass arguments to `list_operations` via a request object, either of type
|
|
@@ -122,7 +127,7 @@ module Google
|
|
|
122
127
|
# the default parameter values, pass an empty Hash as a request object (see above).
|
|
123
128
|
#
|
|
124
129
|
# @param name [::String]
|
|
125
|
-
# The name of the operation
|
|
130
|
+
# The name of the operation's parent resource.
|
|
126
131
|
# @param filter [::String]
|
|
127
132
|
# The standard list filter.
|
|
128
133
|
# @param page_size [::Integer]
|
|
@@ -390,6 +395,79 @@ module Google
|
|
|
390
395
|
raise ::Google::Cloud::Error.from_error(e)
|
|
391
396
|
end
|
|
392
397
|
|
|
398
|
+
##
|
|
399
|
+
# Waits until the specified long-running operation is done or reaches at most
|
|
400
|
+
# a specified timeout, returning the latest state. If the operation is
|
|
401
|
+
# already done, the latest state is immediately returned. If the timeout
|
|
402
|
+
# specified is greater than the default HTTP/RPC timeout, the HTTP/RPC
|
|
403
|
+
# timeout is used. If the server does not support this method, it returns
|
|
404
|
+
# `google.rpc.Code.UNIMPLEMENTED`.
|
|
405
|
+
# Note that this method is on a best-effort basis. It may return the latest
|
|
406
|
+
# state before the specified timeout (including immediately), meaning even an
|
|
407
|
+
# immediate response is no guarantee that the operation is done.
|
|
408
|
+
#
|
|
409
|
+
# @overload wait_operation(request, options = nil)
|
|
410
|
+
# Pass arguments to `wait_operation` via a request object, either of type
|
|
411
|
+
# {::Google::Longrunning::WaitOperationRequest} or an equivalent Hash.
|
|
412
|
+
#
|
|
413
|
+
# @param request [::Google::Longrunning::WaitOperationRequest, ::Hash]
|
|
414
|
+
# A request object representing the call parameters. Required. To specify no
|
|
415
|
+
# parameters, or to keep all the default parameter values, pass an empty Hash.
|
|
416
|
+
# @param options [::Gapic::CallOptions, ::Hash]
|
|
417
|
+
# Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
|
|
418
|
+
#
|
|
419
|
+
# @overload wait_operation(name: nil, timeout: nil)
|
|
420
|
+
# Pass arguments to `wait_operation` via keyword arguments. Note that at
|
|
421
|
+
# least one keyword argument is required. To specify no parameters, or to keep all
|
|
422
|
+
# the default parameter values, pass an empty Hash as a request object (see above).
|
|
423
|
+
#
|
|
424
|
+
# @param name [::String]
|
|
425
|
+
# The name of the operation resource to wait on.
|
|
426
|
+
# @param timeout [::Google::Protobuf::Duration, ::Hash]
|
|
427
|
+
# The maximum duration to wait before timing out. If left blank, the wait
|
|
428
|
+
# will be at most the time permitted by the underlying HTTP/RPC protocol.
|
|
429
|
+
# If RPC context deadline is also specified, the shorter one will be used.
|
|
430
|
+
#
|
|
431
|
+
# @yield [response, operation] Access the result along with the RPC operation
|
|
432
|
+
# @yieldparam response [::Gapic::Operation]
|
|
433
|
+
# @yieldparam operation [::GRPC::ActiveCall::Operation]
|
|
434
|
+
#
|
|
435
|
+
# @return [::Gapic::Operation]
|
|
436
|
+
#
|
|
437
|
+
# @raise [::Google::Cloud::Error] if the RPC is aborted.
|
|
438
|
+
#
|
|
439
|
+
def wait_operation request, options = nil
|
|
440
|
+
raise ::ArgumentError, "request must be provided" if request.nil?
|
|
441
|
+
|
|
442
|
+
request = ::Gapic::Protobuf.coerce request, to: ::Google::Longrunning::WaitOperationRequest
|
|
443
|
+
|
|
444
|
+
# Converts hash and nil to an options object
|
|
445
|
+
options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
|
|
446
|
+
|
|
447
|
+
# Customize the options with defaults
|
|
448
|
+
metadata = @config.rpcs.wait_operation.metadata.to_h
|
|
449
|
+
|
|
450
|
+
# Set x-goog-api-client and x-goog-user-project headers
|
|
451
|
+
metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
|
|
452
|
+
lib_name: @config.lib_name, lib_version: @config.lib_version,
|
|
453
|
+
gapic_version: ::Google::Cloud::Vision::V1p3beta1::VERSION
|
|
454
|
+
metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
|
|
455
|
+
|
|
456
|
+
options.apply_defaults timeout: @config.rpcs.wait_operation.timeout,
|
|
457
|
+
metadata: metadata,
|
|
458
|
+
retry_policy: @config.rpcs.wait_operation.retry_policy
|
|
459
|
+
options.apply_defaults metadata: @config.metadata,
|
|
460
|
+
retry_policy: @config.retry_policy
|
|
461
|
+
|
|
462
|
+
@operations_stub.call_rpc :wait_operation, request, options: options do |response, operation|
|
|
463
|
+
response = ::Gapic::Operation.new response, @operations_client, options: options
|
|
464
|
+
yield response, operation if block_given?
|
|
465
|
+
return response
|
|
466
|
+
end
|
|
467
|
+
rescue ::GRPC::BadStatus => e
|
|
468
|
+
raise ::Google::Cloud::Error.from_error(e)
|
|
469
|
+
end
|
|
470
|
+
|
|
393
471
|
##
|
|
394
472
|
# Configuration class for the Operations API.
|
|
395
473
|
#
|
|
@@ -482,7 +560,7 @@ module Google
|
|
|
482
560
|
config_attr :scope, nil, ::String, ::Array, nil
|
|
483
561
|
config_attr :lib_name, nil, ::String, nil
|
|
484
562
|
config_attr :lib_version, nil, ::String, nil
|
|
485
|
-
config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
|
|
563
|
+
config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
|
|
486
564
|
config_attr :interceptors, nil, ::Array, nil
|
|
487
565
|
config_attr :timeout, nil, ::Numeric, nil
|
|
488
566
|
config_attr :metadata, nil, ::Hash, nil
|
|
@@ -503,7 +581,7 @@ module Google
|
|
|
503
581
|
def rpcs
|
|
504
582
|
@rpcs ||= begin
|
|
505
583
|
parent_rpcs = nil
|
|
506
|
-
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config
|
|
584
|
+
parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
|
|
507
585
|
Rpcs.new parent_rpcs
|
|
508
586
|
end
|
|
509
587
|
end
|
|
@@ -515,7 +593,7 @@ module Google
|
|
|
515
593
|
# Each configuration object is of type `Gapic::Config::Method` and includes
|
|
516
594
|
# the following configuration fields:
|
|
517
595
|
#
|
|
518
|
-
# * `timeout` (*type:* `Numeric`) - The call timeout in
|
|
596
|
+
# * `timeout` (*type:* `Numeric`) - The call timeout in seconds
|
|
519
597
|
# * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
|
|
520
598
|
# * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
|
|
521
599
|
# include the following keys:
|
|
@@ -546,17 +624,24 @@ module Google
|
|
|
546
624
|
# @return [::Gapic::Config::Method]
|
|
547
625
|
#
|
|
548
626
|
attr_reader :cancel_operation
|
|
627
|
+
##
|
|
628
|
+
# RPC-specific configuration for `wait_operation`
|
|
629
|
+
# @return [::Gapic::Config::Method]
|
|
630
|
+
#
|
|
631
|
+
attr_reader :wait_operation
|
|
549
632
|
|
|
550
633
|
# @private
|
|
551
634
|
def initialize parent_rpcs = nil
|
|
552
|
-
list_operations_config = parent_rpcs
|
|
635
|
+
list_operations_config = parent_rpcs.list_operations if parent_rpcs.respond_to? :list_operations
|
|
553
636
|
@list_operations = ::Gapic::Config::Method.new list_operations_config
|
|
554
|
-
get_operation_config = parent_rpcs
|
|
637
|
+
get_operation_config = parent_rpcs.get_operation if parent_rpcs.respond_to? :get_operation
|
|
555
638
|
@get_operation = ::Gapic::Config::Method.new get_operation_config
|
|
556
|
-
delete_operation_config = parent_rpcs
|
|
639
|
+
delete_operation_config = parent_rpcs.delete_operation if parent_rpcs.respond_to? :delete_operation
|
|
557
640
|
@delete_operation = ::Gapic::Config::Method.new delete_operation_config
|
|
558
|
-
cancel_operation_config = parent_rpcs
|
|
641
|
+
cancel_operation_config = parent_rpcs.cancel_operation if parent_rpcs.respond_to? :cancel_operation
|
|
559
642
|
@cancel_operation = ::Gapic::Config::Method.new cancel_operation_config
|
|
643
|
+
wait_operation_config = parent_rpcs.wait_operation if parent_rpcs.respond_to? :wait_operation
|
|
644
|
+
@wait_operation = ::Gapic::Config::Method.new wait_operation_config
|
|
560
645
|
|
|
561
646
|
yield self if block_given?
|
|
562
647
|
end
|
|
@@ -54,6 +54,18 @@ module Google
|
|
|
54
54
|
# This indicates that the field may be set once in a request to create a
|
|
55
55
|
# resource, but may not be changed thereafter.
|
|
56
56
|
IMMUTABLE = 5
|
|
57
|
+
|
|
58
|
+
# Denotes that a (repeated) field is an unordered list.
|
|
59
|
+
# This indicates that the service may provide the elements of the list
|
|
60
|
+
# in any arbitrary order, rather than the order the user originally
|
|
61
|
+
# provided. Additionally, the list's order may or may not be stable.
|
|
62
|
+
UNORDERED_LIST = 6
|
|
63
|
+
|
|
64
|
+
# Denotes that this field returns a non-empty default value if not set.
|
|
65
|
+
# This indicates that if the user provides the empty value in a request,
|
|
66
|
+
# a non-empty value will be returned. The user will not be aware of what
|
|
67
|
+
# non-empty value to expect.
|
|
68
|
+
NON_EMPTY_DEFAULT = 7
|
|
57
69
|
end
|
|
58
70
|
end
|
|
59
71
|
end
|
|
@@ -25,7 +25,7 @@ module Google
|
|
|
25
25
|
# @return [::String]
|
|
26
26
|
# The server-assigned name, which is only unique within the same service that
|
|
27
27
|
# originally returns it. If you use the default HTTP mapping, the
|
|
28
|
-
# `name` should
|
|
28
|
+
# `name` should be a resource name ending with `operations/{unique_id}`.
|
|
29
29
|
# @!attribute [rw] metadata
|
|
30
30
|
# @return [::Google::Protobuf::Any]
|
|
31
31
|
# Service-specific metadata associated with the operation. It typically
|
|
@@ -35,7 +35,7 @@ module Google
|
|
|
35
35
|
# @!attribute [rw] done
|
|
36
36
|
# @return [::Boolean]
|
|
37
37
|
# If the value is `false`, it means the operation is still in progress.
|
|
38
|
-
# If true
|
|
38
|
+
# If `true`, the operation is completed, and either `error` or `response` is
|
|
39
39
|
# available.
|
|
40
40
|
# @!attribute [rw] error
|
|
41
41
|
# @return [::Google::Rpc::Status]
|
|
@@ -67,7 +67,7 @@ module Google
|
|
|
67
67
|
# The request message for Operations.ListOperations.
|
|
68
68
|
# @!attribute [rw] name
|
|
69
69
|
# @return [::String]
|
|
70
|
-
# The name of the operation
|
|
70
|
+
# The name of the operation's parent resource.
|
|
71
71
|
# @!attribute [rw] filter
|
|
72
72
|
# @return [::String]
|
|
73
73
|
# The standard list filter.
|
|
@@ -112,6 +112,20 @@ module Google
|
|
|
112
112
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
113
113
|
end
|
|
114
114
|
|
|
115
|
+
# The request message for Operations.WaitOperation.
|
|
116
|
+
# @!attribute [rw] name
|
|
117
|
+
# @return [::String]
|
|
118
|
+
# The name of the operation resource to wait on.
|
|
119
|
+
# @!attribute [rw] timeout
|
|
120
|
+
# @return [::Google::Protobuf::Duration]
|
|
121
|
+
# The maximum duration to wait before timing out. If left blank, the wait
|
|
122
|
+
# will be at most the time permitted by the underlying HTTP/RPC protocol.
|
|
123
|
+
# If RPC context deadline is also specified, the shorter one will be used.
|
|
124
|
+
class WaitOperationRequest
|
|
125
|
+
include ::Google::Protobuf::MessageExts
|
|
126
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
127
|
+
end
|
|
128
|
+
|
|
115
129
|
# A message representing the message types used by a long-running operation.
|
|
116
130
|
#
|
|
117
131
|
# Example:
|
|
@@ -57,10 +57,13 @@ module Google
|
|
|
57
57
|
# Example 4: Pack and unpack a message in Go
|
|
58
58
|
#
|
|
59
59
|
# foo := &pb.Foo{...}
|
|
60
|
-
# any, err :=
|
|
60
|
+
# any, err := anypb.New(foo)
|
|
61
|
+
# if err != nil {
|
|
62
|
+
# ...
|
|
63
|
+
# }
|
|
61
64
|
# ...
|
|
62
65
|
# foo := &pb.Foo{}
|
|
63
|
-
# if err :=
|
|
66
|
+
# if err := any.UnmarshalTo(foo); err != nil {
|
|
64
67
|
# ...
|
|
65
68
|
# }
|
|
66
69
|
#
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Copyright 2021 Google LLC
|
|
4
|
+
#
|
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
# you may not use this file except in compliance with the License.
|
|
7
|
+
# You may obtain a copy of the License at
|
|
8
|
+
#
|
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
#
|
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
# See the License for the specific language governing permissions and
|
|
15
|
+
# limitations under the License.
|
|
16
|
+
|
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
module Google
|
|
21
|
+
module Protobuf
|
|
22
|
+
# A Duration represents a signed, fixed-length span of time represented
|
|
23
|
+
# as a count of seconds and fractions of seconds at nanosecond
|
|
24
|
+
# resolution. It is independent of any calendar and concepts like "day"
|
|
25
|
+
# or "month". It is related to Timestamp in that the difference between
|
|
26
|
+
# two Timestamp values is a Duration and it can be added or subtracted
|
|
27
|
+
# from a Timestamp. Range is approximately +-10,000 years.
|
|
28
|
+
#
|
|
29
|
+
# # Examples
|
|
30
|
+
#
|
|
31
|
+
# Example 1: Compute Duration from two Timestamps in pseudo code.
|
|
32
|
+
#
|
|
33
|
+
# Timestamp start = ...;
|
|
34
|
+
# Timestamp end = ...;
|
|
35
|
+
# Duration duration = ...;
|
|
36
|
+
#
|
|
37
|
+
# duration.seconds = end.seconds - start.seconds;
|
|
38
|
+
# duration.nanos = end.nanos - start.nanos;
|
|
39
|
+
#
|
|
40
|
+
# if (duration.seconds < 0 && duration.nanos > 0) {
|
|
41
|
+
# duration.seconds += 1;
|
|
42
|
+
# duration.nanos -= 1000000000;
|
|
43
|
+
# } else if (duration.seconds > 0 && duration.nanos < 0) {
|
|
44
|
+
# duration.seconds -= 1;
|
|
45
|
+
# duration.nanos += 1000000000;
|
|
46
|
+
# }
|
|
47
|
+
#
|
|
48
|
+
# Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
|
|
49
|
+
#
|
|
50
|
+
# Timestamp start = ...;
|
|
51
|
+
# Duration duration = ...;
|
|
52
|
+
# Timestamp end = ...;
|
|
53
|
+
#
|
|
54
|
+
# end.seconds = start.seconds + duration.seconds;
|
|
55
|
+
# end.nanos = start.nanos + duration.nanos;
|
|
56
|
+
#
|
|
57
|
+
# if (end.nanos < 0) {
|
|
58
|
+
# end.seconds -= 1;
|
|
59
|
+
# end.nanos += 1000000000;
|
|
60
|
+
# } else if (end.nanos >= 1000000000) {
|
|
61
|
+
# end.seconds += 1;
|
|
62
|
+
# end.nanos -= 1000000000;
|
|
63
|
+
# }
|
|
64
|
+
#
|
|
65
|
+
# Example 3: Compute Duration from datetime.timedelta in Python.
|
|
66
|
+
#
|
|
67
|
+
# td = datetime.timedelta(days=3, minutes=10)
|
|
68
|
+
# duration = Duration()
|
|
69
|
+
# duration.FromTimedelta(td)
|
|
70
|
+
#
|
|
71
|
+
# # JSON Mapping
|
|
72
|
+
#
|
|
73
|
+
# In JSON format, the Duration type is encoded as a string rather than an
|
|
74
|
+
# object, where the string ends in the suffix "s" (indicating seconds) and
|
|
75
|
+
# is preceded by the number of seconds, with nanoseconds expressed as
|
|
76
|
+
# fractional seconds. For example, 3 seconds with 0 nanoseconds should be
|
|
77
|
+
# encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
|
|
78
|
+
# be expressed in JSON format as "3.000000001s", and 3 seconds and 1
|
|
79
|
+
# microsecond should be expressed in JSON format as "3.000001s".
|
|
80
|
+
# @!attribute [rw] seconds
|
|
81
|
+
# @return [::Integer]
|
|
82
|
+
# Signed seconds of the span of time. Must be from -315,576,000,000
|
|
83
|
+
# to +315,576,000,000 inclusive. Note: these bounds are computed from:
|
|
84
|
+
# 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
|
|
85
|
+
# @!attribute [rw] nanos
|
|
86
|
+
# @return [::Integer]
|
|
87
|
+
# Signed fractions of a second at nanosecond resolution of the span
|
|
88
|
+
# of time. Durations less than one second are represented with a 0
|
|
89
|
+
# `seconds` field and a positive or negative `nanos` field. For durations
|
|
90
|
+
# of one second or more, a non-zero value for the `nanos` field must be
|
|
91
|
+
# of the same sign as the `seconds` field. Must be from -999,999,999
|
|
92
|
+
# to +999,999,999 inclusive.
|
|
93
|
+
class Duration
|
|
94
|
+
include ::Google::Protobuf::MessageExts
|
|
95
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
end
|
|
@@ -70,7 +70,16 @@ module Google
|
|
|
70
70
|
# .setNanos((int) ((millis % 1000) * 1000000)).build();
|
|
71
71
|
#
|
|
72
72
|
#
|
|
73
|
-
# Example 5: Compute Timestamp from
|
|
73
|
+
# Example 5: Compute Timestamp from Java `Instant.now()`.
|
|
74
|
+
#
|
|
75
|
+
# Instant now = Instant.now();
|
|
76
|
+
#
|
|
77
|
+
# Timestamp timestamp =
|
|
78
|
+
# Timestamp.newBuilder().setSeconds(now.getEpochSecond())
|
|
79
|
+
# .setNanos(now.getNano()).build();
|
|
80
|
+
#
|
|
81
|
+
#
|
|
82
|
+
# Example 6: Compute Timestamp from current time in Python.
|
|
74
83
|
#
|
|
75
84
|
# timestamp = Timestamp()
|
|
76
85
|
# timestamp.GetCurrentTime()
|
|
@@ -21,17 +21,22 @@ module Google
|
|
|
21
21
|
module Type
|
|
22
22
|
# Represents a color in the RGBA color space. This representation is designed
|
|
23
23
|
# for simplicity of conversion to/from color representations in various
|
|
24
|
-
# languages over compactness
|
|
25
|
-
# can be trivially provided to the constructor of
|
|
26
|
-
# can also be trivially provided to UIColor's
|
|
24
|
+
# languages over compactness. For example, the fields of this representation
|
|
25
|
+
# can be trivially provided to the constructor of `java.awt.Color` in Java; it
|
|
26
|
+
# can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha`
|
|
27
27
|
# method in iOS; and, with just a little work, it can be easily formatted into
|
|
28
|
-
# a CSS
|
|
28
|
+
# a CSS `rgba()` string in JavaScript.
|
|
29
29
|
#
|
|
30
|
-
#
|
|
30
|
+
# This reference page doesn't carry information about the absolute color
|
|
31
|
+
# space
|
|
31
32
|
# that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB,
|
|
32
|
-
# DCI-P3, BT.2020, etc.). By default, applications
|
|
33
|
+
# DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color
|
|
33
34
|
# space.
|
|
34
35
|
#
|
|
36
|
+
# When color equality needs to be decided, implementations, unless
|
|
37
|
+
# documented otherwise, treat two colors as equal if all their red,
|
|
38
|
+
# green, blue, and alpha values each differ by at most 1e-5.
|
|
39
|
+
#
|
|
35
40
|
# Example (Java):
|
|
36
41
|
#
|
|
37
42
|
# import com.google.type.Color;
|
|
@@ -117,7 +122,7 @@ module Google
|
|
|
117
122
|
# var blue = Math.floor(blueFrac * 255);
|
|
118
123
|
#
|
|
119
124
|
# if (!('alpha' in rgb_color)) {
|
|
120
|
-
# return
|
|
125
|
+
# return rgbToCssColor(red, green, blue);
|
|
121
126
|
# }
|
|
122
127
|
#
|
|
123
128
|
# var alphaFrac = rgb_color.alpha.value || 0.0;
|
|
@@ -125,7 +130,7 @@ module Google
|
|
|
125
130
|
# return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
|
|
126
131
|
# };
|
|
127
132
|
#
|
|
128
|
-
# var
|
|
133
|
+
# var rgbToCssColor = function(red, green, blue) {
|
|
129
134
|
# var rgbNumber = new Number((red << 16) | (green << 8) | blue);
|
|
130
135
|
# var hexString = rgbNumber.toString(16);
|
|
131
136
|
# var missingZeros = 6 - hexString.length;
|
|
@@ -152,14 +157,14 @@ module Google
|
|
|
152
157
|
# The fraction of this color that should be applied to the pixel. That is,
|
|
153
158
|
# the final pixel color is defined by the equation:
|
|
154
159
|
#
|
|
155
|
-
# pixel color = alpha * (this color) + (1.0 - alpha) * (background color)
|
|
160
|
+
# `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)`
|
|
156
161
|
#
|
|
157
162
|
# This means that a value of 1.0 corresponds to a solid color, whereas
|
|
158
163
|
# a value of 0.0 corresponds to a completely transparent color. This
|
|
159
164
|
# uses a wrapper message rather than a simple float scalar so that it is
|
|
160
165
|
# possible to distinguish between a default value and the value being unset.
|
|
161
|
-
# If omitted, this color object is
|
|
162
|
-
# (as if the alpha value had been explicitly given
|
|
166
|
+
# If omitted, this color object is rendered as a solid color
|
|
167
|
+
# (as if the alpha value had been explicitly given a value of 1.0).
|
|
163
168
|
class Color
|
|
164
169
|
include ::Google::Protobuf::MessageExts
|
|
165
170
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
|
|
20
20
|
module Google
|
|
21
21
|
module Type
|
|
22
|
-
# An object
|
|
23
|
-
# of doubles
|
|
22
|
+
# An object that represents a latitude/longitude pair. This is expressed as a
|
|
23
|
+
# pair of doubles to represent degrees latitude and degrees longitude. Unless
|
|
24
24
|
# specified otherwise, this must conform to the
|
|
25
25
|
# <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
|
|
26
26
|
# standard</a>. Values must be within normalized ranges.
|