parameters.cc (3215B)
1 // Copyright (c) the JPEG XL Project Authors. All rights reserved. 2 // 3 // Use of this source code is governed by a BSD-style 4 // license that can be found in the LICENSE file. 5 6 #include "tools/flicker_test/parameters.h" 7 8 namespace jpegxl { 9 namespace tools { 10 11 namespace { 12 13 constexpr char kPathsGroup[] = "paths"; 14 constexpr char kOriginalFolderKey[] = "originalFolder"; 15 constexpr char kAlteredFolderKey[] = "alteredFolder"; 16 constexpr char kOutputFileKey[] = "outputFile"; 17 18 constexpr char kTimingGroup[] = "timing"; 19 constexpr char kAdvanceTimeKey[] = "advanceTimeMSecs"; 20 constexpr char kViewingTimeKey[] = "viewingTimeSecs"; 21 constexpr char kBlankingTimeKey[] = "blankingTimeMSecs"; 22 constexpr char kGrayGroup[] = "gray"; 23 constexpr char kGrayKey[] = "enabled"; 24 constexpr char kGrayFadingTimeKey[] = "fadingTimeMSecs"; 25 constexpr char kGrayTimeKey[] = "timeMSecs"; 26 27 constexpr char kDisplayGroup[] = "display"; 28 constexpr char kIntensityTargetKey[] = "intensityTarget"; 29 constexpr char kSpacingKey[] = "spacing"; 30 31 } // namespace 32 33 FlickerTestParameters FlickerTestParameters::loadFrom( 34 QSettings* const settings) { 35 FlickerTestParameters parameters; 36 37 settings->beginGroup(kPathsGroup); 38 parameters.originalFolder = settings->value(kOriginalFolderKey).toString(); 39 parameters.alteredFolder = settings->value(kAlteredFolderKey).toString(); 40 parameters.outputFile = settings->value(kOutputFileKey).toString(); 41 settings->endGroup(); 42 43 settings->beginGroup(kTimingGroup); 44 parameters.advanceTimeMSecs = settings->value(kAdvanceTimeKey, 100).toInt(); 45 parameters.viewingTimeSecs = settings->value(kViewingTimeKey, 4).toInt(); 46 parameters.blankingTimeMSecs = settings->value(kBlankingTimeKey, 250).toInt(); 47 settings->beginGroup(kGrayGroup); 48 parameters.gray = settings->value(kGrayKey, false).toBool(); 49 parameters.grayFadingTimeMSecs = 50 settings->value(kGrayFadingTimeKey, 100).toInt(); 51 parameters.grayTimeMSecs = settings->value(kGrayTimeKey, 300).toInt(); 52 settings->endGroup(); 53 settings->endGroup(); 54 55 settings->beginGroup(kDisplayGroup); 56 parameters.intensityTarget = 57 settings->value(kIntensityTargetKey, 250).toInt(); 58 parameters.spacing = settings->value(kSpacingKey, 50).toInt(); 59 settings->endGroup(); 60 61 return parameters; 62 } 63 64 void FlickerTestParameters::saveTo(QSettings* const settings) const { 65 settings->beginGroup(kPathsGroup); 66 settings->setValue(kOriginalFolderKey, originalFolder); 67 settings->setValue(kAlteredFolderKey, alteredFolder); 68 settings->setValue(kOutputFileKey, outputFile); 69 settings->endGroup(); 70 71 settings->beginGroup(kTimingGroup); 72 settings->setValue(kAdvanceTimeKey, advanceTimeMSecs); 73 settings->setValue(kViewingTimeKey, viewingTimeSecs); 74 settings->setValue(kBlankingTimeKey, blankingTimeMSecs); 75 settings->beginGroup(kGrayGroup); 76 settings->setValue(kGrayKey, gray); 77 settings->setValue(kGrayFadingTimeKey, grayFadingTimeMSecs); 78 settings->setValue(kGrayTimeKey, grayTimeMSecs); 79 settings->endGroup(); 80 settings->endGroup(); 81 82 settings->beginGroup(kDisplayGroup); 83 settings->setValue(kIntensityTargetKey, intensityTarget); 84 settings->setValue(kSpacingKey, spacing); 85 settings->endGroup(); 86 } 87 88 } // namespace tools 89 } // namespace jpegxl