summaryrefslogtreecommitdiff
path: root/svtools/source/filter/ixpm
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source/filter/ixpm')
-rw-r--r--svtools/source/filter/ixpm/rgbtable.hxx698
-rw-r--r--svtools/source/filter/ixpm/xpmread.cxx701
2 files changed, 0 insertions, 1399 deletions
diff --git a/svtools/source/filter/ixpm/rgbtable.hxx b/svtools/source/filter/ixpm/rgbtable.hxx
deleted file mode 100644
index 437856ec79..0000000000
--- a/svtools/source/filter/ixpm/rgbtable.hxx
+++ /dev/null
@@ -1,698 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-struct XPMRGBTab
-{
- const char* name;
- sal_uInt8 red;
- sal_uInt8 green;
- sal_uInt8 blue;
-};
-
-static XPMRGBTab pRGBTable[] = {
-{ "white", 255, 255, 255 },
-{ "black", 0, 0, 0 },
-{ "snow", 255, 250, 250 },
-{ "GhostWhite", 248, 248, 255 },
-{ "WhiteSmoke", 245, 245, 245 },
-{ "gainsboro", 220, 220, 220 },
-{ "FloralWhite", 255, 250, 240 },
-{ "OldLace", 253, 245, 230 },
-{ "linen", 250, 240, 230 },
-{ "AntiqueWhite", 250, 235, 215 },
-{ "PapayaWhip", 255, 239, 213 },
-{ "BlanchedAlmond", 255, 235, 205 },
-{ "bisque", 255, 228, 196 },
-{ "PeachPuff", 255, 218, 185 },
-{ "NavajoWhite", 255, 222, 173 },
-{ "moccasin", 255, 228, 181 },
-{ "cornsilk", 255, 248, 220 },
-{ "ivory", 255, 255, 240 },
-{ "LemonChiffon", 255, 250, 205 },
-{ "seashell", 255, 245, 238 },
-{ "honeydew", 240, 255, 240 },
-{ "MintCream", 245, 255, 250 },
-{ "azure", 240, 255, 255 },
-{ "AliceBlue", 240, 248, 255 },
-{ "lavender", 230, 230, 250 },
-{ "LavenderBlush", 255, 240, 245 },
-{ "MistyRose", 255, 228, 225 },
-{ "DarkSlateGray", 47, 79, 79 },
-{ "DarkSlateGrey", 47, 79, 79 },
-{ "DimGray", 105, 105, 105 },
-{ "DimGrey", 105, 105, 105 },
-{ "SlateGray", 112, 128, 144 },
-{ "SlateGrey", 112, 128, 144 },
-{ "LightSlateGray", 119, 136, 153 },
-{ "LightSlateGrey", 119, 136, 153 },
-{ "gray", 190, 190, 190 },
-{ "grey", 190, 190, 190 },
-{ "LightGrey", 211, 211, 211 },
-{ "LightGray", 211, 211, 211 },
-{ "MidnightBlue", 25, 25, 112 },
-{ "navy", 0, 0, 128 },
-{ "NavyBlue", 0, 0, 128 },
-{ "CornflowerBlue", 100, 149, 237 },
-{ "DarkSlateBlue", 72, 61, 139 },
-{ "SlateBlue", 106, 90, 205 },
-{ "MediumSlateBlue", 123, 104, 238 },
-{ "LightSlateBlue", 132, 112, 255 },
-{ "MediumBlue", 0, 0, 205 },
-{ "RoyalBlue", 65, 105, 225 },
-{ "blue", 0, 0, 255 },
-{ "DodgerBlue", 30, 144, 255 },
-{ "DeepSkyBlue", 0, 191, 255 },
-{ "SkyBlue", 135, 206, 235 },
-{ "LightSkyBlue", 135, 206, 250 },
-{ "SteelBlue", 70, 130, 180 },
-{ "LightSteelBlue", 176, 196, 222 },
-{ "LightBlue", 173, 216, 230 },
-{ "PowderBlue", 176, 224, 230 },
-{ "PaleTurquoise", 175, 238, 238 },
-{ "DarkTurquoise", 0, 206, 209 },
-{ "MediumTurquoise", 72, 209, 204 },
-{ "turquoise", 64, 224, 208 },
-{ "cyan", 0, 255, 255 },
-{ "LightCyan", 224, 255, 255 },
-{ "CadetBlue", 95, 158, 160 },
-{ "MediumAquamarine", 102, 205, 170 },
-{ "aquamarine", 127, 255, 212 },
-{ "DarkGreen", 0, 100, 0 },
-{ "DarkOliveGreen", 85, 107, 47 },
-{ "DarkSeaGreen", 143, 188, 143 },
-{ "SeaGreen", 46, 139, 87 },
-{ "MediumSeaGreen", 60, 179, 113 },
-{ "LightSeaGreen", 32, 178, 170 },
-{ "PaleGreen", 152, 251, 152 },
-{ "SpringGreen", 0, 255, 127 },
-{ "LawnGreen", 124, 252, 0 },
-{ "green", 0, 255, 0 },
-{ "chartreuse", 127, 255, 0 },
-{ "MediumSpringGreen", 0, 250, 154 },
-{ "GreenYellow", 173, 255 , 47 },
-{ "LimeGreen", 50, 205, 50 },
-{ "YellowGreen", 154, 205, 50 },
-{ "ForestGreen", 34, 139, 34 },
-{ "OliveDrab", 107, 142, 35 },
-{ "DarkKhaki", 189, 183, 107 },
-{ "khaki", 240, 230, 140 },
-{ "PaleGoldenrod", 238, 232, 170 },
-{ "LightGoldenrodYellow", 250, 250, 210 },
-{ "LightYellow", 255, 255, 224 },
-{ "yellow", 255, 255, 0 },
-{ "gold", 255, 215, 0 },
-{ "LightGoldenrod", 238, 221, 130 },
-{ "goldenrod", 218, 165, 32 },
-{ "DarkGoldenrod", 184, 134, 11 },
-{ "RosyBrown", 188, 143, 143 },
-{ "IndianRed", 205, 92, 92 },
-{ "SaddleBrown", 139, 69, 19 },
-{ "sienna", 160, 82, 45 },
-{ "peru", 205, 133, 63 },
-{ "burlywood", 222, 184, 135 },
-{ "beige", 245, 245, 220 },
-{ "wheat", 245, 222, 179 },
-{ "SandyBrown", 244, 164, 96 },
-{ "tan", 210, 180, 140 },
-{ "chocolate", 210, 105, 30 },
-{ "firebrick", 178, 34, 34 },
-{ "brown", 165, 42, 42 },
-{ "DarkSalmon", 233, 150, 122 },
-{ "salmon", 250, 128, 114 },
-{ "LightSalmon", 255, 160, 122 },
-{ "orange", 255, 165, 0 },
-{ "DarkOrange", 255, 140, 0 },
-{ "coral", 255, 127, 80 },
-{ "LightCoral", 240, 128, 128 },
-{ "tomato", 255, 99, 71 },
-{ "OrangeRed", 255, 69, 0 },
-{ "red", 255, 0, 0 },
-{ "HotPink", 255, 105, 180 },
-{ "DeepPink", 255, 20, 147 },
-{ "pink", 255, 192, 203 },
-{ "LightPink", 255, 182, 193 },
-{ "PaleVioletRed", 219, 112, 147 },
-{ "maroon", 176, 48, 96 },
-{ "MediumVioletRed", 199, 21, 133 },
-{ "VioletRed", 208, 32, 144 },
-{ "magenta", 255, 0, 255 },
-{ "violet", 238, 130, 238 },
-{ "plum", 221, 160, 221 },
-{ "orchid", 218, 112, 214 },
-{ "MediumOrchid", 186, 85, 211 },
-{ "DarkOrchid", 153, 50, 204 },
-{ "DarkViolet", 148, 0, 211 },
-{ "BlueViolet", 138, 43, 226 },
-{ "purple", 160, 32, 240 },
-{ "MediumPurple", 147, 112, 219 },
-{ "thistle", 216, 191, 216 },
-{ "snow1", 255, 250, 250 },
-{ "snow2", 238, 233, 233 },
-{ "snow3", 205, 201, 201 },
-{ "snow4", 139, 137, 137 },
-{ "seashell1", 255, 245, 238 },
-{ "seashell2", 238, 229, 222 },
-{ "seashell3", 205, 197, 191 },
-{ "seashell4", 139, 134, 130 },
-{ "AntiqueWhite1", 255, 239, 219 },
-{ "AntiqueWhite2", 238, 223, 204 },
-{ "AntiqueWhite3", 205, 192, 176 },
-{ "AntiqueWhite4", 139, 131, 120 },
-{ "bisque1", 255, 228, 196 },
-{ "bisque2", 238, 213, 183 },
-{ "bisque3", 205, 183, 158 },
-{ "bisque4", 139, 125, 107 },
-{ "PeachPuff1", 255, 218, 185 },
-{ "PeachPuff2", 238, 203, 173 },
-{ "PeachPuff3", 205, 175, 149 },
-{ "PeachPuff4", 139, 119, 101 },
-{ "NavajoWhite1", 255, 222, 173 },
-{ "NavajoWhite2", 238, 207, 161 },
-{ "NavajoWhite3", 205, 179, 139 },
-{ "NavajoWhite4", 139, 121, 94 },
-{ "LemonChiffon1", 255, 250, 205 },
-{ "LemonChiffon2", 238, 233, 191 },
-{ "LemonChiffon3", 205, 201, 165 },
-{ "LemonChiffon4", 139, 137, 112 },
-{ "cornsilk1", 255, 248, 220 },
-{ "cornsilk2", 238, 232, 205 },
-{ "cornsilk3", 205, 200, 177 },
-{ "cornsilk4", 139, 136, 120 },
-{ "ivory1", 255, 255, 240 },
-{ "ivory2", 238, 238, 224 },
-{ "ivory3", 205, 205, 193 },
-{ "ivory4", 139, 139, 131 },
-{ "honeydew1", 240, 255, 240 },
-{ "honeydew2", 224, 238, 224 },
-{ "honeydew3", 193, 205, 193 },
-{ "honeydew4", 131, 139, 131 },
-{ "LavenderBlush1", 255, 240, 245 },
-{ "LavenderBlush2", 238, 224, 229 },
-{ "LavenderBlush3", 205, 193, 197 },
-{ "LavenderBlush4", 139, 131, 134 },
-{ "MistyRose1", 255, 228, 225 },
-{ "MistyRose2", 238, 213, 210 },
-{ "MistyRose3", 205, 183, 181 },
-{ "MistyRose4", 139, 125, 123 },
-{ "azure1", 240, 255, 255 },
-{ "azure2", 224, 238, 238 },
-{ "azure3", 193, 205, 205 },
-{ "azure4", 131, 139, 139 },
-{ "SlateBlue1", 131, 111, 255 },
-{ "SlateBlue2", 122, 103, 238 },
-{ "SlateBlue3", 105, 89, 205 },
-{ "SlateBlue4", 71, 60, 139 },
-{ "RoyalBlue1", 72, 118, 255 },
-{ "RoyalBlue2", 67, 110, 238 },
-{ "RoyalBlue3", 58, 95, 205 },
-{ "RoyalBlue4", 39, 64, 139 },
-{ "blue1", 0, 0, 255 },
-{ "blue2", 0, 0, 238 },
-{ "blue3", 0, 0, 205 },
-{ "blue4", 0, 0, 139 },
-{ "DodgerBlue1", 30, 144, 255 },
-{ "DodgerBlue2", 28, 134, 238 },
-{ "DodgerBlue3", 24, 116, 205 },
-{ "DodgerBlue4", 16, 78, 139 },
-{ "SteelBlue1", 99, 184, 255 },
-{ "SteelBlue2", 92, 172, 238 },
-{ "SteelBlue3", 79, 148, 205 },
-{ "SteelBlue4", 54, 100, 139 },
-{ "DeepSkyBlue1", 0, 191, 255 },
-{ "DeepSkyBlue2", 0, 178, 238 },
-{ "DeepSkyBlue3", 0, 154, 205 },
-{ "DeepSkyBlue4", 0, 104, 139 },
-{ "SkyBlue1", 135, 206, 255 },
-{ "SkyBlue2", 126, 192, 238 },
-{ "SkyBlue3", 108, 166, 205 },
-{ "SkyBlue4", 74, 112, 139 },
-{ "LightSkyBlue1", 176, 226, 255 },
-{ "LightSkyBlue2", 164, 211, 238 },
-{ "LightSkyBlue3", 141, 182, 205 },
-{ "LightSkyBlue4", 96, 123, 139 },
-{ "SlateGray1", 198, 226, 255 },
-{ "SlateGray2", 185, 211, 238 },
-{ "SlateGray3", 159, 182, 205 },
-{ "SlateGray4", 108, 123, 139 },
-{ "LightSteelBlue1", 202, 225, 255 },
-{ "LightSteelBlue2", 188, 210, 238 },
-{ "LightSteelBlue3", 162, 181, 205 },
-{ "LightSteelBlue4", 110, 123, 139 },
-{ "LightBlue1", 191, 239, 255 },
-{ "LightBlue2", 178, 223, 238 },
-{ "LightBlue3", 154, 192, 205 },
-{ "LightBlue4", 104, 131, 139 },
-{ "LightCyan1", 224, 255, 255 },
-{ "LightCyan2", 209, 238, 238 },
-{ "LightCyan3", 180, 205, 205 },
-{ "LightCyan4", 122, 139, 139 },
-{ "PaleTurquoise1", 187, 255, 255 },
-{ "PaleTurquoise2", 174, 238, 238 },
-{ "PaleTurquoise3", 150, 205, 205 },
-{ "PaleTurquoise4", 102, 139, 139 },
-{ "CadetBlue1", 152, 245, 255 },
-{ "CadetBlue2", 142, 229, 238 },
-{ "CadetBlue3", 122, 197, 205 },
-{ "CadetBlue4", 83, 134, 139 },
-{ "turquoise1", 0, 245, 255 },
-{ "turquoise2", 0, 229, 238 },
-{ "turquoise3", 0, 197, 205 },
-{ "turquoise4", 0, 134, 139 },
-{ "cyan1", 0, 255, 255 },
-{ "cyan2", 0, 238, 238 },
-{ "cyan3", 0, 205, 205 },
-{ "cyan4", 0, 139, 139 },
-{ "DarkSlateGray1", 151, 255, 255 },
-{ "DarkSlateGray2", 141, 238, 238 },
-{ "DarkSlateGray3", 121, 205, 205 },
-{ "DarkSlateGray4", 82, 139, 139 },
-{ "aquamarine1", 127, 255, 212 },
-{ "aquamarine2", 118, 238, 198 },
-{ "aquamarine3", 102, 205, 170 },
-{ "aquamarine4", 69, 139, 116 },
-{ "DarkSeaGreen1", 193, 255, 193 },
-{ "DarkSeaGreen2", 180, 238, 180 },
-{ "DarkSeaGreen3", 155, 205, 155 },
-{ "DarkSeaGreen4", 105, 139, 105 },
-{ "SeaGreen1", 84, 255, 159 },
-{ "SeaGreen2", 78, 238, 148 },
-{ "SeaGreen3", 67, 205, 128 },
-{ "SeaGreen4", 46, 139, 87 },
-{ "PaleGreen1", 154, 255, 154 },
-{ "PaleGreen2", 144, 238, 144 },
-{ "PaleGreen3", 124, 205, 124 },
-{ "PaleGreen4", 84, 139, 84 },
-{ "SpringGreen1", 0, 255, 127 },
-{ "SpringGreen2", 0, 238, 118 },
-{ "SpringGreen3", 0, 205, 102 },
-{ "SpringGreen4", 0, 139, 69 },
-{ "green1", 0, 255, 0 },
-{ "green2", 0, 238, 0 },
-{ "green3", 0, 205, 0 },
-{ "green4", 0, 139, 0 },
-{ "chartreuse1", 127, 255, 0 },
-{ "chartreuse2", 118, 238, 0 },
-{ "chartreuse3", 102, 205, 0 },
-{ "chartreuse4", 69, 139, 0 },
-{ "OliveDrab1", 192, 255, 62 },
-{ "OliveDrab2", 179, 238, 58 },
-{ "OliveDrab3", 154, 205, 50 },
-{ "OliveDrab4", 105, 139, 34 },
-{ "DarkOliveGreen1", 202, 255, 112 },
-{ "DarkOliveGreen2", 188, 238, 104 },
-{ "DarkOliveGreen3", 162, 205, 90 },
-{ "DarkOliveGreen4", 110, 139, 61 },
-{ "khaki1", 255, 246, 143 },
-{ "khaki2", 238, 230, 133 },
-{ "khaki3", 205, 198, 115 },
-{ "khaki4", 139, 134, 78 },
-{ "LightGoldenrod1", 255, 236, 139 },
-{ "LightGoldenrod2", 238, 220, 130 },
-{ "LightGoldenrod3", 205, 190, 112 },
-{ "LightGoldenrod4", 139, 129, 76 },
-{ "LightYellow1", 255, 255, 224 },
-{ "LightYellow2", 238, 238, 209 },
-{ "LightYellow3", 205, 205, 180 },
-{ "LightYellow4", 139, 139, 122 },
-{ "yellow1", 255, 255, 0 },
-{ "yellow2", 238, 238, 0 },
-{ "yellow3", 205, 205, 0 },
-{ "yellow4", 139, 139, 0 },
-{ "gold1", 255, 215, 0 },
-{ "gold2", 238, 201, 0 },
-{ "gold3", 205, 173, 0 },
-{ "gold4", 139, 117, 0 },
-{ "goldenrod1", 255, 193, 37 },
-{ "goldenrod2", 238, 180, 34 },
-{ "goldenrod3", 205, 155, 29 },
-{ "goldenrod4", 139, 105, 20 },
-{ "DarkGoldenrod1", 255, 185, 15 },
-{ "DarkGoldenrod2", 238, 173, 14 },
-{ "DarkGoldenrod3", 205, 149, 12 },
-{ "DarkGoldenrod4", 139, 101, 8 },
-{ "RosyBrown1", 255, 193, 193 },
-{ "RosyBrown2", 238, 180, 180 },
-{ "RosyBrown3", 205, 155, 155 },
-{ "RosyBrown4", 139, 105, 105 },
-{ "IndianRed1", 255, 106, 106 },
-{ "IndianRed2", 238, 99, 99 },
-{ "IndianRed3", 205, 85, 85 },
-{ "IndianRed4", 139, 58, 58 },
-{ "sienna1", 255, 130, 71 },
-{ "sienna2", 238, 121, 66 },
-{ "sienna3", 205, 104, 57 },
-{ "sienna4", 139, 71, 38 },
-{ "burlywood1", 255, 211, 155 },
-{ "burlywood2", 238, 197, 145 },
-{ "burlywood3", 205, 170, 125 },
-{ "burlywood4", 139, 115, 85 },
-{ "wheat1", 255, 231, 186 },
-{ "wheat2", 238, 216, 174 },
-{ "wheat3", 205, 186, 150 },
-{ "wheat4", 139, 126, 102 },
-{ "tan1", 255, 165, 79 },
-{ "tan2", 238, 154, 73 },
-{ "tan3", 205, 133, 63 },
-{ "tan4", 139 , 90, 43 },
-{ "chocolate1", 255, 127, 36 },
-{ "chocolate2", 238, 118, 33 },
-{ "chocolate3", 205, 102, 29 },
-{ "chocolate4", 139, 69, 19 },
-{ "firebrick1", 255, 48, 48 },
-{ "firebrick2", 238, 44, 44 },
-{ "firebrick3", 205, 38, 38 },
-{ "firebrick4", 139, 26, 26 },
-{ "brown1", 255, 64, 64 },
-{ "brown2", 238, 59, 59 },
-{ "brown3", 205, 51, 51 },
-{ "brown4", 139, 35, 35 },
-{ "salmon1", 255, 140, 105 },
-{ "salmon2", 238, 130, 98 },
-{ "salmon3", 205, 112, 84 },
-{ "salmon4", 139, 76, 57 },
-{ "LightSalmon1", 255, 160, 122 },
-{ "LightSalmon2", 238, 149, 114 },
-{ "LightSalmon3", 205, 129, 98 },
-{ "LightSalmon4", 139, 87, 66 },
-{ "orange1", 255, 165, 0 },
-{ "orange2", 238, 154, 0 },
-{ "orange3", 205, 133, 0 },
-{ "orange4", 139 , 90, 0 },
-{ "DarkOrange1", 255, 127, 0 },
-{ "DarkOrange2", 238, 118, 0 },
-{ "DarkOrange3", 205, 102, 0 },
-{ "DarkOrange4", 139 , 69, 0 },
-{ "coral1", 255, 114, 86 },
-{ "coral2", 238, 106, 80 },
-{ "coral3", 205, 91, 69 },
-{ "coral4", 139, 62, 47 },
-{ "tomato1", 255, 99, 71 },
-{ "tomato2", 238, 92, 66 },
-{ "tomato3", 205, 79, 57 },
-{ "tomato4", 139, 54, 38 },
-{ "OrangeRed1", 255, 69, 0 },
-{ "OrangeRed2", 238, 64, 0 },
-{ "OrangeRed3", 205, 55, 0 },
-{ "OrangeRed4", 139, 37, 0 },
-{ "red1", 255, 0, 0 },
-{ "red2", 238, 0, 0 },
-{ "red3", 205, 0, 0 },
-{ "red4", 139, 0, 0 },
-{ "DeepPink1", 255, 20, 147 },
-{ "DeepPink2", 238, 18, 137 },
-{ "DeepPink3", 205, 16, 118 },
-{ "DeepPink4", 139, 10, 80 },
-{ "HotPink1", 255, 110, 180 },
-{ "HotPink2", 238, 106, 167 },
-{ "HotPink3", 205, 96, 144 },
-{ "HotPink4", 139, 58, 98 },
-{ "pink1", 255, 181, 197 },
-{ "pink2", 238, 169, 184 },
-{ "pink3", 205, 145, 158 },
-{ "pink4", 139, 99, 108 },
-{ "LightPink1", 255, 174, 185 },
-{ "LightPink2", 238, 162, 173 },
-{ "LightPink3", 205, 140, 149 },
-{ "LightPink4", 139, 95, 101 },
-{ "PaleVioletRed1", 255, 130, 171 },
-{ "PaleVioletRed2", 238, 121, 159 },
-{ "PaleVioletRed3", 205, 104, 137 },
-{ "PaleVioletRed4", 139, 71, 93 },
-{ "maroon1", 255, 52, 179 },
-{ "maroon2", 238, 48, 167 },
-{ "maroon3", 205, 41, 144 },
-{ "maroon4", 139, 28, 98 },
-{ "VioletRed1", 255, 62, 150 },
-{ "VioletRed2", 238, 58, 140 },
-{ "VioletRed3", 205, 50, 120 },
-{ "VioletRed4", 139, 34, 82 },
-{ "magenta1", 255, 0, 255 },
-{ "magenta2", 238, 0, 238 },
-{ "magenta3", 205, 0, 205 },
-{ "magenta4", 139, 0, 139 },
-{ "orchid1", 255, 131, 250 },
-{ "orchid2", 238, 122, 233 },
-{ "orchid3", 205, 105, 201 },
-{ "orchid4", 139, 71, 137 },
-{ "plum1", 255, 187, 255 },
-{ "plum2", 238, 174, 238 },
-{ "plum3", 205, 150, 205 },
-{ "plum4", 139, 102, 139 },
-{ "MediumOrchid1", 224, 102, 255 },
-{ "MediumOrchid2", 209, 95, 238 },
-{ "MediumOrchid3", 180, 82, 205 },
-{ "MediumOrchid4", 122, 55, 139 },
-{ "DarkOrchid1", 191, 62, 255 },
-{ "DarkOrchid2", 178, 58, 238 },
-{ "DarkOrchid3", 154, 50, 205 },
-{ "DarkOrchid4", 104, 34, 139 },
-{ "purple1", 155, 48, 255 },
-{ "purple2", 145, 44, 238 },
-{ "purple3", 125, 38, 205 },
-{ "purple4", 85, 26, 139 },
-{ "MediumPurple1", 171, 130, 255 },
-{ "MediumPurple2", 159, 121, 238 },
-{ "MediumPurple3", 137, 104, 205 },
-{ "MediumPurple4", 93, 71, 139 },
-{ "thistle1", 255, 225, 255 },
-{ "thistle2", 238, 210, 238 },
-{ "thistle3", 205, 181, 205 },
-{ "thistle4", 139, 123, 139 },
-{ "gray0", 0, 0, 0 },
-{ "grey0", 0, 0, 0 },
-{ "gray1", 3, 3, 3 },
-{ "grey1", 3, 3, 3 },
-{ "gray2", 5, 5, 5 },
-{ "grey2", 5, 5, 5 },
-{ "gray3", 8, 8, 8 },
-{ "grey3", 8, 8, 8 },
-{ "gray4", 10, 10, 10 },
-{ "grey4", 10, 10, 10 },
-{ "gray5", 13, 13, 13 },
-{ "grey5", 13, 13, 13 },
-{ "gray6", 15, 15, 15 },
-{ "grey6", 15, 15, 15 },
-{ "gray7", 18, 18, 18 },
-{ "grey7", 18, 18, 18 },
-{ "gray8", 20, 20, 20 },
-{ "grey8", 20, 20, 20 },
-{ "gray9", 23, 23, 23 },
-{ "grey9", 23, 23, 23 },
-{ "gray10", 26, 26, 26 },
-{ "grey10", 26, 26, 26 },
-{ "gray11", 28, 28, 28 },
-{ "grey11", 28, 28, 28 },
-{ "gray12", 31, 31, 31 },
-{ "grey12", 31, 31, 31 },
-{ "gray13", 33, 33, 33 },
-{ "grey13", 33, 33, 33 },
-{ "gray14", 36, 36, 36 },
-{ "grey14", 36, 36, 36 },
-{ "gray15", 38, 38, 38 },
-{ "grey15", 38, 38, 38 },
-{ "gray16", 41, 41, 41 },
-{ "grey16", 41, 41, 41 },
-{ "gray17", 43, 43, 43 },
-{ "grey17", 43, 43, 43 },
-{ "gray18", 46, 46, 46 },
-{ "grey18", 46, 46, 46 },
-{ "gray19", 48, 48, 48 },
-{ "grey19", 48, 48, 48 },
-{ "gray20", 51, 51, 51 },
-{ "grey20", 51, 51, 51 },
-{ "gray21", 54, 54, 54 },
-{ "grey21", 54, 54, 54 },
-{ "gray22", 56, 56, 56 },
-{ "grey22", 56, 56, 56 },
-{ "gray23", 59, 59, 59 },
-{ "grey23", 59, 59, 59 },
-{ "gray24", 61, 61, 61 },
-{ "grey24", 61, 61, 61 },
-{ "gray25", 64, 64, 64 },
-{ "grey25", 64, 64, 64 },
-{ "gray26", 66, 66, 66 },
-{ "grey26", 66, 66, 66 },
-{ "gray27", 69, 69, 69 },
-{ "grey27", 69, 69, 69 },
-{ "gray28", 71, 71, 71 },
-{ "grey28", 71, 71, 71 },
-{ "gray29", 74, 74, 74 },
-{ "grey29", 74, 74, 74 },
-{ "gray30", 77, 77, 77 },
-{ "grey30", 77, 77, 77 },
-{ "gray31", 79, 79, 79 },
-{ "grey31", 79, 79, 79 },
-{ "gray32", 82, 82, 82 },
-{ "grey32", 82, 82, 82 },
-{ "gray33", 84, 84, 84 },
-{ "grey33", 84, 84, 84 },
-{ "gray34", 87, 87, 87 },
-{ "grey34", 87, 87, 87 },
-{ "gray35", 89, 89, 89 },
-{ "grey35", 89, 89, 89 },
-{ "gray36", 92, 92, 92 },
-{ "grey36", 92, 92, 92 },
-{ "gray37", 94, 94, 94 },
-{ "grey37", 94, 94, 94 },
-{ "gray38", 97, 97, 97 },
-{ "grey38", 97, 97, 97 },
-{ "gray39", 99, 99, 99 },
-{ "grey39", 99, 99, 99 },
-{ "gray40", 102, 102, 102 },
-{ "grey40", 102, 102, 102 },
-{ "gray41", 105, 105, 105 },
-{ "grey41", 105, 105, 105 },
-{ "gray42", 107, 107, 107 },
-{ "grey42", 107, 107, 107 },
-{ "gray43", 110, 110, 110 },
-{ "grey43", 110, 110, 110 },
-{ "gray44", 112, 112, 112 },
-{ "grey44", 112, 112, 112 },
-{ "gray45", 115, 115, 115 },
-{ "grey45", 115, 115, 115 },
-{ "gray46", 117, 117, 117 },
-{ "grey46", 117, 117, 117 },
-{ "gray47", 120, 120, 120 },
-{ "grey47", 120, 120, 120 },
-{ "gray48", 122, 122, 122 },
-{ "grey48", 122, 122, 122 },
-{ "gray49", 125, 125, 125 },
-{ "grey49", 125, 125, 125 },
-{ "gray50", 127, 127, 127 },
-{ "grey50", 127, 127, 127 },
-{ "gray51", 130, 130, 130 },
-{ "grey51", 130, 130, 130 },
-{ "gray52", 133, 133, 133 },
-{ "grey52", 133, 133, 133 },
-{ "gray53", 135, 135, 135 },
-{ "grey53", 135, 135, 135 },
-{ "gray54", 138, 138, 138 },
-{ "grey54", 138, 138, 138 },
-{ "gray55", 140, 140, 140 },
-{ "grey55", 140, 140, 140 },
-{ "gray56", 143, 143, 143 },
-{ "grey56", 143, 143, 143 },
-{ "gray57", 145, 145, 145 },
-{ "grey57", 145, 145, 145 },
-{ "gray58", 148, 148, 148 },
-{ "grey58", 148, 148, 148 },
-{ "gray59", 150, 150, 150 },
-{ "grey59", 150, 150, 150 },
-{ "gray60", 153, 153, 153 },
-{ "grey60", 153, 153, 153 },
-{ "gray61", 156, 156, 156 },
-{ "grey61", 156, 156, 156 },
-{ "gray62", 158, 158, 158 },
-{ "grey62", 158, 158, 158 },
-{ "gray63", 161, 161, 161 },
-{ "grey63", 161, 161, 161 },
-{ "gray64", 163, 163, 163 },
-{ "grey64", 163, 163, 163 },
-{ "gray65", 166, 166, 166 },
-{ "grey65", 166, 166, 166 },
-{ "gray66", 168, 168, 168 },
-{ "grey66", 168, 168, 168 },
-{ "gray67", 171, 171, 171 },
-{ "grey67", 171, 171, 171 },
-{ "gray68", 173, 173, 173 },
-{ "grey68", 173, 173, 173 },
-{ "gray69", 176, 176, 176 },
-{ "grey69", 176, 176, 176 },
-{ "gray70", 179, 179, 179 },
-{ "grey70", 179, 179, 179 },
-{ "gray71", 181, 181, 181 },
-{ "grey71", 181, 181, 181 },
-{ "gray72", 184, 184, 184 },
-{ "grey72", 184, 184, 184 },
-{ "gray73", 186, 186, 186 },
-{ "grey73", 186, 186, 186 },
-{ "gray74", 189, 189, 189 },
-{ "grey74", 189, 189, 189 },
-{ "gray75", 191, 191, 191 },
-{ "grey75", 191, 191, 191 },
-{ "gray76", 194, 194, 194 },
-{ "grey76", 194, 194, 194 },
-{ "gray77", 196, 196, 196 },
-{ "grey77", 196, 196, 196 },
-{ "gray78", 199, 199, 199 },
-{ "grey78", 199, 199, 199 },
-{ "gray79", 201, 201, 201 },
-{ "grey79", 201, 201, 201 },
-{ "gray80", 204, 204, 204 },
-{ "grey80", 204, 204, 204 },
-{ "gray81", 207, 207, 207 },
-{ "grey81", 207, 207, 207 },
-{ "gray82", 209, 209, 209 },
-{ "grey82", 209, 209, 209 },
-{ "gray83", 212, 212, 212 },
-{ "grey83", 212, 212, 212 },
-{ "gray84", 214, 214, 214 },
-{ "grey84", 214, 214, 214 },
-{ "gray85", 217, 217, 217 },
-{ "grey85", 217, 217, 217 },
-{ "gray86", 219, 219, 219 },
-{ "grey86", 219, 219, 219 },
-{ "gray87", 222, 222, 222 },
-{ "grey87", 222, 222, 222 },
-{ "gray88", 224, 224, 224 },
-{ "grey88", 224, 224, 224 },
-{ "gray89", 227, 227, 227 },
-{ "grey89", 227, 227, 227 },
-{ "gray90", 229, 229, 229 },
-{ "grey90", 229, 229, 229 },
-{ "gray91", 232, 232, 232 },
-{ "grey91", 232, 232, 232 },
-{ "gray92", 235, 235, 235 },
-{ "grey92", 235, 235, 235 },
-{ "gray93", 237, 237, 237 },
-{ "grey93", 237, 237, 237 },
-{ "gray94", 240, 240, 240 },
-{ "grey94", 240, 240, 240 },
-{ "gray95", 242, 242, 242 },
-{ "grey95", 242, 242, 242 },
-{ "gray96", 245, 245, 245 },
-{ "grey96", 245, 245, 245 },
-{ "gray97", 247, 247, 247 },
-{ "grey97", 247, 247, 247 },
-{ "gray98", 250, 250, 250 },
-{ "grey98", 250, 250, 250 },
-{ "gray99", 252, 252, 252 },
-{ "grey99", 252, 252, 252 },
-{ "gray100", 255, 255, 255 },
-{ "grey100", 255, 255, 255 },
-{ "DarkGrey", 169, 169, 169 },
-{ "DarkGray", 169, 169, 169 },
-{ "DarkBlue", 0, 0, 139 },
-{ "DarkCyan", 0, 139, 139 },
-{ "DarkMagenta", 139, 0, 139 },
-{ "DarkRed", 139, 0, 0 },
-{ "LightGreen", 144, 238, 144 },
-{ NULL, 0 , 0, 0}
-};
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svtools/source/filter/ixpm/xpmread.cxx b/svtools/source/filter/ixpm/xpmread.cxx
deleted file mode 100644
index b5b3c6e2a9..0000000000
--- a/svtools/source/filter/ixpm/xpmread.cxx
+++ /dev/null
@@ -1,701 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_svtools.hxx"
-
-#include <vcl/bmpacc.hxx>
-#include <vcl/graph.hxx>
-#include "rgbtable.hxx"
-#define _XPMPRIVATE
-#include "xpmread.hxx"
-
-// -------------
-// - XPMReader -
-// -------------
-
-XPMReader::XPMReader( SvStream& rStm ) :
- mrIStm ( rStm ),
- mpAcc ( NULL ),
- mpMaskAcc ( NULL ),
- mnLastPos ( rStm.Tell() ),
- mnWidth ( 0 ),
- mnHeight ( 0 ),
- mnColors ( 0 ),
- mnCpp ( 0 ),
- mbTransparent ( sal_False ),
- mbStatus ( sal_True ),
- mnStatus ( 0 ),
- mnIdentifier ( XPMIDENTIFIER ),
- mcThisByte ( 0 ),
- mnTempAvail ( 0 ),
- mpFastColorTable( NULL ),
- mpColMap ( NULL )
-{
-
-}
-
-// ------------------------------------------------------------------------
-
-XPMReader::~XPMReader()
-{
- if( mpAcc )
- maBmp.ReleaseAccess( mpAcc );
-}
-
-// ------------------------------------------------------------------------
-
-#ifdef _MSC_VER
-#pragma optimize ("",off)
-#endif
-
-ReadState XPMReader::ReadXPM( Graphic& rGraphic )
-{
- ReadState eReadState;
- sal_uInt8 cDummy;
-
- // sehen, ob wir _alles_ lesen koennen
- mrIStm.Seek( STREAM_SEEK_TO_END );
- mrIStm >> cDummy;
-
- // falls wir nicht alles lesen koennen
- // kehren wir zurueck und warten auf neue Daten
- if ( mrIStm.GetError() != ERRCODE_IO_PENDING )
- {
- mrIStm.Seek( mnLastPos );
- mbStatus = sal_True;
-
- if ( mbStatus )
- {
- mpStringBuf = new sal_uInt8 [ XPMSTRINGBUF ];
- mpTempBuf = new sal_uInt8 [ XPMTEMPBUFSIZE ];
-
- if ( ( mbStatus = ImplGetString() ) == sal_True )
- {
- mnIdentifier = XPMVALUES; // Bitmap informationen einholen
- mnWidth = ImplGetULONG( 0 );
- mnHeight = ImplGetULONG( 1 );
- mnColors = ImplGetULONG( 2 );
- mnCpp = ImplGetULONG( 3 );
- }
- if ( mnColors > ( SAL_MAX_UINT32 / ( 4 + mnCpp ) ) )
- mbStatus = sal_False;
- if ( ( mnWidth * mnCpp ) >= XPMSTRINGBUF )
- mbStatus = sal_False;
- if ( mbStatus && mnWidth && mnHeight && mnColors && mnCpp )
- {
- mnIdentifier = XPMCOLORS;
-
- // mpColMap beinhaltet fuer jede vorhandene
- // Farbe: ( mnCpp )Byte(s)-> ASCII Eintrag der der Farbe zugeordnet ist
- // 1 Byte -> 0xff wenn Farbe transparent ist
- // 3 Bytes -> RGB Wert der Farbe
- mpColMap = new sal_uInt8[ mnColors * ( 4 + mnCpp ) ];
- if ( mpColMap )
- {
- for ( sal_uLong i = 0; i < mnColors; i++ )
- {
- if ( ImplGetColor( i ) == sal_False )
- {
- mbStatus = sal_False;
- break;
- }
- }
- }
- else
- mbStatus = sal_False;
-
- if ( mbStatus )
- {
- // bei mehr als 256 Farben wird eine 24 Bit Grafik erstellt
- sal_uInt16 nBits = 1;
- if ( mnColors > 256 )
- nBits = 24;
- else if ( mnColors > 16 )
- nBits = 8;
- else if ( mnColors > 2 )
- nBits = 4;
- else
- nBits = 1;
-
- maBmp = Bitmap( Size( mnWidth, mnHeight ), nBits );
- mpAcc = maBmp.AcquireWriteAccess();
-
- // mbTransparent ist sal_True wenn mindestens eine Farbe Transparent ist
- if ( mbTransparent )
- {
- maMaskBmp = Bitmap( Size( mnWidth, mnHeight ), 1 );
- if ( ( mpMaskAcc = maMaskBmp.AcquireWriteAccess() ) == NULL )
- mbStatus = sal_False;
- }
- if( mpAcc && mbStatus )
- {
- sal_uLong i;
- if ( mnColors <=256 ) // palette is only needed by using less than 257
- { // colors
-
- sal_uInt8* pPtr = &mpColMap[mnCpp];
-
- for ( i = 0; i < mnColors; i++ )
- {
- mpAcc->SetPaletteColor( (sal_uInt8)i, Color( pPtr[1], pPtr[2], pPtr[3] ) );
- pPtr += ( mnCpp + 4 );
- }
- // using 2 charakters per pixel and less than 257 Colors we speed up
- if ( mnCpp == 2 ) // by using a 64kb indexing table
- {
- mpFastColorTable = new sal_uInt8[ 256 * 256 ];
- for ( pPtr = mpColMap, i = 0; i < mnColors; i++, pPtr += mnCpp + 4 )
- {
- sal_uLong j = pPtr[ 0 ] << 8;
- j += pPtr[ 1 ];
- mpFastColorTable[ j ] = (sal_uInt8)i;
- }
- }
- }
- // now we get the bitmap data
- mnIdentifier = XPMPIXELS;
- for ( i = 0; i < mnHeight; i++ )
- {
- if ( ImplGetScanLine( i ) == sal_False )
- {
- mbStatus = sal_False;
- break;
- }
- }
- mnIdentifier = XPMEXTENSIONS;
- }
- }
- }
-
- delete[] mpFastColorTable;
- delete[] mpColMap;
- delete[] mpStringBuf;
- delete[] mpTempBuf;
-
- }
- if( mbStatus )
- {
- if ( mpMaskAcc )
- {
- maMaskBmp.ReleaseAccess ( mpMaskAcc), mpMaskAcc = NULL;
- maBmp.ReleaseAccess( mpAcc ), mpAcc = NULL;
- rGraphic = Graphic( BitmapEx( maBmp, maMaskBmp ) );
- }
- else
- {
- maBmp.ReleaseAccess( mpAcc ), mpAcc = NULL;
- rGraphic = maBmp;
- }
- eReadState = XPMREAD_OK;
- }
- else
- {
- if ( mpMaskAcc ) maMaskBmp.ReleaseAccess ( mpMaskAcc), mpMaskAcc = NULL;
- if ( mpAcc ) maBmp.ReleaseAccess( mpAcc ), mpAcc = NULL;
- eReadState = XPMREAD_ERROR;
- }
- }
- else
- {
- mrIStm.ResetError();
- eReadState = XPMREAD_NEED_MORE;
- }
- return eReadState;
-}
-
-#ifdef _MSC_VER
-#pragma optimize ("",on)
-#endif
-
-// ------------------------------------------------------------------------
-// ImplGetColor ermittelt saemtliche Farbwerte,
-// die Rueckgabe ist sal_True wenn saemtliche Farben zugeordnet werden konnten
-
-sal_Bool XPMReader::ImplGetColor( sal_uLong nNumb )
-{
- sal_uInt8* pString = mpStringBuf;
- sal_uInt8* pPtr = ( mpColMap + nNumb * ( 4 + mnCpp ) );
- sal_Bool bStatus = ImplGetString();
-
- if ( bStatus )
- {
- for ( sal_uLong i = 0; i < mnCpp; i++ )
- *pPtr++ = *pString++;
- bStatus = ImplGetColSub ( pPtr );
- }
- return bStatus;
-}
-
-// ------------------------------------------------------------------------
-// ImpGetScanLine liest den String mpBufSize aus und schreibt die Pixel in die
-// Bitmap. Der Parameter nY gibt die horizontale Position an.
-
-sal_Bool XPMReader::ImplGetScanLine( sal_uLong nY )
-{
- sal_Bool bStatus = ImplGetString();
- sal_uInt8* pString = mpStringBuf;
- sal_uInt8* pColor;
- BitmapColor aWhite;
- BitmapColor aBlack;
-
- if ( bStatus )
- {
- if ( mpMaskAcc )
- {
- aWhite = mpMaskAcc->GetBestMatchingColor( Color( COL_WHITE ) );
- aBlack = mpMaskAcc->GetBestMatchingColor( Color( COL_BLACK ) );
- }
- if ( mnStringSize != ( mnWidth * mnCpp ))
- bStatus = sal_False;
- else
- {
- sal_uLong i, j;
- if ( mpFastColorTable )
- {
- for ( i = 0; i < mnWidth; i++ )
- {
- j = (*pString++) << 8;
- j += *pString++;
- sal_uInt8 k = (sal_uInt8)mpFastColorTable[ j ];
- mpAcc->SetPixel( nY, i, BitmapColor( (sal_uInt8)k ) );
-
- if ( mpMaskAcc )
- mpMaskAcc->SetPixel( nY, i,
- ( mpColMap[ k * (mnCpp + 4) + mnCpp] ) ? aWhite : aBlack );
- }
- }
- else for ( i = 0; i < mnWidth; i++ )
- {
- pColor = mpColMap;
- for ( j = 0; j < mnColors; j++ )
- {
- if ( ImplCompare( pString, pColor, mnCpp, XPMCASESENSITIVE ) == sal_True )
- {
- if ( mnColors > 256 )
- mpAcc->SetPixel( nY, i, Color ( pColor[3], pColor[4], pColor[5] ) );
- else
- mpAcc->SetPixel( nY, i, BitmapColor( (sal_uInt8) j ) );
-
- if ( mpMaskAcc )
- mpMaskAcc->SetPixel( nY, i, (
- pColor[ mnCpp ] ) ? aWhite : aBlack );
-
- break;
- }
- pColor += ( mnCpp + 4 );
- }
- pString += mnCpp;
- }
-
- }
- }
- return bStatus;
-}
-
-// ------------------------------------------------------------------------
-// versucht aus mpStringBuf einen Farbwert zu uebermitteln
-// wurde eine Farbe gefunden wird an pDest[1]..pDest[2] der RGB wert geschrieben
-// pDest[0] enthaelt 0xff wenn die Farbe transparent ist sonst 0
-
-sal_Bool XPMReader::ImplGetColSub( sal_uInt8* pDest )
-{
- unsigned char cTransparent[] = "None";
-
- sal_Bool bColStatus = sal_False;
-
- if ( ImplGetColKey( 'c' ) || ImplGetColKey( 'm' ) || ImplGetColKey( 'g' ) )
- {
- // hexentry for RGB or HSV color ?
- if ( *mpPara == '#' )
- {
- *pDest++ = 0;
- bColStatus = sal_True;
- switch ( mnParaSize )
- {
- case 25 :
- ImplGetRGBHex ( pDest, 6 );
- break;
- case 13 :
- ImplGetRGBHex ( pDest, 2 );
- break;
- case 7 :
- ImplGetRGBHex ( pDest, 0 );
- break;
- default:
- bColStatus = sal_False;
- break;
- }
- }
- // maybe pixel is transparent
- else if ( ImplCompare( &cTransparent[0], mpPara, 4 ))
- {
- *pDest++ = 0xff;
- bColStatus = sal_True;
- mbTransparent = sal_True;
- }
- // last we will try to get the colorname
- else if ( mnParaSize > 2 ) // name must enlarge the minimum size
- {
- sal_uLong i = 0;
- while ( sal_True )
- {
- if ( pRGBTable[ i ].name == NULL )
- break;
- if ( pRGBTable[ i ].name[ mnParaSize ] == 0 )
- {
- if ( ImplCompare ( (unsigned char*)pRGBTable[ i ].name,
- mpPara, mnParaSize, XPMCASENONSENSITIVE ) )
- {
- bColStatus = sal_True;
- *pDest++ = 0;
- *pDest++ = pRGBTable[ i ].red;
- *pDest++ = pRGBTable[ i ].green;
- *pDest++ = pRGBTable[ i ].blue;
- }
- }
- i++;
- }
- }
- }
- return bColStatus;
-}
-
-// ------------------------------------------------------------------------
-// ImplGetColKey durchsuch den String mpStringBuf nach einem Parameter 'nKey'
-// und gibt einen sal_Bool zurueck. ( wenn sal_True werden mpPara und mnParaSize gesetzt )
-
-sal_Bool XPMReader::ImplGetColKey( sal_uInt8 nKey )
-{
- sal_uInt8 nTemp, nPrev = ' ';
-
- mpPara = mpStringBuf + mnCpp + 1;
- mnParaSize = 0;
-
- while ( *mpPara != 0 )
- {
- if ( *mpPara == nKey )
- {
- nTemp = *( mpPara + 1 );
- if ( nTemp == ' ' || nTemp == 0x09 )
- {
- if ( nPrev == ' ' || nPrev == 0x09 )
- break;
- }
- }
- nPrev = *mpPara;
- mpPara++;
- }
- if ( *mpPara )
- {
- mpPara++;
- while ( (*mpPara == ' ') || (*mpPara == 0x09) )
- {
- mpPara++;
- }
- if ( *mpPara != 0 )
- {
- while ( *(mpPara+mnParaSize) != ' ' && *(mpPara+mnParaSize) != 0x09 &&
- *(mpPara+mnParaSize) != 0 )
- {
- mnParaSize++;
- }
- }
- }
- return ( mnParaSize ) ? sal_True : sal_False;
-}
-
-// ------------------------------------------------------------------------
-// ImplGetRGBHex uebersetzt den ASCII-Hexadezimalwert der sich bei mpPara befindet
-// in einen RGB wert und schreibt diesen nach pDest
-// folgende Formate muessen sich bei mpPara befinden:
-// wenn nAdd = 0 : '#12ab12' -> RGB = 0x12, 0xab, 0x12
-// 2 : '#1234abcd1234' " " " "
-// 6 : '#12345678abcdefab12345678' " " " "
-
-
-void XPMReader::ImplGetRGBHex( sal_uInt8* pDest,sal_uLong nAdd )
-{
- sal_uInt8* pPtr = mpPara+1;
- sal_uInt8 nHex, nTemp;
-
- for ( sal_uLong i = 0; i < 3; i++ )
- {
- nHex = (*pPtr++) - '0';
- if ( nHex > 9 )
- nHex = ((nHex - 'A' + '0') & 7) + 10;
-
- nTemp = (*pPtr++) - '0';
- if ( nTemp > 9 )
- nTemp = ((nTemp - 'A' + '0') & 7) + 10;
- nHex = ( nHex << 4 ) + nTemp;
-
- pPtr += nAdd;
- *pDest++ = (sal_uInt8)nHex;
- }
-}
-
-// ------------------------------------------------------------------------
-// ImplGetUlong gibt den wert einer bis zu 6stelligen ASCII-Dezimalzahl zurueck.
-
-sal_uLong XPMReader::ImplGetULONG( sal_uLong nPara )
-{
- if ( ImplGetPara ( nPara ) )
- {
- sal_uLong nRetValue = 0;
- sal_uInt8* pPtr = mpPara;
-
- if ( ( mnParaSize > 6 ) || ( mnParaSize == 0 ) ) return 0;
- for ( sal_uLong i = 0; i < mnParaSize; i++ )
- {
- sal_uInt8 j = (*pPtr++) - 48;
- if ( j > 9 ) return 0; // ascii is invalid
- nRetValue*=10;
- nRetValue+=j;
- }
- return nRetValue;
- }
- else return 0;
-}
-
-// ------------------------------------------------------------------------
-
-sal_Bool XPMReader::ImplCompare( sal_uInt8* pSource, sal_uInt8* pDest, sal_uLong nSize, sal_uLong nMode )
-{
- sal_Bool bRet = sal_True;
-
- if ( nMode == XPMCASENONSENSITIVE )
- {
- for ( sal_uLong i = 0; i < nSize; i++ )
- {
- if ( ( pSource[i]&~0x20 ) != ( pDest[i]&~0x20 ) )
- {
- bRet = sal_False;
- break;
- }
- }
- }
- else
- {
- for ( sal_uLong i = 0; i < nSize; i++ )
- {
- if ( pSource[i] != pDest[i] )
- {
- bRet = sal_False;
- break;
- }
- }
- }
- return bRet;
-}
-
-// ------------------------------------------------------------------------
-// ImplGetPara versucht den nNumb ( 0...x ) Parameter aus mpStringBuf zu ermitteln.
-// Ein Parameter ist durch Spaces oder Tabs von den anderen getrennt.
-// Konnte der Parameter gefunden werden ist der Rueckgabewert sal_True und mpPara + mnParaSize
-// werden gesetzt.
-
-sal_Bool XPMReader::ImplGetPara ( sal_uLong nNumb )
-{
- sal_uInt8 nByte;
- sal_uLong pSize = 0;
- sal_uInt8* pPtr = mpStringBuf;
- sal_uLong nCount = 0;
-
- if ( ( *pPtr != ' ' ) && ( *pPtr != 0x09 ) )
- {
- mpPara = pPtr;
- mnParaSize = 0;
- nCount = 0;
- }
- else
- {
- mpPara = NULL;
- nCount = 0xffffffff;
- }
-
- while ( pSize < mnStringSize )
- {
- nByte = *pPtr;
-
- if ( mpPara )
- {
- if ( ( nByte == ' ' ) || ( nByte == 0x09 ) )
- {
- if ( nCount == nNumb )
- break;
- else
- mpPara = NULL;
- }
- else
- mnParaSize++;
- }
- else
- {
- if ( ( nByte != ' ' ) && ( nByte != 0x09 ) )
- {
- mpPara = pPtr;
- mnParaSize = 1;
- nCount++;
- }
- }
- pSize++;
- pPtr++;
- }
- return ( ( nCount == nNumb ) && ( mpPara ) ) ? sal_True : sal_False;
-}
-
-// ------------------------------------------------------------------------
-// Der naechste String wird ausgelesen und in mpStringBuf (mit 0 abgeschlossen) abgelegt;
-// mnStringSize enthaelt die Groesse des gelesenen Strings.
-// Bemerkungen wie '//' und '/*.....*/' werden uebersprungen.
-
-sal_Bool XPMReader::ImplGetString( void )
-{
- sal_uInt8 sID[] = "/* XPM */";
- sal_uInt8* pString = mpStringBuf;
-
- mnStringSize = 0;
- mpStringBuf[0] = 0;
-
- while( mbStatus && ( mnStatus != XPMFINISHED ) )
- {
- if ( mnTempAvail == 0 )
- {
- mnTempAvail = mrIStm.Read( mpTempBuf, XPMTEMPBUFSIZE );
- if ( mnTempAvail == 0 )
- break;
-
- mpTempPtr = mpTempBuf;
-
- if ( mnIdentifier == XPMIDENTIFIER )
- {
- if ( mnTempAvail <= 50 )
- {
- mbStatus = sal_False; // file is too short to be a correct XPM format
- break;
- }
- for ( int i = 0; i < 9; i++ ) // searching for "/* XPM */"
- if ( *mpTempPtr++ != sID[i] )
- {
- mbStatus = sal_False;
- break;
- }
- mnTempAvail-=9;
- mnIdentifier++;
- }
- }
- mcLastByte = mcThisByte;
- mcThisByte = *mpTempPtr++;
- mnTempAvail--;
-
- if ( mnStatus & XPMDOUBLE )
- {
- if ( mcThisByte == 0x0a )
- mnStatus &=~XPMDOUBLE;
- continue;
- }
- if ( mnStatus & XPMREMARK )
- {
- if ( ( mcThisByte == '/' ) && ( mcLastByte == '*' ) )
- mnStatus &=~XPMREMARK;
- continue;
- }
- if ( mnStatus & XPMSTRING ) // characters in string
- {
- if ( mcThisByte == '"' )
- {
- mnStatus &=~XPMSTRING; // end of parameter by eol
- break;
- }
- if ( mnStringSize >= ( XPMSTRINGBUF - 1 ) )
- {
- mbStatus = sal_False;
- break;
- }
- *pString++ = mcThisByte;
- pString[0] = 0;
- mnStringSize++;
- continue;
- }
- else
- { // characters beside string
- switch ( mcThisByte )
- {
- case '*' :
- if ( mcLastByte == '/' ) mnStatus |= XPMREMARK;
- break;
- case '/' :
- if ( mcLastByte == '/' ) mnStatus |= XPMDOUBLE;
- break;
- case '"' : mnStatus |= XPMSTRING;
- break;
- case '{' :
- if ( mnIdentifier == XPMDEFINITION )
- mnIdentifier++;
- break;
- case '}' :
- if ( mnIdentifier == XPMENDEXT )
- mnStatus = XPMFINISHED;
- break;
- }
- }
- }
- return mbStatus;
-}
-
-// -------------
-// - ImportXPM -
-// -------------
-
-sal_Bool ImportXPM( SvStream& rStm, Graphic& rGraphic )
-{
- XPMReader* pXPMReader = (XPMReader*) rGraphic.GetContext();
- ReadState eReadState;
- sal_Bool bRet = sal_True;
-
- if( !pXPMReader )
- pXPMReader = new XPMReader( rStm );
-
- rGraphic.SetContext( NULL );
- eReadState = pXPMReader->ReadXPM( rGraphic );
-
- if( eReadState == XPMREAD_ERROR )
- {
- bRet = sal_False;
- delete pXPMReader;
- }
- else if( eReadState == XPMREAD_OK )
- delete pXPMReader;
- else
- rGraphic.SetContext( pXPMReader );
-
- return bRet;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */