MCPcopy Create free account
hub / github.com/TorqueGameEngines/Torque3D / write

Method write

Engine/source/gfx/gFont.cpp:746–825  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

744}
745
746bool GFont::write(Stream& stream)
747{
748 // Handle versioning
749 stream.write(csm_fileVersion);
750
751 // Write font info
752 stream.write(mFaceName);
753 stream.write(mSize);
754 stream.write(mCharSet);
755
756 stream.write(mHeight);
757 stream.write(mBaseline);
758 stream.write(mAscent);
759 stream.write(mDescent);
760
761 // Write char info list
762 stream.write(U32(mCharInfoList.size()));
763 U32 i;
764 for(i = 0; i < mCharInfoList.size(); i++)
765 {
766 const PlatformFont::CharInfo *ci = &mCharInfoList[i];
767 stream.write(ci->bitmapIndex);
768 stream.write(ci->xOffset);
769 stream.write(ci->yOffset);
770 stream.write(ci->width);
771 stream.write(ci->height);
772 stream.write(ci->xOrigin);
773 stream.write(ci->yOrigin);
774 stream.write(ci->xIncrement);
775 }
776
777 stream.write(mTextureSheets.size());
778 for(i = 0; i < mTextureSheets.size(); i++)
779 mTextureSheets[i].getBitmap()->writeBitmap("png", stream);
780
781 stream.write(mCurX);
782 stream.write(mCurY);
783 stream.write(mCurSheet);
784
785 // Get the min/max we have values for, and only write that range out.
786 S32 minGlyph = S32_MAX, maxGlyph = 0;
787
788 for(i = 0; i < 65536; i++)
789 {
790 if(mRemapTable[i] != -1)
791 {
792 if(i>maxGlyph) maxGlyph = i;
793 if(i<minGlyph) minGlyph = i;
794 }
795 }
796
797 stream.write(minGlyph);
798 stream.write(maxGlyph);
799
800 // Skip it if we don't have any glyphs to do...
801 if(maxGlyph >= minGlyph)
802 {
803 // Put everything big endian, to be consistent. Do this inplace.

Callers 2

gFont.cppFile · 0.45
TorqueMainFunction · 0.45

Calls 6

writeBitmapMethod · 0.80
U32Enum · 0.50
compress2Function · 0.50
sizeMethod · 0.45
getBitmapMethod · 0.45
getStatusMethod · 0.45

Tested by

no test coverage detected