Exemplo n.º 1
0
        private BitmapBrush CreateDirectBrush(
            ImageBrush brush,
            SharpDX.Direct2D1.RenderTarget target,
            Bitmap image, 
            Rect sourceRect, 
            Rect destinationRect)
        {
            var tileMode = brush.TileMode;
            var scale = brush.Stretch.CalculateScaling(destinationRect.Size, sourceRect.Size);
            var translate = CalculateTranslate(brush, sourceRect, destinationRect, scale);
            var transform = Matrix.CreateTranslation(-sourceRect.Position) *
                Matrix.CreateScale(scale) *
                Matrix.CreateTranslation(translate);

            var opts = new BrushProperties
            {
                Transform = transform.ToDirect2D(),
                Opacity = (float)brush.Opacity,
            };

            var bitmapOpts = new BitmapBrushProperties
            {
                ExtendModeX = GetExtendModeX(tileMode),
                ExtendModeY = GetExtendModeY(tileMode),                
            };

            return new BitmapBrush(target, image, bitmapOpts, opts);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Sets the step properties from engine.
 /// </summary>
 /// <param name="paintEngine">Paint engine.</param>
 public void SetStepPropertiesFromEngine(AdvancedMobilePaint paintEngine)
 {
     this.brushMode           = paintEngine.brushMode;
     this.drawMode            = paintEngine.drawMode;
     this.brushSize           = paintEngine.brushSize;
     this.brushTexture        = paintEngine.customBrush;
     this.patternTexture      = paintEngine.pattenTexture;
     this.useAdditiveColors   = paintEngine.useAdditiveColors;
     this.canDrawOnBlack      = paintEngine.canDrawOnBlack;
     this.paintColor          = paintEngine.paintColor;
     this.useLockArea         = paintEngine.useLockArea;
     this.useCustomBrushAlpha = paintEngine.useCustomBrushAlpha;
     this.connectBrushStrokes = paintEngine.connectBrushStokes;
     //this.interpolation=paintEngine.doInterpolation;
     this.useMaskLayerOnly   = paintEngine.useMaskLayerOnly;
     this.useTreshold        = paintEngine.useThreshold;
     this.useMaskImage       = paintEngine.useMaskImage;
     this.brushAlphaStrength = paintEngine.brushAlphaStrength;
     this.vectorBrushType    = paintEngine.vectorBrushType;
     this.brushHeight        = paintEngine.customBrushHeight;
     this.brushWidth         = paintEngine.customBrushWidth;
     this.isLine             = paintEngine.isLinePaint;
     this.isPatternLine      = paintEngine.isPatternLine;
     this.lineEgdeSize       = paintEngine.lineEdgeSize;
 }
Exemplo n.º 3
0
        private BitmapBrush CreateDirectBrush(
            ImageBrush brush,
            SharpDX.Direct2D1.RenderTarget target,
            Bitmap image,
            Rect sourceRect,
            Rect destinationRect)
        {
            var tileMode  = brush.TileMode;
            var scale     = brush.Stretch.CalculateScaling(destinationRect.Size, sourceRect.Size);
            var translate = CalculateTranslate(brush, sourceRect, destinationRect, scale);
            var transform = Matrix.CreateTranslation(-sourceRect.Position) *
                            Matrix.CreateScale(scale) *
                            Matrix.CreateTranslation(translate);

            var opts = new BrushProperties
            {
                Transform = transform.ToDirect2D(),
                Opacity   = (float)brush.Opacity,
            };

            var bitmapOpts = new BitmapBrushProperties
            {
                ExtendModeX = GetExtendModeX(tileMode),
                ExtendModeY = GetExtendModeY(tileMode),
            };

            return(new BitmapBrush(target, image, bitmapOpts, opts));
        }
Exemplo n.º 4
0
        public static SolidColorBrush New(string name, Direct2DDevice device, SolidColor solidColorBrush)
        {
            var brushProperties = new BrushProperties()
            {
                Opacity = solidColorBrush.Opacity
            };

            return(new SolidColorBrush(name, device, solidColorBrush, new SharpDX.Direct2D1.SolidColorBrush(device, solidColorBrush.Color, brushProperties)));
        }
Exemplo n.º 5
0
        public void Draw(RenderTarget renderTarget)
        {
            BrushProperties bp = new BrushProperties();

            bp.Opacity = 0.5f;
            using (var brush = new SolidColorBrush(renderTarget, SharpDX.Color.Red, bp))
            {
                renderTarget.FillRectangle(new RawRectangleF(Position.X - size / 2, Position.Y - size / 2, Position.X + size / 2, Position.Y + size / 2), brush);
            }
        }
Exemplo n.º 6
0
 public static LinearGradientBrush New(string name, Direct2DDevice device, LinearGradient linearGradient)
 {
     using (var d2dGradientStopCollection = new SharpDX.Direct2D1.GradientStopCollection(device,
                                                                                         linearGradient.GradientStops.Select(gs => (SharpDX.Direct2D1.GradientStop)gs).ToArray(),
                                                                                         (SharpDX.Direct2D1.ExtendMode)linearGradient.GradientStops.ExtendMode))
     {
         var lgbProperties = new LinearGradientBrushProperties()
         {
             StartPoint = linearGradient.StartPoint, EndPoint = linearGradient.EndPoint
         };
         var brushProperties = new BrushProperties()
         {
             Opacity = linearGradient.Opacity
         };
         var brush = new SharpDX.Direct2D1.LinearGradientBrush(device, lgbProperties, brushProperties, d2dGradientStopCollection);
         return(new LinearGradientBrush(name, device, linearGradient, brush));
     }
 }
Exemplo n.º 7
0
 public static RadialGradientBrush New(string name, Direct2DDevice device, RadialGradient radialGradient)
 {
     using (var d2dGradientStopCollection = new SharpDX.Direct2D1.GradientStopCollection(device,
                                                                                         radialGradient.GradientStops.Select(gs => (SharpDX.Direct2D1.GradientStop)gs).ToArray(),
                                                                                         (SharpDX.Direct2D1.ExtendMode)radialGradient.GradientStops.ExtendMode))
     {
         var rgbProperties = new RadialGradientBrushProperties
         {
             Center = radialGradient.Center,
             GradientOriginOffset = radialGradient.OriginOffset,
             RadiusX = radialGradient.RadiusX,
             RadiusY = radialGradient.RadiusY
         };
         var brushProperties = new BrushProperties()
         {
             Opacity = radialGradient.Opacity
         };
         var brush = new SharpDX.Direct2D1.RadialGradientBrush(device, rgbProperties, brushProperties, d2dGradientStopCollection);
         return(new RadialGradientBrush(name, device, radialGradient, brush));
     }
 }
Exemplo n.º 8
0
 public Style()
 {
     this.Background = new BrushProperties();
     this.Foreground = new BrushProperties();
 }
Exemplo n.º 9
0
 public ID2D1RadialGradientBrush CreateRadialGradientBrush(RadialGradientBrushProperties radialGradientBrushProperties, BrushProperties brushProperties, ID2D1GradientStopCollection gradientStopCollection)
 {
     return(CreateRadialGradientBrush(ref radialGradientBrushProperties, brushProperties, gradientStopCollection));
 }
Exemplo n.º 10
0
 public ID2D1LinearGradientBrush CreateLinearGradientBrush(LinearGradientBrushProperties linearGradientBrushProperties, BrushProperties brushProperties, ID2D1GradientStopCollection gradientStopCollection)
 {
     return(CreateLinearGradientBrush(linearGradientBrushProperties, brushProperties, gradientStopCollection));
 }
Exemplo n.º 11
0
 public override void SetProperty <T>(BrushProperties property, T value)
 {
     SetProperty <T>(property.ToString(), value);
 }
Exemplo n.º 12
0
 public abstract void SetProperty <T>(BrushProperties property, T value);
Exemplo n.º 13
0
 BrushAsset IAssetManager.LoadBrush(Bitmap bitmap, BitmapBrushProperties? bitmapProps, BrushProperties? brushProps)
 {
     return _assetManager.LoadBrush(bitmap, bitmapProps, brushProps);
 }
Exemplo n.º 14
0
 public BitmapBrushDescription(Bitmap bitmap, BitmapBrushProperties? bitmapProps, BrushProperties? brushProps)
 {
     Bitmap = bitmap;
     BitmapBrushProps = bitmapProps;
     BrushProps = brushProps;
 }
Exemplo n.º 15
0
 BrushAsset IAssetManager.LoadBrush(Bitmap bitmap, BitmapBrushProperties? bitmapBrushProps, BrushProperties? brushProps)
 {
     /// TODFO: THis needs to be finished!!!!
     BitmapBrush brush = new BitmapBrush(RenderTarget2D, bitmap, bitmapBrushProps, brushProps);
     return new BrushAsset(brush);
 }
Exemplo n.º 16
0
 public override T GetProperty <T>(BrushProperties property)
 {
     return(GetProperty <T>(property.ToString()));
 }
Exemplo n.º 17
0
 public abstract T GetProperty <T>(BrushProperties property);
Exemplo n.º 18
0
 public FuzzyBrush(Project project, float fuzziness = 0.5f, float widthP = 50) :
     base(project, Color.Transparent, widthP)
 {
     Fuzziness = fuzziness;
     Panel     = new BrushProperties(this);
 }