private void DrawSample(Graphics g, Size clientArea, CalibratedInkSample sample) { CalibratedInkSample lastSample; if (_Ink.Count == 0) //no previous ink samples { lastSample = new CalibratedInkSample(0, 0, 0, -1); } else { lastSample = _Ink[_Ink.Count - 1]; } RawInkSample raw = InkCalibration.Current.CalibratedToRaw(g, sample, clientArea); //the current raw sample RawInkSample lastRaw = (lastSample.IsInvalid() ? raw : InkCalibration.Current.CalibratedToRaw(g, lastSample, clientArea)); _InkPen.Draw( g, DrawPressureMode, lastSample, sample, lastRaw, raw); _Ink.Add(sample); }
protected override CalibratedInkSample PipelinedCalibratedToRawConversion(Graphics g, CalibratedInkSample sample, Size clientArea) { sample = base.PipelinedCalibratedToRawConversion(g, sample, clientArea); Point areaVector = new Point(clientArea.Width, clientArea.Height); InkRenderer.PixelToInkSpace(g, ref areaVector); sample.X += areaVector.X >> 1; sample.Y += areaVector.Y >> 1; return sample; }
/// <summary> /// Converts a CalibratedInkSample to a RawInkSample. /// </summary> /// <param name="g">The capture- or display- surface graphics object.</param> /// <param name="sample">The calibrated sample to convert.</param> /// <param name="clientArea">The capture- or display- surface size in pixels.</param> /// <returns>The RawInkSample.</returns> public RawInkSample CalibratedToRaw(Graphics g, CalibratedInkSample sample, Size clientArea) { //don't bother calibrating invalid samples if (sample.IsInvalid()) { return(new RawInkSample(sample.Time, sample.X, sample.Y, sample.Pressure)); } //next apply this instance's calibration sample = PipelinedCalibratedToRawConversion(g, sample, clientArea); //return a raw sample return(new RawInkSample(sample.Time, sample.X, sample.Y, sample.Pressure)); }
protected void DrawSample(CalibratedInkSample cal) { if (!DrawInk) { return; } using (Graphics g = CreateGraphics()) { g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias; DrawSample(g, Size, cal); } }
protected override CalibratedInkSample PipelinedCalibratedToRawConversion(System.Drawing.Graphics g, CalibratedInkSample sample, System.Drawing.Size clientArea) { //TODO: implement return(base.PipelinedCalibratedToRawConversion(g, sample, clientArea)); }
protected virtual CalibratedInkSample PipelinedCalibratedToRawConversion(Graphics g, CalibratedInkSample sample, Size clientArea) { //invoke the base calibration if (_BaseCalibration != null) sample = _BaseCalibration.PipelinedCalibratedToRawConversion(g, sample, clientArea); //default implementation does no calibration return sample; }
/// <summary> /// Converts a CalibratedInkSample to a RawInkSample. /// </summary> /// <param name="g">The capture- or display- surface graphics object.</param> /// <param name="sample">The calibrated sample to convert.</param> /// <param name="clientArea">The capture- or display- surface size in pixels.</param> /// <returns>The RawInkSample.</returns> public RawInkSample CalibratedToRaw(Graphics g, CalibratedInkSample sample, Size clientArea) { //don't bother calibrating invalid samples if (sample.IsInvalid()) return new RawInkSample(sample.Time, sample.X, sample.Y, sample.Pressure); //next apply this instance's calibration sample = PipelinedCalibratedToRawConversion(g, sample, clientArea); //return a raw sample return new RawInkSample(sample.Time, sample.X, sample.Y, sample.Pressure); }
protected override CalibratedInkSample PipelinedCalibratedToRawConversion(System.Drawing.Graphics g, CalibratedInkSample sample, System.Drawing.Size clientArea) { //TODO: implement return base.PipelinedCalibratedToRawConversion(g, sample, clientArea); }
private void InputControl_NewInkSample(CalibratedInkSample s) { DrawSample(s); }
protected override CalibratedInkSample PipelinedCalibratedToRawConversion(Graphics g, CalibratedInkSample sample, Size clientArea) { sample = base.PipelinedCalibratedToRawConversion(g, sample, clientArea); Point areaVector = new Point(clientArea.Width, clientArea.Height); InkRenderer.PixelToInkSpace(g, ref areaVector); sample.X += areaVector.X >> 1; sample.Y += areaVector.Y >> 1; return(sample); }
protected virtual CalibratedInkSample PipelinedCalibratedToRawConversion(Graphics g, CalibratedInkSample sample, Size clientArea) { //invoke the base calibration if (_BaseCalibration != null) { sample = _BaseCalibration.PipelinedCalibratedToRawConversion(g, sample, clientArea); } //default implementation does no calibration return(sample); }