internal override void PushGuidelineY2( Double leadingCoordinate, Double offsetToDrivenCoordinate) { VerifyApiNonstructuralChange(); #if DEBUG MediaTrace.DrawingContextOp.Trace("PushGuidelineY2(const)"); #endif unsafe { EnsureRenderData(); MILCMD_PUSH_GUIDELINE_Y2 record = new MILCMD_PUSH_GUIDELINE_Y2 ( leadingCoordinate, offsetToDrivenCoordinate ); // Assert that the calculated packet size is the same as the size returned by sizeof(). Debug.Assert(sizeof(MILCMD_PUSH_GUIDELINE_Y2) == 16); _renderData.WriteDataRecord(MILCMD.MilPushGuidelineY2, (byte*)&record, 16 /* sizeof(MILCMD_PUSH_GUIDELINE_Y2) */); } _stackDepth++; }
public override void PushGuidelineSet( GuidelineSet guidelines) { VerifyApiNonstructuralChange(); #if DEBUG MediaTrace.DrawingContextOp.Trace("PushGuidelineSet(const)"); #endif unsafe { EnsureRenderData(); if (guidelines != null && guidelines.IsFrozen && guidelines.IsDynamic) { DoubleCollection guidelinesX = guidelines.GuidelinesX; DoubleCollection guidelinesY = guidelines.GuidelinesY; int countX = guidelinesX == null ? 0 : guidelinesX.Count; int countY = guidelinesY == null ? 0 : guidelinesY.Count; if (countX == 0 && (countY == 1 || countY == 2) ) { if (countY == 1) { MILCMD_PUSH_GUIDELINE_Y1 record = new MILCMD_PUSH_GUIDELINE_Y1( guidelinesY[0] ); _renderData.WriteDataRecord( MILCMD.MilPushGuidelineY1, (byte*)&record, sizeof(MILCMD_PUSH_GUIDELINE_Y1) ); } else { MILCMD_PUSH_GUIDELINE_Y2 record = new MILCMD_PUSH_GUIDELINE_Y2( guidelinesY[0], guidelinesY[1] - guidelinesY[0] ); _renderData.WriteDataRecord( MILCMD.MilPushGuidelineY2, (byte*)&record, sizeof(MILCMD_PUSH_GUIDELINE_Y2) ); } } } else { MILCMD_PUSH_GUIDELINE_SET record = new MILCMD_PUSH_GUIDELINE_SET ( _renderData.AddDependentResource(guidelines) ); // Assert that the calculated packet size is the same as the size returned by sizeof(). Debug.Assert(sizeof(MILCMD_PUSH_GUIDELINE_SET) == 8); _renderData.WriteDataRecord(MILCMD.MilPushGuidelineSet, (byte*)&record, 8 /* sizeof(MILCMD_PUSH_GUIDELINE_SET) */); } } _stackDepth++; }