Refactor to use C++ boolean literals rather than macros

This commit is contained in:
Lovell Fuller 2024-04-30 16:41:26 +01:00
parent 0fde71c783
commit f325dc3ec9
3 changed files with 38 additions and 38 deletions

View File

@ -75,7 +75,7 @@ namespace sharp {
Napi::Buffer<char> buffer = input.Get("buffer").As<Napi::Buffer<char>>(); Napi::Buffer<char> buffer = input.Get("buffer").As<Napi::Buffer<char>>();
descriptor->bufferLength = buffer.Length(); descriptor->bufferLength = buffer.Length();
descriptor->buffer = buffer.Data(); descriptor->buffer = buffer.Data();
descriptor->isBuffer = TRUE; descriptor->isBuffer = true;
} }
descriptor->failOn = AttrAsEnum<VipsFailOn>(input, "failOn", VIPS_TYPE_FAIL_ON); descriptor->failOn = AttrAsEnum<VipsFailOn>(input, "failOn", VIPS_TYPE_FAIL_ON);
// Density for vector-based input // Density for vector-based input
@ -384,7 +384,7 @@ namespace sharp {
->set("access", descriptor->access) ->set("access", descriptor->access)
->set("fail_on", descriptor->failOn); ->set("fail_on", descriptor->failOn);
if (descriptor->unlimited && ImageTypeSupportsUnlimited(imageType)) { if (descriptor->unlimited && ImageTypeSupportsUnlimited(imageType)) {
option->set("unlimited", TRUE); option->set("unlimited", true);
} }
if (imageType == ImageType::SVG || imageType == ImageType::PDF) { if (imageType == ImageType::SVG || imageType == ImageType::PDF) {
option->set("dpi", descriptor->density); option->set("dpi", descriptor->density);
@ -488,7 +488,7 @@ namespace sharp {
->set("access", descriptor->access) ->set("access", descriptor->access)
->set("fail_on", descriptor->failOn); ->set("fail_on", descriptor->failOn);
if (descriptor->unlimited && ImageTypeSupportsUnlimited(imageType)) { if (descriptor->unlimited && ImageTypeSupportsUnlimited(imageType)) {
option->set("unlimited", TRUE); option->set("unlimited", true);
} }
if (imageType == ImageType::SVG || imageType == ImageType::PDF) { if (imageType == ImageType::SVG || imageType == ImageType::PDF) {
option->set("dpi", descriptor->density); option->set("dpi", descriptor->density);
@ -768,7 +768,7 @@ namespace sharp {
int *timeout = VIPS_NEW(im, int); int *timeout = VIPS_NEW(im, int);
*timeout = seconds; *timeout = seconds;
g_signal_connect(im, "eval", G_CALLBACK(VipsProgressCallBack), timeout); g_signal_connect(im, "eval", G_CALLBACK(VipsProgressCallBack), timeout);
vips_image_set_progress(im, TRUE); vips_image_set_progress(im, true);
} }
} }
} }
@ -778,7 +778,7 @@ namespace sharp {
*/ */
void VipsProgressCallBack(VipsImage *im, VipsProgress *progress, int *timeout) { void VipsProgressCallBack(VipsImage *im, VipsProgress *progress, int *timeout) {
if (*timeout > 0 && progress->run >= *timeout) { if (*timeout > 0 && progress->run >= *timeout) {
vips_image_set_kill(im, TRUE); vips_image_set_kill(im, true);
vips_error("timeout", "%d%% complete", progress->percent); vips_error("timeout", "%d%% complete", progress->percent);
*timeout = 0; *timeout = 0;
} }

View File

@ -79,12 +79,12 @@ namespace sharp {
buffer(nullptr), buffer(nullptr),
failOn(VIPS_FAIL_ON_WARNING), failOn(VIPS_FAIL_ON_WARNING),
limitInputPixels(0x3FFF * 0x3FFF), limitInputPixels(0x3FFF * 0x3FFF),
unlimited(FALSE), unlimited(false),
access(VIPS_ACCESS_RANDOM), access(VIPS_ACCESS_RANDOM),
bufferLength(0), bufferLength(0),
isBuffer(FALSE), isBuffer(false),
density(72.0), density(72.0),
ignoreIcc(FALSE), ignoreIcc(false),
rawDepth(VIPS_FORMAT_UCHAR), rawDepth(VIPS_FORMAT_UCHAR),
rawChannels(0), rawChannels(0),
rawWidth(0), rawWidth(0),
@ -103,9 +103,9 @@ namespace sharp {
textWidth(0), textWidth(0),
textHeight(0), textHeight(0),
textAlign(VIPS_ALIGN_LOW), textAlign(VIPS_ALIGN_LOW),
textJustify(FALSE), textJustify(false),
textDpi(72), textDpi(72),
textRgba(FALSE), textRgba(false),
textSpacing(0), textSpacing(0),
textWrap(VIPS_TEXT_WRAP_WORD), textWrap(VIPS_TEXT_WRAP_WORD),
textAutofitDpi(0) {} textAutofitDpi(0) {}
@ -386,7 +386,7 @@ namespace sharp {
/* /*
Ensure decoding remains sequential. Ensure decoding remains sequential.
*/ */
VImage StaySequential(VImage image, bool condition = TRUE); VImage StaySequential(VImage image, bool condition = true);
} // namespace sharp } // namespace sharp

View File

@ -70,8 +70,8 @@ class PipelineWorker : public Napi::AsyncWorker {
// Calculate angle of rotation // Calculate angle of rotation
VipsAngle rotation = VIPS_ANGLE_D0; VipsAngle rotation = VIPS_ANGLE_D0;
VipsAngle autoRotation = VIPS_ANGLE_D0; VipsAngle autoRotation = VIPS_ANGLE_D0;
bool autoFlip = FALSE; bool autoFlip = false;
bool autoFlop = FALSE; bool autoFlop = false;
if (baton->useExifOrientation) { if (baton->useExifOrientation) {
// Rotate and flip image according to Exif orientation // Rotate and flip image according to Exif orientation
@ -104,17 +104,17 @@ class PipelineWorker : public Napi::AsyncWorker {
} }
if (autoFlip) { if (autoFlip) {
image = image.flip(VIPS_DIRECTION_VERTICAL); image = image.flip(VIPS_DIRECTION_VERTICAL);
autoFlip = FALSE; autoFlip = false;
} else if (baton->flip) { } else if (baton->flip) {
image = image.flip(VIPS_DIRECTION_VERTICAL); image = image.flip(VIPS_DIRECTION_VERTICAL);
baton->flip = FALSE; baton->flip = false;
} }
if (autoFlop) { if (autoFlop) {
image = image.flip(VIPS_DIRECTION_HORIZONTAL); image = image.flip(VIPS_DIRECTION_HORIZONTAL);
autoFlop = FALSE; autoFlop = false;
} else if (baton->flop) { } else if (baton->flop) {
image = image.flip(VIPS_DIRECTION_HORIZONTAL); image = image.flip(VIPS_DIRECTION_HORIZONTAL);
baton->flop = FALSE; baton->flop = false;
} }
if (rotation != VIPS_ANGLE_D0) { if (rotation != VIPS_ANGLE_D0) {
if (rotation != VIPS_ANGLE_D180) { if (rotation != VIPS_ANGLE_D180) {
@ -126,7 +126,7 @@ class PipelineWorker : public Napi::AsyncWorker {
if (baton->rotationAngle != 0.0) { if (baton->rotationAngle != 0.0) {
MultiPageUnsupported(nPages, "Rotate"); MultiPageUnsupported(nPages, "Rotate");
std::vector<double> background; std::vector<double> background;
std::tie(image, background) = sharp::ApplyAlpha(image, baton->rotationBackground, FALSE); std::tie(image, background) = sharp::ApplyAlpha(image, baton->rotationBackground, false);
image = image.rotate(baton->rotationAngle, VImage::option()->set("background", background)).copy_memory(); image = image.rotate(baton->rotationAngle, VImage::option()->set("background", background)).copy_memory();
} }
} }
@ -337,7 +337,7 @@ class PipelineWorker : public Napi::AsyncWorker {
// Convert to sRGB/P3 using embedded profile // Convert to sRGB/P3 using embedded profile
try { try {
image = image.icc_transform(processingProfile, VImage::option() image = image.icc_transform(processingProfile, VImage::option()
->set("embedded", TRUE) ->set("embedded", true)
->set("depth", sharp::Is16Bit(image.interpretation()) ? 16 : 8) ->set("depth", sharp::Is16Bit(image.interpretation()) ? 16 : 8)
->set("intent", VIPS_INTENT_PERCEPTUAL)); ->set("intent", VIPS_INTENT_PERCEPTUAL));
} catch(...) { } catch(...) {
@ -781,7 +781,7 @@ class PipelineWorker : public Napi::AsyncWorker {
if ((baton->keepMetadata & VIPS_FOREIGN_KEEP_ICC) && baton->colourspacePipeline != VIPS_INTERPRETATION_CMYK && if ((baton->keepMetadata & VIPS_FOREIGN_KEEP_ICC) && baton->colourspacePipeline != VIPS_INTERPRETATION_CMYK &&
baton->withIccProfile.empty() && sharp::HasProfile(image)) { baton->withIccProfile.empty() && sharp::HasProfile(image)) {
image = image.icc_transform(processingProfile, VImage::option() image = image.icc_transform(processingProfile, VImage::option()
->set("embedded", TRUE) ->set("embedded", true)
->set("depth", sharp::Is16Bit(image.interpretation()) ? 16 : 8) ->set("depth", sharp::Is16Bit(image.interpretation()) ? 16 : 8)
->set("intent", VIPS_INTENT_PERCEPTUAL)); ->set("intent", VIPS_INTENT_PERCEPTUAL));
} }
@ -812,7 +812,7 @@ class PipelineWorker : public Napi::AsyncWorker {
try { try {
image = image.icc_transform(const_cast<char*>(baton->withIccProfile.data()), VImage::option() image = image.icc_transform(const_cast<char*>(baton->withIccProfile.data()), VImage::option()
->set("input_profile", processingProfile) ->set("input_profile", processingProfile)
->set("embedded", TRUE) ->set("embedded", true)
->set("depth", sharp::Is16Bit(image.interpretation()) ? 16 : 8) ->set("depth", sharp::Is16Bit(image.interpretation()) ? 16 : 8)
->set("intent", VIPS_INTENT_PERCEPTUAL)); ->set("intent", VIPS_INTENT_PERCEPTUAL));
} catch(...) { } catch(...) {
@ -1339,16 +1339,16 @@ class PipelineWorker : public Napi::AsyncWorker {
std::tuple<VipsAngle, bool, bool> std::tuple<VipsAngle, bool, bool>
CalculateExifRotationAndFlip(int const exifOrientation) { CalculateExifRotationAndFlip(int const exifOrientation) {
VipsAngle rotate = VIPS_ANGLE_D0; VipsAngle rotate = VIPS_ANGLE_D0;
bool flip = FALSE; bool flip = false;
bool flop = FALSE; bool flop = false;
switch (exifOrientation) { switch (exifOrientation) {
case 6: rotate = VIPS_ANGLE_D90; break; case 6: rotate = VIPS_ANGLE_D90; break;
case 3: rotate = VIPS_ANGLE_D180; break; case 3: rotate = VIPS_ANGLE_D180; break;
case 8: rotate = VIPS_ANGLE_D270; break; case 8: rotate = VIPS_ANGLE_D270; break;
case 2: flop = TRUE; break; // flop 1 case 2: flop = true; break; // flop 1
case 7: flip = TRUE; rotate = VIPS_ANGLE_D90; break; // flip 6 case 7: flip = true; rotate = VIPS_ANGLE_D90; break; // flip 6
case 4: flop = TRUE; rotate = VIPS_ANGLE_D180; break; // flop 3 case 4: flop = true; rotate = VIPS_ANGLE_D180; break; // flop 3
case 5: flip = TRUE; rotate = VIPS_ANGLE_D270; break; // flip 8 case 5: flip = true; rotate = VIPS_ANGLE_D270; break; // flip 8
} }
return std::make_tuple(rotate, flip, flop); return std::make_tuple(rotate, flip, flop);
} }
@ -1396,7 +1396,7 @@ class PipelineWorker : public Napi::AsyncWorker {
std::string suffix; std::string suffix;
if (baton->tileFormat == "png") { if (baton->tileFormat == "png") {
std::vector<std::pair<std::string, std::string>> options { std::vector<std::pair<std::string, std::string>> options {
{"interlace", baton->pngProgressive ? "TRUE" : "FALSE"}, {"interlace", baton->pngProgressive ? "true" : "false"},
{"compression", std::to_string(baton->pngCompressionLevel)}, {"compression", std::to_string(baton->pngCompressionLevel)},
{"filter", baton->pngAdaptiveFiltering ? "all" : "none"} {"filter", baton->pngAdaptiveFiltering ? "all" : "none"}
}; };
@ -1405,25 +1405,25 @@ class PipelineWorker : public Napi::AsyncWorker {
std::vector<std::pair<std::string, std::string>> options { std::vector<std::pair<std::string, std::string>> options {
{"Q", std::to_string(baton->webpQuality)}, {"Q", std::to_string(baton->webpQuality)},
{"alpha_q", std::to_string(baton->webpAlphaQuality)}, {"alpha_q", std::to_string(baton->webpAlphaQuality)},
{"lossless", baton->webpLossless ? "TRUE" : "FALSE"}, {"lossless", baton->webpLossless ? "true" : "false"},
{"near_lossless", baton->webpNearLossless ? "TRUE" : "FALSE"}, {"near_lossless", baton->webpNearLossless ? "true" : "false"},
{"smart_subsample", baton->webpSmartSubsample ? "TRUE" : "FALSE"}, {"smart_subsample", baton->webpSmartSubsample ? "true" : "false"},
{"preset", vips_enum_nick(VIPS_TYPE_FOREIGN_WEBP_PRESET, baton->webpPreset)}, {"preset", vips_enum_nick(VIPS_TYPE_FOREIGN_WEBP_PRESET, baton->webpPreset)},
{"min_size", baton->webpMinSize ? "TRUE" : "FALSE"}, {"min_size", baton->webpMinSize ? "true" : "false"},
{"mixed", baton->webpMixed ? "TRUE" : "FALSE"}, {"mixed", baton->webpMixed ? "true" : "false"},
{"effort", std::to_string(baton->webpEffort)} {"effort", std::to_string(baton->webpEffort)}
}; };
suffix = AssembleSuffixString(".webp", options); suffix = AssembleSuffixString(".webp", options);
} else { } else {
std::vector<std::pair<std::string, std::string>> options { std::vector<std::pair<std::string, std::string>> options {
{"Q", std::to_string(baton->jpegQuality)}, {"Q", std::to_string(baton->jpegQuality)},
{"interlace", baton->jpegProgressive ? "TRUE" : "FALSE"}, {"interlace", baton->jpegProgressive ? "true" : "false"},
{"subsample_mode", baton->jpegChromaSubsampling == "4:4:4" ? "off" : "on"}, {"subsample_mode", baton->jpegChromaSubsampling == "4:4:4" ? "off" : "on"},
{"trellis_quant", baton->jpegTrellisQuantisation ? "TRUE" : "FALSE"}, {"trellis_quant", baton->jpegTrellisQuantisation ? "true" : "false"},
{"quant_table", std::to_string(baton->jpegQuantisationTable)}, {"quant_table", std::to_string(baton->jpegQuantisationTable)},
{"overshoot_deringing", baton->jpegOvershootDeringing ? "TRUE": "FALSE"}, {"overshoot_deringing", baton->jpegOvershootDeringing ? "true": "false"},
{"optimize_scans", baton->jpegOptimiseScans ? "TRUE": "FALSE"}, {"optimize_scans", baton->jpegOptimiseScans ? "true": "false"},
{"optimize_coding", baton->jpegOptimiseCoding ? "TRUE": "FALSE"} {"optimize_coding", baton->jpegOptimiseCoding ? "true": "false"}
}; };
std::string extname = baton->tileLayout == VIPS_FOREIGN_DZ_LAYOUT_DZ ? ".jpeg" : ".jpg"; std::string extname = baton->tileLayout == VIPS_FOREIGN_DZ_LAYOUT_DZ ? ".jpeg" : ".jpg";
suffix = AssembleSuffixString(extname, options); suffix = AssembleSuffixString(extname, options);