Beispiel #1
0
        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 RawInkSample PipelinedRawToCalibratedConversion(Graphics g, RawInkSample sample, Size clientArea)
        {
            sample = base.PipelinedRawToCalibratedConversion(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 RawInkSample to a CalibratedInkSample.
        /// </summary>
        /// <param name="g">The capture- or display- surface graphics object.</param>
        /// <param name="sample">The raw sample to convert.</param>
        /// <param name="clientArea">The capture- or display- surface size in pixels.</param>
        /// <returns>The CalibratedInkSample.</returns>
        public CalibratedInkSample RawToCalibrated(Graphics g, RawInkSample sample, Size clientArea)
        {
            //don't bother calibrating invalid samples
            if (sample.IsInvalid())
            {
                return(new CalibratedInkSample(sample.Time, sample.X, sample.Y, sample.Pressure));
            }

            //next apply this instance's calibration
            sample = PipelinedRawToCalibratedConversion(g, sample, clientArea);

            //return a calibrated sample
            return(new CalibratedInkSample(sample.Time, sample.X, sample.Y, sample.Pressure));
        }
 protected override RawInkSample PipelinedRawToCalibratedConversion(System.Drawing.Graphics g, RawInkSample sample, System.Drawing.Size clientArea)
 {
     //TODO: implement
     return(base.PipelinedRawToCalibratedConversion(g, sample, clientArea));
 }
        protected virtual RawInkSample PipelinedRawToCalibratedConversion(Graphics g, RawInkSample sample, Size clientArea)
        {
            //invoke the base calibration
            if (_BaseCalibration != null)
                sample = _BaseCalibration.PipelinedRawToCalibratedConversion(g, sample, clientArea);

            //default implementation does no calibration
            return sample;
        }
        /// <summary>
        /// Converts a RawInkSample to a CalibratedInkSample.
        /// </summary>
        /// <param name="g">The capture- or display- surface graphics object.</param>
        /// <param name="sample">The raw sample to convert.</param>
        /// <param name="clientArea">The capture- or display- surface size in pixels.</param>
        /// <returns>The CalibratedInkSample.</returns>
        public CalibratedInkSample RawToCalibrated(Graphics g, RawInkSample sample, Size clientArea)
        {
            //don't bother calibrating invalid samples
            if (sample.IsInvalid()) return new CalibratedInkSample(sample.Time, sample.X, sample.Y, sample.Pressure);

            //next apply this instance's calibration
            sample = PipelinedRawToCalibratedConversion(g, sample, clientArea);

            //return a calibrated sample
            return new CalibratedInkSample(sample.Time, sample.X, sample.Y, sample.Pressure);
        }
 protected override RawInkSample PipelinedRawToCalibratedConversion(System.Drawing.Graphics g, RawInkSample sample, System.Drawing.Size clientArea)
 {
     //TODO: implement
     return base.PipelinedRawToCalibratedConversion(g, sample, clientArea);
 }
Beispiel #8
0
        protected override RawInkSample PipelinedRawToCalibratedConversion(Graphics g, RawInkSample sample, Size clientArea)
        {
            sample = base.PipelinedRawToCalibratedConversion(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 RawInkSample PipelinedRawToCalibratedConversion(Graphics g, RawInkSample sample, Size clientArea)
        {
            //invoke the base calibration
            if (_BaseCalibration != null)
            {
                sample = _BaseCalibration.PipelinedRawToCalibratedConversion(g, sample, clientArea);
            }

            //default implementation does no calibration
            return(sample);
        }