@@ -315,6 +315,7 @@ DiffusionDither::~DiffusionDither()
315315{
316316 for (unsigned int i = 0 ; i < mMatrix .Rows (); ++i)
317317 delete[] maaErrorBuffer[i];
318+ delete[] maaErrorBuffer;
318319}
319320
320321void DiffusionDither::GetOffset (unsigned int x, unsigned int y, ColourOffset& offLin, ColourOffset& offQnt)
@@ -396,21 +397,21 @@ DitherStrategySPtr GetDitherStrategy(DitherMethodId method, unsigned int imageWi
396397 DitherStrategySPtr s;
397398 switch (method)
398399 {
399- case DitherMethodId::kNone : s = std::make_shared<NoDither> ();
400- case DitherMethodId::kDiffusion1D : s = std::make_shared<DiffusionDither1D> ();
401- case DitherMethodId::kSierraLite : s = std::make_shared<SierraLiteDither> (imageWidth);
402- case DitherMethodId::kFloydSteinberg : s = std::make_shared<FloydSteinbergDither> (imageWidth);
403- case DitherMethodId::kBayer2x2 : s = std::make_shared<OrderedDither> (BayerMatrix2, imageWidth);
404- case DitherMethodId::kBayer3x3 : s = std::make_shared<OrderedDither> (BayerMatrix3, imageWidth);
405- case DitherMethodId::kBayer4x4 : s = std::make_shared<OrderedDither> (BayerMatrix4, imageWidth);
406- case DitherMethodId::kBlueNoise : s = std::make_shared<OrderedDither> (BlueNoise64a, imageWidth);
407- case DitherMethodId::kBlueNoiseX : s = std::make_shared<OrderedDither> (BlueNoise64a, imageWidth, true );
408- case DitherMethodId::kAtkinson : s = std::make_shared<DiffusionDither> (AtkinsonMatrix, imageWidth);
409- case DitherMethodId::kBurkes : s = std::make_shared<DiffusionDither> (BurkesMatrix, imageWidth);
410- case DitherMethodId::kJarvisJudiceNinke :s = std::make_shared<DiffusionDither> (JarvisJudiceNinkeMatrix, imageWidth);
411- case DitherMethodId::kSierra3 : s = std::make_shared<DiffusionDither> (Sierra3Matrix, imageWidth);
412- case DitherMethodId::kSierra2 : s = std::make_shared<DiffusionDither> (Sierra2Matrix, imageWidth);
413- case DitherMethodId::kStucki : s = std::make_shared<DiffusionDither> (StuckiMatrix, imageWidth);
400+ case DitherMethodId::kNone : s = std::make_shared<NoDither> (); break ;
401+ case DitherMethodId::kDiffusion1D : s = std::make_shared<DiffusionDither1D> (); break ;
402+ case DitherMethodId::kSierraLite : s = std::make_shared<SierraLiteDither> (imageWidth); break ;
403+ case DitherMethodId::kFloydSteinberg : s = std::make_shared<FloydSteinbergDither> (imageWidth); break ;
404+ case DitherMethodId::kBayer2x2 : s = std::make_shared<OrderedDither> (BayerMatrix2, imageWidth); break ;
405+ case DitherMethodId::kBayer3x3 : s = std::make_shared<OrderedDither> (BayerMatrix3, imageWidth); break ;
406+ case DitherMethodId::kBayer4x4 : s = std::make_shared<OrderedDither> (BayerMatrix4, imageWidth); break ;
407+ case DitherMethodId::kBlueNoise : s = std::make_shared<OrderedDither> (BlueNoise64a, imageWidth); break ;
408+ case DitherMethodId::kBlueNoiseX : s = std::make_shared<OrderedDither> (BlueNoise64a, imageWidth, true ); break ;
409+ case DitherMethodId::kAtkinson : s = std::make_shared<DiffusionDither> (AtkinsonMatrix, imageWidth); break ;
410+ case DitherMethodId::kBurkes : s = std::make_shared<DiffusionDither> (BurkesMatrix, imageWidth); break ;
411+ case DitherMethodId::kJarvisJudiceNinke :s = std::make_shared<DiffusionDither> (JarvisJudiceNinkeMatrix, imageWidth);break ;
412+ case DitherMethodId::kSierra3 : s = std::make_shared<DiffusionDither> (Sierra3Matrix, imageWidth); break ;
413+ case DitherMethodId::kSierra2 : s = std::make_shared<DiffusionDither> (Sierra2Matrix, imageWidth); break ;
414+ case DitherMethodId::kStucki : s = std::make_shared<DiffusionDither> (StuckiMatrix, imageWidth); break ;
414415 }
415416 return s;
416417}
0 commit comments