diff options
-rw-r--r-- | solenv/inc/doxygen.cfg | 1 | ||||
-rw-r--r-- | solenv/inc/doxygen_doc.cfg | 1 | ||||
-rw-r--r-- | solenv/inc/doxygen_tag.cfg | 1 | ||||
-rw-r--r-- | vcl/source/filter/ixpm/xpmread.cxx | 78 | ||||
-rw-r--r-- | vcl/source/filter/ixpm/xpmread.hxx | 81 |
5 files changed, 77 insertions, 85 deletions
diff --git a/solenv/inc/doxygen.cfg b/solenv/inc/doxygen.cfg index 92ace78259ee..6de37458e4dc 100644 --- a/solenv/inc/doxygen.cfg +++ b/solenv/inc/doxygen.cfg @@ -2018,7 +2018,6 @@ PREDEFINED = LINUX \ OSL_DEBUG_LEVEL=2 \ CUI \ EXCEPTIONS_ON \ - _XPMPRIVATE \ DOXYGEN_ONLY # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this diff --git a/solenv/inc/doxygen_doc.cfg b/solenv/inc/doxygen_doc.cfg index ed3705a67489..057c6cd4866d 100644 --- a/solenv/inc/doxygen_doc.cfg +++ b/solenv/inc/doxygen_doc.cfg @@ -2018,7 +2018,6 @@ PREDEFINED = LINUX \ OSL_DEBUG_LEVEL=2 \ CUI \ EXCEPTIONS_ON \ - _XPMPRIVATE \ DOXYGEN_ONLY # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this diff --git a/solenv/inc/doxygen_tag.cfg b/solenv/inc/doxygen_tag.cfg index 30cbe8d6524c..cf07173e8389 100644 --- a/solenv/inc/doxygen_tag.cfg +++ b/solenv/inc/doxygen_tag.cfg @@ -2018,7 +2018,6 @@ PREDEFINED = LINUX \ OSL_DEBUG_LEVEL=2 \ CUI \ EXCEPTIONS_ON \ - _XPMPRIVATE \ DOXYGEN_ONLY # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this diff --git a/vcl/source/filter/ixpm/xpmread.cxx b/vcl/source/filter/ixpm/xpmread.cxx index 2622bf0d467b..d4853b496b41 100644 --- a/vcl/source/filter/ixpm/xpmread.cxx +++ b/vcl/source/filter/ixpm/xpmread.cxx @@ -20,10 +20,86 @@ #include <vcl/bitmapaccess.hxx> #include <vcl/graph.hxx> #include "rgbtable.hxx" -#define _XPMPRIVATE #include "xpmread.hxx" #include <cstring> +#define XPMTEMPBUFSIZE 0x00008000 +#define XPMSTRINGBUF 0x00008000 + +#define XPMIDENTIFIER 0x00000001 // mnIdentifier includes on of the six phases +#define XPMDEFINITION 0x00000002 // the XPM format consists of +#define XPMVALUES 0x00000003 +#define XPMCOLORS 0x00000004 +#define XPMPIXELS 0x00000005 +#define XPMEXTENSIONS 0x00000006 +#define XPMENDEXT 0x00000007 + +#define XPMREMARK 0x00000001 // defines used by mnStatus +#define XPMDOUBLE 0x00000002 +#define XPMSTRING 0x00000004 +#define XPMFINISHED 0x00000008 + +#define XPMCASESENSITIVE 0x00000001 +#define XPMCASENONSENSITIVE 0x00000002 + +enum ReadState +{ + XPMREAD_OK, + XPMREAD_ERROR, + XPMREAD_NEED_MORE +}; + +class BitmapWriteAccess; +class Graphic; + +class XPMReader : public GraphicReader +{ +private: + + SvStream& mrIStm; + Bitmap maBmp; + BitmapWriteAccess* mpAcc; + Bitmap maMaskBmp; + BitmapWriteAccess* mpMaskAcc; + long mnLastPos; + + sal_uLong mnWidth; + sal_uLong mnHeight; + sal_uLong mnColors; + sal_uLong mnCpp; // characters per pix + bool mbTransparent; + bool mbStatus; + sal_uLong mnStatus; + sal_uLong mnIdentifier; + sal_uInt8 mcThisByte; + sal_uInt8 mcLastByte; + sal_uLong mnTempAvail; + sal_uInt8* mpTempBuf; + sal_uInt8* mpTempPtr; + sal_uInt8* mpFastColorTable; + sal_uInt8* mpColMap; + sal_uLong mnStringSize; + sal_uInt8* mpStringBuf; + sal_uLong mnParaSize; + sal_uInt8* mpPara; + + bool ImplGetString(); + bool ImplGetColor( sal_uLong ); + bool ImplGetScanLine( sal_uLong ); + bool ImplGetColSub( sal_uInt8* ); + bool ImplGetColKey( sal_uInt8 ); + void ImplGetRGBHex( sal_uInt8*, sal_uLong ); + bool ImplGetPara( sal_uLong numb ); + static bool ImplCompare( sal_uInt8 const *, sal_uInt8 const *, sal_uLong, sal_uLong nmode = XPMCASENONSENSITIVE ); + sal_uLong ImplGetULONG( sal_uLong nPara ); + +public: + explicit XPMReader( SvStream& rStm ); + virtual ~XPMReader(); + + ReadState ReadXPM( Graphic& rGraphic ); +}; + XPMReader::XPMReader(SvStream& rStm) : mrIStm(rStm) , mpAcc(nullptr) diff --git a/vcl/source/filter/ixpm/xpmread.hxx b/vcl/source/filter/ixpm/xpmread.hxx index 141f4b2b23f2..d35326264e55 100644 --- a/vcl/source/filter/ixpm/xpmread.hxx +++ b/vcl/source/filter/ixpm/xpmread.hxx @@ -22,87 +22,6 @@ #include <vcl/bitmap.hxx> -#ifdef _XPMPRIVATE - -#define XPMTEMPBUFSIZE 0x00008000 -#define XPMSTRINGBUF 0x00008000 - -#define XPMIDENTIFIER 0x00000001 // mnIdentifier includes on of the six phases -#define XPMDEFINITION 0x00000002 // the XPM format consists of -#define XPMVALUES 0x00000003 -#define XPMCOLORS 0x00000004 -#define XPMPIXELS 0x00000005 -#define XPMEXTENSIONS 0x00000006 -#define XPMENDEXT 0x00000007 - -#define XPMREMARK 0x00000001 // defines used by mnStatus -#define XPMDOUBLE 0x00000002 -#define XPMSTRING 0x00000004 -#define XPMFINISHED 0x00000008 - -#define XPMCASESENSITIVE 0x00000001 -#define XPMCASENONSENSITIVE 0x00000002 - -enum ReadState -{ - XPMREAD_OK, - XPMREAD_ERROR, - XPMREAD_NEED_MORE -}; - -class BitmapWriteAccess; -class Graphic; - -class XPMReader : public GraphicReader -{ -private: - - SvStream& mrIStm; - Bitmap maBmp; - BitmapWriteAccess* mpAcc; - Bitmap maMaskBmp; - BitmapWriteAccess* mpMaskAcc; - long mnLastPos; - - sal_uLong mnWidth; - sal_uLong mnHeight; - sal_uLong mnColors; - sal_uLong mnCpp; // characters per pix - bool mbTransparent; - bool mbStatus; - sal_uLong mnStatus; - sal_uLong mnIdentifier; - sal_uInt8 mcThisByte; - sal_uInt8 mcLastByte; - sal_uLong mnTempAvail; - sal_uInt8* mpTempBuf; - sal_uInt8* mpTempPtr; - sal_uInt8* mpFastColorTable; - sal_uInt8* mpColMap; - sal_uLong mnStringSize; - sal_uInt8* mpStringBuf; - sal_uLong mnParaSize; - sal_uInt8* mpPara; - - bool ImplGetString(); - bool ImplGetColor( sal_uLong ); - bool ImplGetScanLine( sal_uLong ); - bool ImplGetColSub( sal_uInt8* ); - bool ImplGetColKey( sal_uInt8 ); - void ImplGetRGBHex( sal_uInt8*, sal_uLong ); - bool ImplGetPara( sal_uLong numb ); - static bool ImplCompare( sal_uInt8 const *, sal_uInt8 const *, sal_uLong, sal_uLong nmode = XPMCASENONSENSITIVE ); - sal_uLong ImplGetULONG( sal_uLong nPara ); - -public: - explicit XPMReader( SvStream& rStm ); - virtual ~XPMReader(); - - ReadState ReadXPM( Graphic& rGraphic ); -}; - -#endif // _XPMPRIVATE - VCL_DLLPUBLIC bool ImportXPM( SvStream& rStream, Graphic& rGraphic ); #endif // INCLUDED_VCL_SOURCE_FILTER_IXPM_XPMREAD_HXX |