rgb: Convert some constant defines to constexpr

Using defines interferes with fmt.
Also rename them according to the Google styleguide.
This commit is contained in:
Peter Keresztes Schmidt 2021-03-01 00:13:14 +01:00
parent a73d82aa66
commit 76e6c468e8
6 changed files with 42 additions and 42 deletions

View File

@ -2001,7 +2001,7 @@ void Image::Annotate(
const uint8_t bg_b_col = BLUE_VAL_RGBA(bg_colour); const uint8_t bg_b_col = BLUE_VAL_RGBA(bg_colour);
const uint8_t bg_bw_col = bg_colour & 0xff; const uint8_t bg_bw_col = bg_colour & 0xff;
const Rgb bg_rgb_col = rgb_convert(bg_colour, subpixelorder); const Rgb bg_rgb_col = rgb_convert(bg_colour, subpixelorder);
const bool bg_trans = (bg_colour == RGB_TRANSPARENT); const bool bg_trans = (bg_colour == kRGBTransparent);
font.SetFontSize(size-1); font.SetFontSize(size-1);
const uint16_t char_width = font.GetCharWidth(); const uint16_t char_width = font.GetCharWidth();

View File

@ -276,13 +276,13 @@ public:
void Blend(const Image &image, int transparency=12); void Blend(const Image &image, int transparency=12);
static Image *Merge( unsigned int n_images, Image *images[] ); static Image *Merge( unsigned int n_images, Image *images[] );
static Image *Merge( unsigned int n_images, Image *images[], double weight ); static Image *Merge( unsigned int n_images, Image *images[], double weight );
static Image *Highlight( unsigned int n_images, Image *images[], const Rgb threshold=RGB_BLACK, const Rgb ref_colour=RGB_RED ); static Image *Highlight(unsigned int n_images, Image *images[], Rgb threshold = kRGBBlack, Rgb ref_colour = kRGBRed);
//Image *Delta( const Image &image ) const; //Image *Delta( const Image &image ) const;
void Delta( const Image &image, Image* targetimage) const; void Delta( const Image &image, Image* targetimage) const;
const Coord centreCoord(const char *text, const int size) const; const Coord centreCoord(const char *text, const int size) const;
void MaskPrivacy( const unsigned char *p_bitmask, const Rgb pixel_colour=0x00222222 ); void MaskPrivacy( const unsigned char *p_bitmask, const Rgb pixel_colour=0x00222222 );
void Annotate( const char *p_text, const Coord &coord, const unsigned int size=1, const Rgb fg_colour=RGB_WHITE, const Rgb bg_colour=RGB_BLACK ); void Annotate(const char *p_text, const Coord &coord, unsigned int size = 1, Rgb fg_colour = kRGBWhite, Rgb bg_colour = kRGBBlack);
Image *HighlightEdges( Rgb colour, unsigned int p_colours, unsigned int p_subpixelorder, const Box *limits=0 ); Image *HighlightEdges( Rgb colour, unsigned int p_colours, unsigned int p_subpixelorder, const Box *limits=0 );
//Image *HighlightEdges( Rgb colour, const Polygon &polygon ); //Image *HighlightEdges( Rgb colour, const Polygon &polygon );
void Timestamp( const char *label, const time_t when, const Coord &coord, const int size ); void Timestamp( const char *label, const time_t when, const Coord &coord, const int size );

View File

@ -1511,15 +1511,15 @@ void Monitor::DumpZoneImage(const char *zone_string) {
colour = extra_colour; colour = extra_colour;
} else { } else {
if ( zones[i]->IsActive() ) { if ( zones[i]->IsActive() ) {
colour = RGB_RED; colour = kRGBRed;
} else if ( zones[i]->IsInclusive() ) { } else if ( zones[i]->IsInclusive() ) {
colour = RGB_ORANGE; colour = kRGBOrange;
} else if ( zones[i]->IsExclusive() ) { } else if ( zones[i]->IsExclusive() ) {
colour = RGB_PURPLE; colour = kRGBPurple;
} else if ( zones[i]->IsPreclusive() ) { } else if ( zones[i]->IsPreclusive() ) {
colour = RGB_BLUE; colour = kRGBBlue;
} else { } else {
colour = RGB_WHITE; colour = kRGBWhite;
} }
} }
zone_image->Fill(colour, 2, zones[i]->GetPolygon()); zone_image->Fill(colour, 2, zones[i]->GetPolygon());
@ -2698,7 +2698,7 @@ unsigned int Monitor::DetectMotion(const Image &comp_image, Event::StringSet &zo
continue; continue;
} }
Debug(3, "Blanking inactive zone %s", zone->Label()); Debug(3, "Blanking inactive zone %s", zone->Label());
delta_image.Fill(RGB_BLACK, zone->GetPolygon()); delta_image.Fill(kRGBBlack, zone->GetPolygon());
} // end foreach zone } // end foreach zone
// Check preclusive zones first // Check preclusive zones first

View File

@ -24,24 +24,24 @@
typedef uint32 Rgb; // RGB colour type typedef uint32 Rgb; // RGB colour type
#define WHITE 0xff constexpr uint8 kWhite = 0xff;
#define WHITE_R 0xff constexpr uint8 kWhiteR = 0xff;
#define WHITE_G 0xff constexpr uint8 kWhiteG = 0xff;
#define WHITE_B 0xff constexpr uint8 kWhiteB = 0xff;
#define BLACK 0x00 constexpr uint8 kBlack = 0x00;
#define BLACK_R 0x00 constexpr uint8 kBlackR = 0x00;
#define BLACK_G 0x00 constexpr uint8 kBlackG = 0x00;
#define BLACK_B 0x00 constexpr uint8 kBlackB = 0x00;
#define RGB_WHITE (0x00ffffff) constexpr Rgb kRGBWhite = 0x00ffffff;
#define RGB_BLACK (0x00000000) constexpr Rgb kRGBBlack = 0x00000000;
#define RGB_RED (0x000000ff) constexpr Rgb kRGBRed = 0x000000ff;
#define RGB_GREEN (0x0000ff00) constexpr Rgb kRGBGreen = 0x0000ff00;
#define RGB_BLUE (0x00ff0000) constexpr Rgb kRGBBlue = 0x00ff0000;
#define RGB_ORANGE (0x0000a5ff) constexpr Rgb kRGBOrange = 0x0000a5ff;
#define RGB_PURPLE (0x00800080) constexpr Rgb kRGBPurple = 0x00800080;
#define RGB_TRANSPARENT (0x01000000) constexpr Rgb kRGBTransparent = 0x01000000;
#define RGB_VAL(v,c) (((v)>>(16-((c)*8)))&0xff) #define RGB_VAL(v,c) (((v)>>(16-((c)*8)))&0xff)

View File

@ -287,7 +287,7 @@ bool Zone::CheckAlarms(const Image *delta_image) {
pdiff = (uint8_t*)diff_image->Buffer(lo_x, y); pdiff = (uint8_t*)diff_image->Buffer(lo_x, y);
for ( int x = lo_x; x <= hi_x; x++, pdiff++ ) { for ( int x = lo_x; x <= hi_x; x++, pdiff++ ) {
if ( *pdiff == WHITE ) { if ( *pdiff == kWhite ) {
// Check participation in an X block // Check participation in an X block
ldx = (x>=(lo_x+bx1))?-bx1:lo_x-x; ldx = (x>=(lo_x+bx1))?-bx1:lo_x-x;
hdx = (x<=(hi_x-bx1))?0:((hi_x-x)-bx1); hdx = (x<=(hi_x-bx1))?0:((hi_x-x)-bx1);
@ -308,7 +308,7 @@ bool Zone::CheckAlarms(const Image *delta_image) {
} }
} }
if ( !block ) { if ( !block ) {
*pdiff = BLACK; *pdiff = kBlack;
continue; continue;
} }
alarm_filter_pixels++; alarm_filter_pixels++;
@ -365,7 +365,7 @@ bool Zone::CheckAlarms(const Image *delta_image) {
pdiff = (uint8_t*)diff_image->Buffer(lo_x, y); pdiff = (uint8_t*)diff_image->Buffer(lo_x, y);
for ( int x = lo_x; x <= hi_x; x++, pdiff++ ) { for ( int x = lo_x; x <= hi_x; x++, pdiff++ ) {
if ( *pdiff == WHITE ) { if ( *pdiff == kWhite ) {
Debug(9, "Got white pixel at %d,%d (%p)", x, y, pdiff); Debug(9, "Got white pixel at %d,%d (%p)", x, y, pdiff);
last_x = ((x > 0) && ( (x-1) >= lo_x )) ? *(pdiff-1) : 0; last_x = ((x > 0) && ( (x-1) >= lo_x )) ? *(pdiff-1) : 0;
@ -483,7 +483,7 @@ bool Zone::CheckAlarms(const Image *delta_image) {
} else { } else {
// Create a new blob // Create a new blob
int i; int i;
for ( i = (WHITE-1); i > 0; i-- ) { for ( i = (kWhite-1); i > 0; i-- ) {
BlobStats *bs = &blob_stats[i]; BlobStats *bs = &blob_stats[i];
// See if we can recycle one first, only if it's at least two rows up // See if we can recycle one first, only if it's at least two rows up
if ( bs->count && bs->hi_y < (int)(y-1) ) { if ( bs->count && bs->hi_y < (int)(y-1) ) {
@ -497,7 +497,7 @@ bool Zone::CheckAlarms(const Image *delta_image) {
spdiff = diff_buff + ((diff_width * sy) + bs->lo_x); spdiff = diff_buff + ((diff_width * sy) + bs->lo_x);
for ( int sx = bs->lo_x; sx <= bs->hi_x; sx++, spdiff++ ) { for ( int sx = bs->lo_x; sx <= bs->hi_x; sx++, spdiff++ ) {
if ( *spdiff == bs->tag ) { if ( *spdiff == bs->tag ) {
*spdiff = BLACK; *spdiff = kBlack;
} }
} }
} }
@ -557,7 +557,7 @@ bool Zone::CheckAlarms(const Image *delta_image) {
} }
// Now eliminate blobs under the threshold // Now eliminate blobs under the threshold
for ( int i = 1; i < WHITE; i++ ) { for ( uint32 i = 1; i < kWhite; i++ ) {
BlobStats *bs = &blob_stats[i]; BlobStats *bs = &blob_stats[i];
if ( bs->count ) { if ( bs->count ) {
if ( (min_blob_pixels && bs->count < min_blob_pixels) || (max_blob_pixels && bs->count > max_blob_pixels) ) { if ( (min_blob_pixels && bs->count < min_blob_pixels) || (max_blob_pixels && bs->count > max_blob_pixels) ) {
@ -566,7 +566,7 @@ bool Zone::CheckAlarms(const Image *delta_image) {
spdiff = diff_buff + ((diff_width * sy) + bs->lo_x); spdiff = diff_buff + ((diff_width * sy) + bs->lo_x);
for ( int sx = bs->lo_x; sx <= bs->hi_x; sx++, spdiff++ ) { for ( int sx = bs->lo_x; sx <= bs->hi_x; sx++, spdiff++ ) {
if ( *spdiff == bs->tag ) { if ( *spdiff == bs->tag ) {
*spdiff = BLACK; *spdiff = kBlack;
} }
} }
} }
@ -631,7 +631,7 @@ bool Zone::CheckAlarms(const Image *delta_image) {
alarm_lo_y = polygon.HiY()+1; alarm_lo_y = polygon.HiY()+1;
alarm_hi_y = polygon.LoY()-1; alarm_hi_y = polygon.LoY()-1;
for ( int i = 1; i < WHITE; i++ ) { for ( uint32 i = 1; i < kWhite; i++ ) {
BlobStats *bs = &blob_stats[i]; BlobStats *bs = &blob_stats[i];
if ( bs->count ) { if ( bs->count ) {
if ( bs->count == max_blob_size ) { if ( bs->count == max_blob_size ) {
@ -701,9 +701,9 @@ bool Zone::CheckAlarms(const Image *delta_image) {
int lo_gap = lo_x2-lo_x; int lo_gap = lo_x2-lo_x;
if ( lo_gap > 0 ) { if ( lo_gap > 0 ) {
if ( lo_gap == 1 ) { if ( lo_gap == 1 ) {
*pdiff++ = BLACK; *pdiff++ = kBlack;
} else { } else {
memset(pdiff, BLACK, lo_gap); memset(pdiff, kBlack, lo_gap);
pdiff += lo_gap; pdiff += lo_gap;
} }
} }
@ -711,16 +711,16 @@ bool Zone::CheckAlarms(const Image *delta_image) {
const uint8_t* ppoly = pg_image->Buffer(lo_x2, y); const uint8_t* ppoly = pg_image->Buffer(lo_x2, y);
for ( int x = lo_x2; x <= hi_x2; x++, pdiff++, ppoly++ ) { for ( int x = lo_x2; x <= hi_x2; x++, pdiff++, ppoly++ ) {
if ( !*ppoly ) { if ( !*ppoly ) {
*pdiff = BLACK; *pdiff = kBlack;
} }
} }
int hi_gap = hi_x-hi_x2; int hi_gap = hi_x-hi_x2;
if ( hi_gap > 0 ) { if ( hi_gap > 0 ) {
if ( hi_gap == 1 ) { if ( hi_gap == 1 ) {
*pdiff = BLACK; *pdiff = kBlack;
} else { } else {
memset(pdiff, BLACK, hi_gap); memset(pdiff, kBlack, hi_gap);
} }
} }
} // end for y } // end for y
@ -982,9 +982,9 @@ void Zone::std_alarmedpixels(
if ( *ppoly && (*pdiff > min_pixel_threshold) && (*pdiff <= calc_max_pixel_threshold) ) { if ( *ppoly && (*pdiff > min_pixel_threshold) && (*pdiff <= calc_max_pixel_threshold) ) {
pixelsalarmed++; pixelsalarmed++;
pixelsdifference += *pdiff; pixelsdifference += *pdiff;
*pdiff = WHITE; *pdiff = kWhite;
} else { } else {
*pdiff = BLACK; *pdiff = kBlack;
} }
} }
} // end for y = lo_y to hi_y } // end for y = lo_y to hi_y

View File

@ -114,11 +114,11 @@ public:
} }
Zone( Monitor *p_monitor, int p_id, const char *p_label, const Polygon &p_polygon ) Zone( Monitor *p_monitor, int p_id, const char *p_label, const Polygon &p_polygon )
{ {
Setup( p_monitor, p_id, p_label, Zone::INACTIVE, p_polygon, RGB_BLACK, (Zone::CheckMethod)0, 0, 0, 0, 0, Coord( 0, 0 ), 0, 0, 0, 0, 0, 0, 0, 0 ); Setup( p_monitor, p_id, p_label, Zone::INACTIVE, p_polygon, kRGBBlack, (Zone::CheckMethod)0, 0, 0, 0, 0, Coord( 0, 0 ), 0, 0, 0, 0, 0, 0, 0, 0 );
} }
Zone( Monitor *p_monitor, int p_id, const char *p_label, ZoneType p_type, const Polygon &p_polygon ) Zone( Monitor *p_monitor, int p_id, const char *p_label, ZoneType p_type, const Polygon &p_polygon )
{ {
Setup( p_monitor, p_id, p_label, p_type, p_polygon, RGB_BLACK, (Zone::CheckMethod)0, 0, 0, 0, 0, Coord( 0, 0 ), 0, 0, 0, 0, 0, 0, 0, 0 ); Setup( p_monitor, p_id, p_label, p_type, p_polygon, kRGBBlack, (Zone::CheckMethod)0, 0, 0, 0, 0, Coord( 0, 0 ), 0, 0, 0, 0, 0, 0, 0, 0 );
} }
public: public: