summaryrefslogtreecommitdiff
path: root/vcl/source/gdi/bitmap3.cxx
diff options
context:
space:
mode:
authorChris Sherlock <chris.sherlock79@gmail.com>2020-12-18 16:18:45 +1100
committerTomaž Vajngerl <quikee@gmail.com>2020-12-19 04:19:27 +0100
commit9a575298bd4c704718084481cb57db93259eca68 (patch)
tree03b5d8bbd462738d726cf8a59224b66fd381c579 /vcl/source/gdi/bitmap3.cxx
parent26f504eccfcfaa548f0648703925360e08d4a0c2 (diff)
vcl: move Floyd-Steinberg constants and defines to own local header
Change-Id: Id571c09281fa22da8bbb3ddc37fb7db42110e39a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/107950 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'vcl/source/gdi/bitmap3.cxx')
-rw-r--r--vcl/source/gdi/bitmap3.cxx108
1 files changed, 1 insertions, 107 deletions
diff --git a/vcl/source/gdi/bitmap3.cxx b/vcl/source/gdi/bitmap3.cxx
index 6f760d0f1602..aba33b41c754 100644
--- a/vcl/source/gdi/bitmap3.cxx
+++ b/vcl/source/gdi/bitmap3.cxx
@@ -42,39 +42,11 @@
#include <salinst.hxx>
#include <salbmp.hxx>
+#include "floyd.hxx"
#include "impvect.hxx"
#include <memory>
-#define CALC_ERRORS \
- nTemp = p1T[nX++] >> 12; \
- nBErr = MinMax( nTemp, 0, 255 ); \
- nBErr = nBErr - FloydIndexMap[ nBC = FloydMap[nBErr] ]; \
- nTemp = p1T[nX++] >> 12; \
- nGErr = MinMax( nTemp, 0, 255 ); \
- nGErr = nGErr - FloydIndexMap[ nGC = FloydMap[nGErr] ]; \
- nTemp = p1T[nX] >> 12; \
- nRErr = MinMax( nTemp, 0, 255 ); \
- nRErr = nRErr - FloydIndexMap[ nRC = FloydMap[nRErr] ];
-
-#define CALC_TABLES3 \
- p2T[nX++] += FloydError3[nBErr]; \
- p2T[nX++] += FloydError3[nGErr]; \
- p2T[nX++] += FloydError3[nRErr];
-
-#define CALC_TABLES5 \
- p2T[nX++] += FloydError5[nBErr]; \
- p2T[nX++] += FloydError5[nGErr]; \
- p2T[nX++] += FloydError5[nRErr];
-
-#define CALC_TABLES7 \
- p1T[++nX] += FloydError7[nBErr]; \
- p2T[nX++] += FloydError1[nBErr]; \
- p1T[nX] += FloydError7[nGErr]; \
- p2T[nX++] += FloydError1[nGErr]; \
- p1T[nX] += FloydError7[nRErr]; \
- p2T[nX] += FloydError1[nRErr];
-
const extern sal_uLong nVCLRLut[ 6 ] = { 16, 17, 18, 19, 20, 21 };
const extern sal_uLong nVCLGLut[ 6 ] = { 0, 6, 12, 18, 24, 30 };
const extern sal_uLong nVCLBLut[ 6 ] = { 0, 36, 72, 108, 144, 180 };
@@ -143,84 +115,6 @@ const extern sal_uLong nVCLLut[ 256 ] =
318928,320214,321500,322786,324072,325358,326644,327930
};
-const tools::Long FloydMap[256] =
-{
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
- 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
-};
-
-const tools::Long FloydError1[61] =
-{
- -7680, -7424, -7168, -6912, -6656, -6400, -6144,
- -5888, -5632, -5376, -5120, -4864, -4608, -4352,
- -4096, -3840, -3584, -3328, -3072, -2816, -2560,
- -2304, -2048, -1792, -1536, -1280, -1024, -768,
- -512, -256, 0, 256, 512, 768, 1024, 1280, 1536,
- 1792, 2048, 2304, 2560, 2816, 3072, 3328, 3584,
- 3840, 4096, 4352, 4608, 4864, 5120, 5376, 5632,
- 5888, 6144, 6400, 6656, 6912, 7168, 7424, 7680
-};
-
-const tools::Long FloydError3[61] =
-{
- -23040, -22272, -21504, -20736, -19968, -19200,
- -18432, -17664, -16896, -16128, -15360, -14592,
- -13824, -13056, -12288, -11520, -10752, -9984,
- -9216, -8448, -7680, -6912, -6144, -5376, -4608,
- -3840, -3072, -2304, -1536, -768, 0, 768, 1536,
- 2304, 3072, 3840, 4608, 5376, 6144, 6912, 7680,
- 8448, 9216, 9984, 10752, 11520, 12288, 13056,
- 13824, 14592, 15360, 16128, 16896, 17664, 18432,
- 19200, 19968, 20736, 21504, 22272, 23040
-};
-
-const tools::Long FloydError5[61] =
-{
- -38400, -37120, -35840, -34560, -33280, -32000,
- -30720, -29440, -28160, -26880, -25600, -24320,
- -23040, -21760, -20480, -19200, -17920, -16640,
- -15360, -14080, -12800, -11520, -10240, -8960,
- -7680, -6400, -5120, -3840, -2560, -1280, 0,
- 1280, 2560, 3840, 5120, 6400, 7680, 8960, 10240,
- 11520, 12800, 14080, 15360, 16640, 17920, 19200,
- 20480, 21760, 23040, 24320, 25600, 26880, 28160,
- 29440, 30720, 32000, 33280, 34560, 35840, 37120,
- 38400
-};
-
-const tools::Long FloydError7[61] =
-{
- -53760, -51968, -50176, -48384, -46592, -44800,
- -43008, -41216, -39424, -37632, -35840, -34048,
- -32256, -30464, -28672, -26880, -25088, -23296,
- -21504, -19712, -17920, -16128, -14336, -12544,
- -10752, -8960, -7168, -5376, -3584, -1792, 0,
- 1792, 3584, 5376, 7168, 8960, 10752, 12544, 14336,
- 16128, 17920, 19712, 21504, 23296, 25088, 26880,
- 28672, 30464, 32256, 34048, 35840, 37632, 39424,
- 41216, 43008, 44800, 46592, 48384, 50176, 51968,
- 53760
-};
-
-const tools::Long FloydIndexMap[6] =
-{
- -30, 21, 72, 123, 174, 225
-};
-
bool Bitmap::Convert( BmpConversion eConversion )
{
// try to convert in backend