Kaydet (Commit) 06a6f3b3 authored tarafından Michael Stahl's avatar Michael Stahl

vcl: "sgf" filter: replace manual byte-swapping with SvStream methods

Change-Id: I316744a036f540140c494bd7997ae7c5077913d2
üst 86b32152
...@@ -35,20 +35,21 @@ SgfHeader::SgfHeader() ...@@ -35,20 +35,21 @@ SgfHeader::SgfHeader()
SvStream& ReadSgfHeader(SvStream& rIStream, SgfHeader& rHead) SvStream& ReadSgfHeader(SvStream& rIStream, SgfHeader& rHead)
{ {
rIStream.Read(&rHead.Magic, SgfHeaderSize); sal_uInt64 const nOldPos(rIStream.Tell());
#if defined OSL_BIGENDIAN rIStream.ReadUInt16(rHead.Magic);
rHead.Magic =OSL_SWAPWORD(rHead.Magic ); rIStream.ReadUInt16(rHead.Version);
rHead.Version=OSL_SWAPWORD(rHead.Version); rIStream.ReadUInt16(rHead.Typ);
rHead.Typ =OSL_SWAPWORD(rHead.Typ ); rIStream.ReadUInt16(rHead.Xsize);
rHead.Xsize =OSL_SWAPWORD(rHead.Xsize ); rIStream.ReadUInt16(rHead.Ysize);
rHead.Ysize =OSL_SWAPWORD(rHead.Ysize ); rIStream.ReadInt16(rHead.Xoffs);
rHead.Xoffs =OSL_SWAPWORD(rHead.Xoffs ); rIStream.ReadInt16(rHead.Yoffs);
rHead.Yoffs =OSL_SWAPWORD(rHead.Yoffs ); rIStream.ReadUInt16(rHead.Planes);
rHead.Planes =OSL_SWAPWORD(rHead.Planes ); rIStream.ReadUInt16(rHead.SwGrCol);
rHead.SwGrCol=OSL_SWAPWORD(rHead.SwGrCol); rIStream.Read(&rHead.Autor, 10);
rHead.OfsLo =OSL_SWAPWORD(rHead.OfsLo ); rIStream.Read(&rHead.Programm, 10);
rHead.OfsHi =OSL_SWAPWORD(rHead.OfsHi ); rIStream.ReadUInt16(rHead.OfsLo);
#endif rIStream.ReadUInt16(rHead.OfsHi);
assert(rIStream.GetError() || rIStream.Tell() == nOldPos + SgfHeaderSize);
return rIStream; return rIStream;
} }
...@@ -65,15 +66,15 @@ SgfEntry::SgfEntry() ...@@ -65,15 +66,15 @@ SgfEntry::SgfEntry()
SvStream& ReadSgfEntry(SvStream& rIStream, SgfEntry& rEntr) SvStream& ReadSgfEntry(SvStream& rIStream, SgfEntry& rEntr)
{ {
rIStream.Read(&rEntr.Typ, SgfEntrySize); sal_uInt64 const nOldPos(rIStream.Tell());
#if defined OSL_BIGENDIAN rIStream.ReadUInt16(rEntr.Typ);
rEntr.Typ =OSL_SWAPWORD(rEntr.Typ ); rIStream.ReadUInt16(rEntr.iFrei);
rEntr.iFrei=OSL_SWAPWORD(rEntr.iFrei); rIStream.ReadUInt16(rEntr.lFreiLo);
rEntr.lFreiLo=OSL_SWAPWORD (rEntr.lFreiLo); rIStream.ReadUInt16(rEntr.lFreiHi);
rEntr.lFreiHi=OSL_SWAPWORD (rEntr.lFreiHi); rIStream.Read(&rEntr.cFrei, 10);
rEntr.OfsLo=OSL_SWAPWORD(rEntr.OfsLo); rIStream.ReadUInt16(rEntr.OfsLo);
rEntr.OfsHi=OSL_SWAPWORD(rEntr.OfsHi); rIStream.ReadUInt16(rEntr.OfsHi);
#endif assert(rIStream.GetError() || rIStream.Tell() == nOldPos + SgfEntrySize);
return rIStream; return rIStream;
} }
...@@ -82,38 +83,27 @@ sal_uInt32 SgfEntry::GetOffset() ...@@ -82,38 +83,27 @@ sal_uInt32 SgfEntry::GetOffset()
SvStream& ReadSgfVector(SvStream& rIStream, SgfVector& rVect) SvStream& ReadSgfVector(SvStream& rIStream, SgfVector& rVect)
{ {
rIStream.Read(&rVect, sizeof(rVect)); sal_uInt64 const nOldPos(rIStream.Tell());
#if defined OSL_BIGENDIAN rIStream.ReadUInt16(rVect.Flag);
rVect.Flag =OSL_SWAPWORD(rVect.Flag ); rIStream.ReadInt16(rVect.x);
rVect.x =OSL_SWAPWORD(rVect.x ); rIStream.ReadInt16(rVect.y);
rVect.y =OSL_SWAPWORD(rVect.y ); rIStream.ReadUInt16(rVect.OfsLo);
rVect.OfsLo=OSL_SWAPDWORD (rVect.OfsLo); rIStream.ReadUInt16(rVect.OfsHi);
rVect.OfsHi=OSL_SWAPDWORD (rVect.OfsHi); assert(rIStream.GetError() || rIStream.Tell() == nOldPos + SgfVectorSize);
#endif
return rIStream; return rIStream;
} }
SvStream& WriteBmpFileHeader(SvStream& rOStream, BmpFileHeader& rHead) SvStream& WriteBmpFileHeader(SvStream& rOStream, BmpFileHeader& rHead)
{ {
#if defined OSL_BIGENDIAN sal_uInt64 const nOldPos(rOStream.Tell());
rHead.Typ =OSL_SWAPWORD(rHead.Typ ); rOStream.WriteUInt16(rHead.Typ);
rHead.SizeLo =OSL_SWAPWORD(rHead.SizeLo ); rOStream.WriteUInt16(rHead.SizeLo);
rHead.SizeHi =OSL_SWAPWORD(rHead.SizeHi ); rOStream.WriteUInt16(rHead.SizeHi);
rHead.Reserve1=OSL_SWAPWORD(rHead.Reserve1); rOStream.WriteUInt16(rHead.Reserve1);
rHead.Reserve2=OSL_SWAPWORD(rHead.Reserve2); rOStream.WriteUInt16(rHead.Reserve2);
rHead.OfsLo =OSL_SWAPWORD(rHead.OfsLo ); rOStream.WriteUInt16(rHead.OfsLo);
rHead.OfsHi =OSL_SWAPWORD(rHead.OfsHi ); rOStream.WriteUInt16(rHead.OfsHi);
#endif assert(rOStream.GetError() || rOStream.Tell() == nOldPos + BmpFileHeaderSize);
rOStream.Write(&rHead, sizeof(rHead));
#if defined OSL_BIGENDIAN
rHead.Typ =OSL_SWAPWORD(rHead.Typ );
rHead.SizeLo =OSL_SWAPWORD(rHead.SizeLo );
rHead.SizeHi =OSL_SWAPWORD(rHead.SizeHi );
rHead.Reserve1=OSL_SWAPWORD(rHead.Reserve1);
rHead.Reserve2=OSL_SWAPWORD(rHead.Reserve2);
rHead.OfsLo =OSL_SWAPWORD(rHead.OfsLo );
rHead.OfsHi =OSL_SWAPWORD(rHead.OfsHi );
#endif
return rOStream; return rOStream;
} }
...@@ -136,33 +126,19 @@ sal_uInt32 BmpFileHeader::GetOfs() ...@@ -136,33 +126,19 @@ sal_uInt32 BmpFileHeader::GetOfs()
SvStream& WriteBmpInfoHeader(SvStream& rOStream, BmpInfoHeader& rInfo) SvStream& WriteBmpInfoHeader(SvStream& rOStream, BmpInfoHeader& rInfo)
{ {
#if defined OSL_BIGENDIAN sal_uInt64 const nOldPos(rOStream.Tell());
rInfo.Size =OSL_SWAPDWORD (rInfo.Size ); rOStream.WriteUInt32(rInfo.Size);
rInfo.Width =OSL_SWAPDWORD (rInfo.Width ); rOStream.WriteInt32(rInfo.Width);
rInfo.Hight =OSL_SWAPDWORD (rInfo.Hight ); rOStream.WriteInt32(rInfo.Hight);
rInfo.Planes =OSL_SWAPWORD(rInfo.Planes ); rOStream.WriteUInt16(rInfo.Planes);
rInfo.PixBits =OSL_SWAPWORD(rInfo.PixBits ); rOStream.WriteUInt16(rInfo.PixBits);
rInfo.Compress=OSL_SWAPDWORD (rInfo.Compress); rOStream.WriteUInt32(rInfo.Compress);
rInfo.ImgSize =OSL_SWAPDWORD (rInfo.ImgSize ); rOStream.WriteUInt32(rInfo.ImgSize);
rInfo.xDpmm =OSL_SWAPDWORD (rInfo.xDpmm ); rOStream.WriteInt32(rInfo.xDpmm);
rInfo.yDpmm =OSL_SWAPDWORD (rInfo.yDpmm ); rOStream.WriteInt32(rInfo.yDpmm);
rInfo.ColUsed =OSL_SWAPDWORD (rInfo.ColUsed ); rOStream.WriteUInt32(rInfo.ColUsed);
rInfo.ColMust =OSL_SWAPDWORD (rInfo.ColMust ); rOStream.WriteUInt32(rInfo.ColMust);
#endif assert(rOStream.GetError() || rOStream.Tell() == nOldPos + BmpInfoHeaderSize);
rOStream.Write(&rInfo, sizeof(rInfo));
#if defined OSL_BIGENDIAN
rInfo.Size =OSL_SWAPDWORD (rInfo.Size );
rInfo.Width =OSL_SWAPDWORD (rInfo.Width );
rInfo.Hight =OSL_SWAPDWORD (rInfo.Hight );
rInfo.Planes =OSL_SWAPWORD(rInfo.Planes );
rInfo.PixBits =OSL_SWAPWORD(rInfo.PixBits );
rInfo.Compress=OSL_SWAPDWORD (rInfo.Compress);
rInfo.ImgSize =OSL_SWAPDWORD (rInfo.ImgSize );
rInfo.xDpmm =OSL_SWAPDWORD (rInfo.xDpmm );
rInfo.yDpmm =OSL_SWAPDWORD (rInfo.yDpmm );
rInfo.ColUsed =OSL_SWAPDWORD (rInfo.ColUsed );
rInfo.ColMust =OSL_SWAPDWORD (rInfo.ColMust );
#endif
return rOStream; return rOStream;
} }
......
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