예제 #1
0
파일: ExtRst.cpp 프로젝트: shrekting/core
void ExtRst::load(CFRecord& record)
{
	record.skipNunBytes(2); // reserved
	record >> cb;
	size_t data_start = record.getRdPtr();
	record >> phs;

	rphssub.sz = cb;

	record >> rphssub;
	for(unsigned short i = 0; i < rphssub.getRunsNumber(); ++i)
	{
		PhRuns run;
		record >> run;
		rgphruns.push_back(run);

	}
	size_t data_end = record.getRdPtr();
	if(data_end - data_start != cb)
	{
		//ОШИБКА - нехватило Continue records - нужно найти место где именно и подзагрузить
		if ((data_end - data_start)  < cb )
			record.skipNunBytes( cb - (data_end - data_start)); // trash for unknown reason
		else
			record.RollRdPtrBack((data_end - data_start) - cb);
	}

}
예제 #2
0
파일: FtMacro.cpp 프로젝트: ONLYOFFICE/core
void FtMacro::load(CFRecord& record)
{
	short ft;
	record >> ft; 
	if (ft != 0x0004)
	{
		record.RollRdPtrBack(2);
		return;
	}
	fExist = true;
	fmla.load(record);
}
예제 #3
0
void FtEdoData::load(CFRecord& record)
{
	unsigned short ft, cb;
	record >> ft >> cb;

	if ( ft != 0x0010 && cb != 0x0008)
	{
		record.RollRdPtrBack(4);
		return;
	}
	fExist = true;

	record >> ivtEdit >> fMultiLine >> fVScroll >> id;
}
예제 #4
0
파일: FtCf.cpp 프로젝트: ShockwaveNN/core
void FtCf::load(CFRecord& record)
{
	//record.skipNunBytes(4); // reserved
	unsigned short ft, cb;
	record >> ft;
	
	// OpenOffice f**k!!!
	if (ft == 0)
		record.RollRdPtrBack(2);		
	else
	{
		record >> cb;
		record >> cf;
	}
}
예제 #5
0
파일: FtNts.cpp 프로젝트: ONLYOFFICE/core
void FtNts::load(CFRecord& record)
{
	unsigned short ft, cb;
	record >> ft >> cb;

	if ( ft != 0x000d && cb != 0x0016)
	{
		record.RollRdPtrBack(4);
		return;
	}
	fExist = true;

	_GUID_ guid_num;
	record >> guid_num >> fSharedNote;
	
	guid = STR::guid2bstr(guid_num);
	
	record.skipNunBytes(4);
}
예제 #6
0
파일: FtSbs.cpp 프로젝트: ShockwaveNN/core
void FtSbs::load(CFRecord& record)
{
	unsigned short ft, cb;
	record >> ft >> cb;

	if ( ft != 0x000c && cb != 0x0014)
	{
		record.RollRdPtrBack(4);
		return;
	}
	fExist = true;

	record.skipNunBytes(4); // unused1

	unsigned short flags;

	record >> iVal >> iMin >> iMax >> dInc >> dPage >> fHoriz >> dxScroll >> flags;

	fDraw			= GETBIT(flags, 0);
	fDrawSliderOnly = GETBIT(flags, 1);
	fTrackElevator	= GETBIT(flags, 2);
	fNo3d			= GETBIT(flags, 3);
}