UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
image_pattern_gradient Class Reference
Inheritance diagram for image_pattern_gradient:
Inheritance graph
Collaboration diagram for image_pattern_gradient:
Collaboration graph

Public Member Functions

 image_pattern_gradient (const string &config)
 
- Public Member Functions inherited from image_pattern
 image_pattern ()=default
 
 image_pattern (const image_pattern &)=delete
 
 image_pattern (image_pattern &&)=delete
 
virtual ~image_pattern ()=default
 
auto init (int width, int height, enum generator_depth depth) noexcept
 
image_pattern & operator= (const image_pattern &)=delete
 
image_pattern && operator= (image_pattern &&)=delete
 

Static Public Attributes

static constexpr uint32_t red = 0xFFU
 

Private Member Functions

enum generator_depth fill (int width, int height, unsigned char *data) override
 

Private Attributes

uint32_t color = image_pattern_gradient::red
 

Additional Inherited Members

- Static Public Member Functions inherited from image_pattern
static unique_ptr< image_pattern > create (string const &pattern, string const &params)
 

Detailed Description

Definition at line 336 of file video_pattern_generator.cpp.

Constructor & Destructor Documentation

◆ image_pattern_gradient()

image_pattern_gradient::image_pattern_gradient ( const string & config)
inlineexplicit

Definition at line 338 of file video_pattern_generator.cpp.

338 {
339 if (!config.empty()) {
340 color = stol(config, nullptr, 0);
341 }
342 }

References color.

Member Function Documentation

◆ fill()

enum generator_depth image_pattern_gradient::fill ( int width,
int height,
unsigned char * data )
inlineoverrideprivatevirtual
Return values
bitdepth used by the generator (either 8 or 16)

Implements image_pattern.

Definition at line 345 of file video_pattern_generator.cpp.

345 {
346 auto *ptr = reinterpret_cast<uint16_t *>(data);
347 for (int j = 0; j < height; j += 1) {
348 uint16_t r = sin(static_cast<double>(j) / height * M_PI) * (color & 0xFFU) / 0xFFU * 0xFF'FFU;
349 uint16_t g = sin(static_cast<double>(j) / height * M_PI) * ((color >> 8) & 0xFFU) / 0xFFU * 0xFF'FFU;
350 uint16_t b = sin(static_cast<double>(j) / height * M_PI) * ((color >> 16) & 0xFFU) / 0xFFU * 0xFF'FFU;
351 for (int i = 0; i < width; i += 1) {
352 *ptr++ = r;
353 *ptr++ = g;
354 *ptr++ = b;
355 }
356 }
358 }

References bits16, and color.

Member Data Documentation

◆ color

uint32_t image_pattern_gradient::color = image_pattern_gradient::red
private

Definition at line 359 of file video_pattern_generator.cpp.

Referenced by image_pattern_gradient(), and fill().

◆ red

uint32_t image_pattern_gradient::red = 0xFFU
staticconstexpr

Definition at line 343 of file video_pattern_generator.cpp.


The documentation for this class was generated from the following file: