@@ -401,7 +401,7 @@ QList<QColor> QgsLimitedRandomColorRamp::randomColors( int count,
401
401
int safeValMin = std::min ( valMin, valMax );
402
402
403
403
// start hue at random angle
404
- double currentHueAngle = 360.0 * static_cast < double >( qrand () ) / RAND_MAX;
404
+ double currentHueAngle = 360.0 * static_cast < double >( std::rand () ) / RAND_MAX;
405
405
406
406
colors.reserve ( count );
407
407
for ( int i = 0 ; i < count; ++i )
@@ -412,8 +412,8 @@ QList<QColor> QgsLimitedRandomColorRamp::randomColors( int count,
412
412
currentHueAngle += 137.50776 ;
413
413
// scale hue to between hueMax and hueMin
414
414
h = std::clamp ( std::round ( ( std::fmod ( currentHueAngle, 360.0 ) / 360.0 ) * ( safeHueMax - safeHueMin ) + safeHueMin ), 0.0 , 359.0 );
415
- s = std::clamp ( ( qrand ( ) % ( safeSatMax - safeSatMin + 1 ) ) + safeSatMin, 0 , 255 );
416
- v = std::clamp ( ( qrand ( ) % ( safeValMax - safeValMin + 1 ) ) + safeValMin, 0 , 255 );
415
+ s = std::clamp ( ( static_cast < int >( std::rand () ) % ( safeSatMax - safeSatMin + 1 ) ) + safeSatMin, 0 , 255 );
416
+ v = std::clamp ( ( static_cast < int >( std::rand () ) % ( safeValMax - safeValMin + 1 ) ) + safeValMin, 0 , 255 );
417
417
colors.append ( QColor::fromHsv ( h, s, v ) );
418
418
}
419
419
return colors;
@@ -451,9 +451,9 @@ QColor QgsRandomColorRamp::color( double value ) const
451
451
}
452
452
453
453
// can't use precalculated hues, use a totally random hue
454
- int h = static_cast < int >( 360.0 * qrand () / ( RAND_MAX + 1.0 ) );
455
- int s = ( qrand () % ( DEFAULT_RANDOM_SAT_MAX - DEFAULT_RANDOM_SAT_MIN + 1 ) ) + DEFAULT_RANDOM_SAT_MIN;
456
- int v = ( qrand () % ( maxVal - minVal + 1 ) ) + minVal;
454
+ int h = static_cast < int >( 360.0 * std::rand () / ( RAND_MAX + 1.0 ) );
455
+ int s = ( std::rand () % ( DEFAULT_RANDOM_SAT_MAX - DEFAULT_RANDOM_SAT_MIN + 1 ) ) + DEFAULT_RANDOM_SAT_MIN;
456
+ int v = ( std::rand () % ( maxVal - minVal + 1 ) ) + minVal;
457
457
return QColor::fromHsv ( h, s, v );
458
458
}
459
459
@@ -467,7 +467,7 @@ void QgsRandomColorRamp::setTotalColorCount( const int colorCount )
467
467
// similar colors being picked. TODO - investigate alternative "n-visually distinct color" routines
468
468
469
469
// random offsets
470
- double hueOffset = ( 360.0 * qrand () / ( RAND_MAX + 1.0 ) );
470
+ double hueOffset = ( 360.0 * std::rand () / ( RAND_MAX + 1.0 ) );
471
471
472
472
// try to maximise difference between hues. this is not an ideal implementation, as constant steps
473
473
// through the hue wheel are not visually perceived as constant changes in hue
@@ -479,8 +479,8 @@ void QgsRandomColorRamp::setTotalColorCount( const int colorCount )
479
479
for ( int idx = 0 ; idx < colorCount; ++ idx )
480
480
{
481
481
int h = static_cast < int >( std::round ( currentHue ) ) % 360 ;
482
- int s = ( qrand () % ( DEFAULT_RANDOM_SAT_MAX - DEFAULT_RANDOM_SAT_MIN + 1 ) ) + DEFAULT_RANDOM_SAT_MIN;
483
- int v = ( qrand () % ( DEFAULT_RANDOM_VAL_MAX - DEFAULT_RANDOM_VAL_MIN + 1 ) ) + DEFAULT_RANDOM_VAL_MIN;
482
+ int s = ( std::rand () % ( DEFAULT_RANDOM_SAT_MAX - DEFAULT_RANDOM_SAT_MIN + 1 ) ) + DEFAULT_RANDOM_SAT_MIN;
483
+ int v = ( std::rand () % ( DEFAULT_RANDOM_VAL_MAX - DEFAULT_RANDOM_VAL_MIN + 1 ) ) + DEFAULT_RANDOM_VAL_MIN;
484
484
mPrecalculatedColors << QColor::fromHsv ( h, s, v );
485
485
currentHue += hueStep;
486
486
}
0 commit comments