xtd 0.2.0
encoder_parameter.h
Go to the documentation of this file.
1 #pragma once
5 #include "encoder.h"
7 #include <xtd/iequatable>
8 
10 namespace xtd {
12  namespace drawing {
15  namespace imaging {
22  class encoder_parameter final : public object, public xtd::iequatable<encoder_parameter> {
23  public:
25 
51  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, std::vector<xtd::byte> value);
55  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, std::vector<int16> value);
59  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, std::vector<int32> value);
63  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, std::vector<int64> value);
68  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, std::vector<xtd::byte> value, bool undefined);
73  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, int32 numerator, int32 denominator);
80  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, int32 numerator1, int32 denominator1, int32 numerator2, int32 denominator2);
85  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, std::vector<int32> numerator, std::vector<int32> denominator);
90  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, std::vector<int64> rangebegin, std::vector<int64> rangeend);
95  encoder_parameter(const xtd::drawing::imaging::encoder& encoder, int32 number_values, xtd::drawing::imaging::encoder_parameter_value_type type, const std::vector<xtd::byte>& value);
97 
99  encoder_parameter() = default;
100  encoder_parameter(const encoder_parameter&) = default;
101  encoder_parameter& operator =(const encoder_parameter&) = default;
103 
104 
106 
110  const xtd::drawing::imaging::encoder& encoder() const noexcept;
115 
118  size_t number_of_values() const noexcept;
119 
123 
126  const std::vector<xtd::byte>& value() const noexcept;
128 
130 
132  bool equals(const encoder_parameter& value) const noexcept override;
134 
135  private:
137 
138  size_t number_of_values_ = 0;
139 
141 
142  std::vector<xtd::byte> value_;
143  };
144  }
145  }
146 }
std::type_info type
Stores information about a type.
Definition: types.h:217
Used to pass a value, or an array of values, to an image encoder.
Definition: encoder_parameter.h:22
const xtd::drawing::imaging::encoder & encoder() const noexcept
Gets the Encoder object associated with this xtd::drawing::imaging::encoder_parameter object...
The pixel format is undefined.
const std::vector< xtd::byte > & value() const noexcept
Gets The data value.
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
Represents text as a sequence of UTF-8 code units.
Definition: ustring.h:46
xtd::drawing::imaging::encoder_parameter_value_type value_type() const noexcept
Gets the data type of the values stored in this xtd::drawing::imaging::encoder_parameter object...
Contains xtd::drawing::imaging::encoder_parameter_value_type class.
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition: iequatable.h:18
encoder_parameter(const xtd::drawing::imaging::encoder &encoder, xtd::byte value)
Initializes a new instance of the xtd::drawing::imaging::encoder_parameter class with the specified x...
An Encoder object encapsulates a globally unique identifier (GUID) that identifies the category of an...
Definition: encoder.h:38
size_t number_of_values() const noexcept
Gets the number of elements in the array of values stored in this xtd::drawing::imaging::encoder_para...
int_least16_t int16
Represents a 16-bit signed integer.
Definition: types.h:118
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes...
Definition: object.h:32
Contains xtd::drawing::imaging::encoder class.
int_least32_t int32
Represents a 32-bit signed integer.
Definition: types.h:129
int_least64_t int64
Represents a 64-bit signed integer.
Definition: types.h:140
uint_least8_t byte
Represents a 8-bit unsigned integer.
Definition: types.h:39
encoder_parameter_value_type
Specifies the data type of the xtd::drawing::imaging::encoder_parameter used with the xtd::drawing::i...
Definition: encoder_parameter_value_type.h:20