MCPcopy Create free account
hub / github.com/ddnet/ddnet / DilateFile

Function DilateFile

src/tools/dilate.cpp:11–42  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9#include <engine/gfx/image_manipulation.h>
10
11static bool DilateFile(const char *pFilename, bool DryRun)
12{
13 CImageInfo Image;
14 int PngliteIncompatible;
15 if(!CImageLoader::LoadPng(io_open(pFilename, IOFLAG_READ), pFilename, Image, PngliteIncompatible))
16 return false;
17
18 if(Image.m_Format != CImageInfo::FORMAT_RGBA)
19 {
20 log_error("dilate", "ERROR: only RGBA PNG images are supported");
21 Image.Free();
22 return false;
23 }
24
25 if(DryRun)
26 {
27 CImageInfo OldImage = Image.DeepCopy();
28 DilateImage(Image);
29 const bool EqualImages = Image.DataEquals(OldImage);
30 Image.Free();
31 OldImage.Free();
32 log_info("dilate", "'%s' is %sdilated", pFilename, EqualImages ? "" : "NOT ");
33 return EqualImages;
34 }
35 else
36 {
37 DilateImage(Image);
38 const bool SaveResult = CImageLoader::SavePng(io_open(pFilename, IOFLAG_WRITE), pFilename, Image);
39 Image.Free();
40 return SaveResult;
41 }
42}
43
44int main(int argc, const char **argv)
45{

Callers 1

mainFunction · 0.85

Calls 5

io_openFunction · 0.85
DilateImageFunction · 0.85
DeepCopyMethod · 0.80
DataEqualsMethod · 0.80
FreeMethod · 0.45

Tested by

no test coverage detected