Beispiel #1
0
        protected void Render(Point newOffset, bool useNewOffset, bool saveRegion)
        {
            Rectangle saveBounds       = Selection.GetBounds();
            PdnRegion selectedRegion   = Selection.CreateRegion();
            PdnRegion simplifiedRegion = Utility.SimplifyAndInflateRegion(selectedRegion);

            if (saveRegion)
            {
                SaveRegion(simplifiedRegion, saveBounds);
            }

            WaitCursorChanger wcc = null;

            if (this.fullQuality && AppEnvironment.ResamplingAlgorithm == ResamplingAlgorithm.Bilinear)
            {
                wcc = new WaitCursorChanger(DocumentWorkspace);
            }

            this.ourContext.LiftedPixels.Draw(
                this.renderArgs.Surface,
                this.context.deltaTransform,
                this.fullQuality ?
                AppEnvironment.ResamplingAlgorithm :
                ResamplingAlgorithm.NearestNeighbor);

            if (wcc != null)
            {
                wcc.Dispose();
                wcc = null;
            }

            activeLayer.Invalidate(simplifiedRegion);
            PositionNubs(this.context.currentMode);

            simplifiedRegion.Dispose();
            selectedRegion.Dispose();
        }
Beispiel #2
0
        protected void Render(Point newOffset, bool useNewOffset, bool saveRegion)
        {
            Rectangle saveBounds = Selection.GetBounds();
            PdnRegion selectedRegion = Selection.CreateRegion();
            PdnRegion simplifiedRegion = Utility.SimplifyAndInflateRegion(selectedRegion);

            if (saveRegion)
            {
                SaveRegion(simplifiedRegion, saveBounds);
            }

            WaitCursorChanger wcc = null;

            if (this.fullQuality && AppEnvironment.ResamplingAlgorithm == ResamplingAlgorithm.Bilinear)
            {
                wcc = new WaitCursorChanger(DocumentWorkspace);
            }

            this.ourContext.LiftedPixels.Draw(
                this.renderArgs.Surface, 
                this.context.deltaTransform, 
                this.fullQuality ? 
                    AppEnvironment.ResamplingAlgorithm :
                    ResamplingAlgorithm.NearestNeighbor);

            if (wcc != null)
            {
                wcc.Dispose();
                wcc = null;
            }

            activeLayer.Invalidate(simplifiedRegion);
            PositionNubs(this.context.currentMode);
            
            simplifiedRegion.Dispose();
            selectedRegion.Dispose();
        }