BOOL RectangleRecordHandler::ReadRectangleSimpleStellated(CXaraFileRecord *pCXaraFileRecord) { BOOL ok = TRUE; NodeRegularShape * pRectangle; DocCoord CentrePoint; INT32 Height; INT32 Width; double StellationRadius; double StellationOffset; pRectangle = new NodeRegularShape; if (ok) ok = SetupShape(pRectangle); if (ok) ok = SetNumberOfSides(pRectangle, NumberOfSides); if (ok) ok = SetIsStellated(pRectangle, TRUE); if (ok) ok = pCXaraFileRecord->ReadCoord(&CentrePoint); if (ok) ok = SetCentrePoint(pRectangle, CentrePoint); if (ok) ok = pCXaraFileRecord->ReadINT32(&Width); if (ok) ok = pCXaraFileRecord->ReadINT32(&Height); if (ok) ok = SetHeightAndWidth(pRectangle, Height, Width); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&StellationRadius); if (ok) ok = SetStellationRadius(pRectangle, StellationRadius); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&StellationOffset); if (ok) ok = SetStellationOffset(pRectangle, StellationOffset); if (ok) ok = InvalidateCache(pRectangle); if (ok) ok = InsertNode(pRectangle); return ok; }
BOOL RegularShapeRecordHandler::ReadShapeGeneralPhase1(CXaraFileRecord *pCXaraFileRecord) { BOOL ok = TRUE; NodeRegularShape * pShape; BYTE Flags; UINT16 NumberOfSides; DocCoord UTCentrePoint; DocCoord MajorAxis; DocCoord MinorAxis; Matrix TransformMatrix; double StellationRadius; double StellationOffset; double PrimaryCurvature; double SecondaryCurvature; pShape = new NodeRegularShape; if (ok) ok = SetupShape(pShape); if (ok) ok = pCXaraFileRecord->ReadBYTE(&Flags); if (ok) ok = SetFlags(pShape, Flags); if (ok) ok = pCXaraFileRecord->ReadUINT16(&NumberOfSides); if (ok) ok = SetNumberOfSides(pShape, NumberOfSides); if (ok) ok = pCXaraFileRecord->ReadCoordTrans(&UTCentrePoint,0,0); if (ok) ok = SetUTCentrePoint(pShape, UTCentrePoint); if (ok) ok = pCXaraFileRecord->ReadCoordTrans(&MajorAxis,0,0); if (ok) ok = SetMajorAxis(pShape, MajorAxis); if (ok) ok = pCXaraFileRecord->ReadCoordTrans(&MinorAxis,0,0); if (ok) ok = SetMinorAxis(pShape, MinorAxis); if (ok) ok = pCXaraFileRecord->ReadMatrix(&TransformMatrix); if (ok) ok = SetTransformMatrix(pShape, TransformMatrix); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&StellationRadius); if (ok) ok = SetStellationRadius(pShape, StellationRadius); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&StellationOffset); if (ok) ok = SetStellationOffset(pShape, StellationOffset); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&PrimaryCurvature); if (ok) ok = SetPrimaryCurvature(pShape, PrimaryCurvature); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&SecondaryCurvature); if (ok) ok = SetSecondaryCurvature(pShape, SecondaryCurvature); if (ok) ok = pCXaraFileRecord->ReadPath(&(pShape->EdgePath1)); if (ok) ok = pCXaraFileRecord->ReadPath(&(pShape->EdgePath2)); if (ok) ok = InvalidateCache(pShape); if (ok) ok = InsertNode(pShape); return ok; }
BOOL RectangleRecordHandler::ReadRectangleComplexRoundedStellatedReformed(CXaraFileRecord *pCXaraFileRecord) { BOOL ok = TRUE; NodeRegularShape * pRectangle; DocCoord MajorAxis; DocCoord MinorAxis; Matrix TransformMatrix; double StellationRadius; double StellationOffset; double PrimaryCurvature; double SecondaryCurvature; pRectangle = new NodeRegularShape; if (ok) ok = SetupShape(pRectangle); if (ok) ok = SetNumberOfSides(pRectangle, NumberOfSides); if (ok) ok = SetIsRounded(pRectangle, TRUE); if (ok) ok = SetIsStellated(pRectangle, TRUE); if (ok) ok = pCXaraFileRecord->ReadCoordTrans(&MajorAxis,0,0); if (ok) ok = SetMajorAxis(pRectangle, MajorAxis); if (ok) ok = pCXaraFileRecord->ReadCoordTrans(&MinorAxis,0,0); if (ok) ok = SetMinorAxis(pRectangle, MinorAxis); if (ok) ok = pCXaraFileRecord->ReadMatrix(&TransformMatrix); if (ok) ok = SetTransformMatrix(pRectangle, TransformMatrix); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&StellationRadius); if (ok) ok = SetStellationRadius(pRectangle, StellationRadius); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&StellationOffset); if (ok) ok = SetStellationOffset(pRectangle, StellationOffset); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&PrimaryCurvature); if (ok) ok = SetPrimaryCurvature(pRectangle, PrimaryCurvature); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&SecondaryCurvature); if (ok) ok = SetSecondaryCurvature(pRectangle, SecondaryCurvature); if (ok) ok = pCXaraFileRecord->ReadPath(&(pRectangle->EdgePath1)); if (ok) ok = pCXaraFileRecord->ReadPath(&(pRectangle->EdgePath2)); if (ok) ok = InvalidateCache(pRectangle); if (ok) ok = InsertNode(pRectangle); return ok; }
BOOL RectangleRecordHandler::ReadRectangleComplexStellated(CXaraFileRecord *pCXaraFileRecord) { BOOL ok = TRUE; NodeRegularShape * pRectangle; DocCoord CentrePoint; DocCoord MajorAxis; DocCoord MinorAxis; double StellationRadius; double StellationOffset; pRectangle = new NodeRegularShape; if (ok) ok = SetupShape(pRectangle); if (ok) ok = SetNumberOfSides(pRectangle, NumberOfSides); if (ok) ok = SetIsStellated(pRectangle, TRUE); if (ok) ok = pCXaraFileRecord->ReadCoord(&CentrePoint); if (ok) ok = SetCentrePoint(pRectangle, CentrePoint); if (ok) ok = pCXaraFileRecord->ReadCoordTrans(&MajorAxis,0,0); if (ok) ok = SetMajorAxis(pRectangle, MajorAxis); if (ok) ok = pCXaraFileRecord->ReadCoordTrans(&MinorAxis,0,0); if (ok) ok = SetMinorAxis(pRectangle, MinorAxis); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&StellationRadius); if (ok) ok = SetStellationRadius(pRectangle, StellationRadius); if (ok) ok = pCXaraFileRecord->ReadDOUBLE(&StellationOffset); if (ok) ok = SetStellationOffset(pRectangle, StellationOffset); if (ok) ok = InvalidateCache(pRectangle); if (ok) ok = InsertNode(pRectangle); return ok; }