Kaydet (Commit) 5f12e190 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Get rid of _GIFPRIVATE

Change-Id: I3e6b8d424c460987f7a6269ad035ecaeafe48366
üst 87e949b6
......@@ -2018,7 +2018,6 @@ PREDEFINED = LINUX \
OSL_DEBUG_LEVEL=2 \
CUI \
EXCEPTIONS_ON \
_GIFPRIVATE \
_XBMPRIVATE \
_XPMPRIVATE \
DOXYGEN_ONLY
......
......@@ -2018,7 +2018,6 @@ PREDEFINED = LINUX \
OSL_DEBUG_LEVEL=2 \
CUI \
EXCEPTIONS_ON \
_GIFPRIVATE \
_XBMPRIVATE \
_XPMPRIVATE \
DOXYGEN_ONLY
......
......@@ -2018,7 +2018,6 @@ PREDEFINED = LINUX \
OSL_DEBUG_LEVEL=2 \
CUI \
EXCEPTIONS_ON \
_GIFPRIVATE \
_XBMPRIVATE \
_XPMPRIVATE \
DOXYGEN_ONLY
......
......@@ -17,14 +17,97 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#define _GIFPRIVATE
#include "decode.hxx"
#include "gifread.hxx"
#include <memory>
#define NO_PENDING( rStm ) ( ( rStm ).GetError() != ERRCODE_IO_PENDING )
enum GIFAction
{
GLOBAL_HEADER_READING,
MARKER_READING,
EXTENSION_READING,
LOCAL_HEADER_READING,
FIRST_BLOCK_READING,
NEXT_BLOCK_READING,
ABORT_READING,
END_READING
};
enum ReadState
{
GIFREAD_OK,
GIFREAD_ERROR,
GIFREAD_NEED_MORE
};
class GIFLZWDecompressor;
class SvStream;
class GIFReader : public GraphicReader
{
Graphic aImGraphic;
Animation aAnimation;
Bitmap aBmp8;
Bitmap aBmp1;
BitmapPalette aGPalette;
BitmapPalette aLPalette;
SvStream& rIStm;
sal_uInt8* pSrcBuf;
GIFLZWDecompressor* pDecomp;
BitmapWriteAccess* pAcc8;
BitmapWriteAccess* pAcc1;
long nYAcc;
long nLastPos;
sal_uInt32 nLogWidth100;
sal_uInt32 nLogHeight100;
sal_uInt16 nTimer;
sal_uInt16 nGlobalWidth; // maximum imagewidth from header
sal_uInt16 nGlobalHeight; // maximum imageheight from header
sal_uInt16 nImageWidth; // maximum screenwidth from header
sal_uInt16 nImageHeight; // maximum screenheight from header
sal_uInt16 nImagePosX;
sal_uInt16 nImagePosY;
sal_uInt16 nImageX; // maximum screenwidth from header
sal_uInt16 nImageY; // maximum screenheight from header
sal_uInt16 nLastImageY;
sal_uInt16 nLastInterCount;
sal_uInt16 nLoops;
GIFAction eActAction;
bool bStatus;
bool bGCTransparent; // is the image transparent, if yes:
bool bInterlaced;
bool bOverreadBlock;
bool bImGraphicReady;
bool bGlobalPalette;
sal_uInt8 nBackgroundColor; // backgroundcolour
sal_uInt8 nGCTransparentIndex; // pixels of this index are transparant
sal_uInt8 nGCDisposalMethod; // 'Disposal Method' (see GIF docs)
sal_uInt8 cTransIndex1;
sal_uInt8 cNonTransIndex1;
void ReadPaletteEntries( BitmapPalette* pPal, sal_uLong nCount );
void ClearImageExtensions();
void CreateBitmaps( long nWidth, long nHeight, BitmapPalette* pPal, bool bWatchForBackgroundColor );
bool ReadGlobalHeader();
bool ReadExtension();
bool ReadLocalHeader();
sal_uLong ReadNextBlock();
void FillImages( sal_uInt8* pBytes, sal_uLong nCount );
void CreateNewBitmaps();
bool ProcessGIF();
public:
ReadState ReadGIF( Graphic& rGraphic );
const Graphic& GetIntermediateGraphic();
explicit GIFReader( SvStream& rStm );
virtual ~GIFReader();
};
GIFReader::GIFReader( SvStream& rStm )
: aGPalette ( 256 )
, aLPalette ( 256 )
......
......@@ -23,95 +23,6 @@
#include <vcl/graph.hxx>
#include <vcl/bitmapaccess.hxx>
#ifdef _GIFPRIVATE
enum GIFAction
{
GLOBAL_HEADER_READING,
MARKER_READING,
EXTENSION_READING,
LOCAL_HEADER_READING,
FIRST_BLOCK_READING,
NEXT_BLOCK_READING,
ABORT_READING,
END_READING
};
enum ReadState
{
GIFREAD_OK,
GIFREAD_ERROR,
GIFREAD_NEED_MORE
};
class GIFLZWDecompressor;
class SvStream;
class GIFReader : public GraphicReader
{
Graphic aImGraphic;
Animation aAnimation;
Bitmap aBmp8;
Bitmap aBmp1;
BitmapPalette aGPalette;
BitmapPalette aLPalette;
SvStream& rIStm;
sal_uInt8* pSrcBuf;
GIFLZWDecompressor* pDecomp;
BitmapWriteAccess* pAcc8;
BitmapWriteAccess* pAcc1;
long nYAcc;
long nLastPos;
sal_uInt32 nLogWidth100;
sal_uInt32 nLogHeight100;
sal_uInt16 nTimer;
sal_uInt16 nGlobalWidth; // maximum imagewidth from header
sal_uInt16 nGlobalHeight; // maximum imageheight from header
sal_uInt16 nImageWidth; // maximum screenwidth from header
sal_uInt16 nImageHeight; // maximum screenheight from header
sal_uInt16 nImagePosX;
sal_uInt16 nImagePosY;
sal_uInt16 nImageX; // maximum screenwidth from header
sal_uInt16 nImageY; // maximum screenheight from header
sal_uInt16 nLastImageY;
sal_uInt16 nLastInterCount;
sal_uInt16 nLoops;
GIFAction eActAction;
bool bStatus;
bool bGCTransparent; // is the image transparent, if yes:
bool bInterlaced;
bool bOverreadBlock;
bool bImGraphicReady;
bool bGlobalPalette;
sal_uInt8 nBackgroundColor; // backgroundcolour
sal_uInt8 nGCTransparentIndex; // pixels of this index are transparant
sal_uInt8 nGCDisposalMethod; // 'Disposal Method' (see GIF docs)
sal_uInt8 cTransIndex1;
sal_uInt8 cNonTransIndex1;
void ReadPaletteEntries( BitmapPalette* pPal, sal_uLong nCount );
void ClearImageExtensions();
void CreateBitmaps( long nWidth, long nHeight, BitmapPalette* pPal, bool bWatchForBackgroundColor );
bool ReadGlobalHeader();
bool ReadExtension();
bool ReadLocalHeader();
sal_uLong ReadNextBlock();
void FillImages( sal_uInt8* pBytes, sal_uLong nCount );
void CreateNewBitmaps();
bool ProcessGIF();
public:
ReadState ReadGIF( Graphic& rGraphic );
const Graphic& GetIntermediateGraphic();
explicit GIFReader( SvStream& rStm );
virtual ~GIFReader();
};
#endif // _GIFPRIVATE
VCL_DLLPUBLIC bool ImportGIF( SvStream& rStream, Graphic& rGraphic );
#endif // INCLUDED_VCL_SOURCE_FILTER_IGIF_GIFREAD_HXX
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment