From 29b8ad0b130ec6ed4f72ebd0c0a4f9e6a5b03467 Mon Sep 17 00:00:00 2001 From: weili Date: Tue, 14 Jun 2016 18:20:04 -0700 Subject: Make code compile with clang_use_chrome_plugin (part III) This change contains files in xfa/fxbarcode directory. This is part of the efforts to make PDFium code compilable by Clang chromium style plugins. The changes are mainly the following: -- move inline constructor/destructor of complex class/struct out-of-line; -- add constructor/destructor of complex class/struct if not explicitly defined; -- add explicit out-of-line copy constructor when needed; -- move inline virtual functions out-of-line; -- Properly mark virtual functions with 'override'; -- some minor cleanups; BUG=pdfium:469 Review-Url: https://codereview.chromium.org/2067903002 --- xfa/fxbarcode/qrcode/BC_QRDataMask.cpp | 78 ++++++++++++++++++++++++++-------- 1 file changed, 60 insertions(+), 18 deletions(-) (limited to 'xfa/fxbarcode/qrcode/BC_QRDataMask.cpp') diff --git a/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp b/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp index 9b5e3ca014..e21b5d2d37 100644 --- a/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp +++ b/xfa/fxbarcode/qrcode/BC_QRDataMask.cpp @@ -67,46 +67,52 @@ CBC_QRDataMask* CBC_QRDataMask::ForReference(int32_t reference, int32_t& e) { class DataMask000 : public CBC_QRDataMask { public: - FX_BOOL IsMasked(int32_t x, int32_t y) { return ((x + y) % 2) == 0; } + // CBC_QRDataMask + FX_BOOL IsMasked(int32_t x, int32_t y) override; }; + class DataMask001 : public CBC_QRDataMask { public: - FX_BOOL IsMasked(int32_t x, int32_t y) { return (x % 2) == 0; } + // CBC_QRDataMask + FX_BOOL IsMasked(int32_t x, int32_t y) override; }; + class DataMask010 : public CBC_QRDataMask { public: - FX_BOOL IsMasked(int32_t x, int32_t y) { return y % 3 == 0; } + // CBC_QRDataMask + FX_BOOL IsMasked(int32_t x, int32_t y) override; }; + class DataMask011 : public CBC_QRDataMask { public: - FX_BOOL IsMasked(int32_t x, int32_t y) { return (x + y) % 3 == 0; } + // CBC_QRDataMask + FX_BOOL IsMasked(int32_t x, int32_t y) override; }; + class DataMask100 : public CBC_QRDataMask { public: - FX_BOOL IsMasked(int32_t x, int32_t y) { - return (((x >> 1) + (y / 3)) % 2) == 0; - } + // CBC_QRDataMask + FX_BOOL IsMasked(int32_t x, int32_t y) override; }; + class DataMask101 : public CBC_QRDataMask { public: - FX_BOOL IsMasked(int32_t x, int32_t y) { - size_t temp = x * y; - return (temp % 2) + (temp % 3) == 0; - } + // CBC_QRDataMask + FX_BOOL IsMasked(int32_t x, int32_t y) override; }; + class DataMask110 : public CBC_QRDataMask { public: - FX_BOOL IsMasked(int32_t x, int32_t y) { - size_t temp = x * y; - return (((temp % 2) + (temp % 3)) % 2) == 0; - } + // CBC_QRDataMask + FX_BOOL IsMasked(int32_t x, int32_t y) override; }; + class DataMask111 : public CBC_QRDataMask { public: - FX_BOOL IsMasked(int32_t x, int32_t y) { - return ((((x + y) % 2) + ((x * y) % 3)) % 2) == 0; - } + // CBC_QRDataMask + FX_BOOL IsMasked(int32_t x, int32_t y) override; }; + int32_t CBC_QRDataMask::BuildDataMasks() { DATA_MASKS->Add(new DataMask000); DATA_MASKS->Add(new DataMask001); @@ -118,5 +124,41 @@ int32_t CBC_QRDataMask::BuildDataMasks() { DATA_MASKS->Add(new DataMask111); return DATA_MASKS->GetSize(); } + CBC_QRDataMask::CBC_QRDataMask() {} + CBC_QRDataMask::~CBC_QRDataMask() {} + +FX_BOOL DataMask000::IsMasked(int32_t x, int32_t y) { + return ((x + y) % 2) == 0; +} + +FX_BOOL DataMask001::IsMasked(int32_t x, int32_t y) { + return (x % 2) == 0; +} + +FX_BOOL DataMask010::IsMasked(int32_t x, int32_t y) { + return y % 3 == 0; +} + +FX_BOOL DataMask011::IsMasked(int32_t x, int32_t y) { + return (x + y) % 3 == 0; +} + +FX_BOOL DataMask100::IsMasked(int32_t x, int32_t y) { + return (((x >> 1) + (y / 3)) % 2) == 0; +} + +FX_BOOL DataMask101::IsMasked(int32_t x, int32_t y) { + size_t temp = x * y; + return (temp % 2) + (temp % 3) == 0; +} + +FX_BOOL DataMask110::IsMasked(int32_t x, int32_t y) { + size_t temp = x * y; + return (((temp % 2) + (temp % 3)) % 2) == 0; +} + +FX_BOOL DataMask111::IsMasked(int32_t x, int32_t y) { + return ((((x + y) % 2) + ((x * y) % 3)) % 2) == 0; +} -- cgit v1.2.3