Ejemplo n.º 1
0
EStatusCode Type1ToType2Converter::Type1RMoveto(const LongList& inOperandList)
{
	mFirstPathConstructionEncountered = true;
	if(mInFlexCollectionMode)
	{
		// while in flex, collect the parameters to the flex parameter
		LongList::const_iterator it = inOperandList.begin();

		// note a paculiarness for the 2nd pair of coordinates.
		// in type1 flex, the first 2 coordinates summed are the first edge coordinate
		if(mFlexParameters.size() == 2)
		{
			LongList::iterator itFlex = mFlexParameters.begin();
			*itFlex += *it;
			++it;
			++itFlex;
			*itFlex += *it;
		}
		else
		{
			mFlexParameters.push_back(*it);
			++it;
			mFlexParameters.push_back(*it);
		}
		return PDFHummus::eSuccess;
	}
	else
	{
		return RecordOperatorWithParameters(21,inOperandList);
	}
}
Ejemplo n.º 2
0
EStatusCode Type1ToType2Converter::Type1Seac(const LongList& inOperandList)
{
	// le'ts convert it already to the final EndChar...and stop any later recording
	
	// note that type2 endchar implementation avoids sidebearing
	LongList params;
	LongList::const_iterator it = inOperandList.begin();
	++it;
	for(; it != inOperandList.end();++it)
		params.push_back(*it);
	return RecordOperatorWithParameters(14,params);
}