Пример #1
0
        public static unsafe byte[] ConvertToBytes <TIn>(
            this IImageFormatter <TIn, IntPtr> Formatter, [In] ref ImageBuffer <TIn> In,
            PixelFlags Options = DefaultOptions)
        {
            if (null == Formatter)
            {
                throw new NullReferenceException("Formatter was null");
            }

            if (In.Dimensions.ByteCount == 0)
            {
                return(null);
            }

            int Size = Formatter.CalculateByteSize(ref In);

            if (Size <= 0)
            {
                return(null);
            }
            byte[] Buf = new byte[Size];
            fixed(byte *ptr = Buf)
            {
                var O = new ImageBuffer <IntPtr>((IntPtr)ptr, In.Dimensions / Options, (uint)Size);

                if (!Formatter.Convert(ref In, ref O))
                {
                    Buf = null;
                }
            }

            return(Buf);
        }
Пример #2
0
        public static EmailNotification Create(UserNotification notification, IImageFormatter imageFormatter)
        {
            var result = new EmailNotification
            {
                Body        = OrNull(notification.Formatting.Body),
                LinkText    = OrNull(notification.Formatting.LinkText),
                LinkUrl     = OrNull(notification.Formatting.LinkUrl),
                TrackingUrl = notification.TrackingUrl,
                Subject     = notification.Formatting.Subject,
            };

            if (!string.IsNullOrWhiteSpace(notification.Formatting.ImageLarge))
            {
                result.ImageLarge = imageFormatter.Format(notification.Formatting.ImageLarge, "EmailLarge");
            }

            if (!string.IsNullOrWhiteSpace(notification.Formatting.ImageSmall))
            {
                result.ImageSmall = imageFormatter.Format(notification.Formatting.ImageSmall, "EmailLarge");
            }

            if (notification.Formatting.ConfirmMode == ConfirmMode.Explicit)
            {
                result.ConfirmText = OrNull(notification.Formatting.ConfirmText);
                result.ConfirmUrl  = notification.ConfirmUrl;
            }

            return(result);
        }
Пример #3
0
 public static bool Convert <TIn, TOut>(
     this IImageFormatter <TIn, TOut> Formatter,
     [In] ref ImageBuffer <TIn> In,
     [In, Out] ref TOut Out, uint Length, PixelFlags Options = DefaultOptions)
 {
     return(Convert <TIn, TOut>(Formatter, ref In, ref Out, 0u, Length, Options));
 }
Пример #4
0
 public static bool Convert <TIn, TOut>(
     this IImageFormatter <TIn, TOut[]> Formatter,
     [In] ref ImageBuffer <TIn> In,
     TOut[] Out,
     PixelFlags Options = DefaultOptions)
 {
     return(Formatter.Convert <TIn, TOut[]>(
                In: ref In,
                Out: ref Out,
                Offset: 0u,
                Length: (uint)Out.Length,
                Options: Options));
 }
Пример #5
0
        public static bool Convert <TIn, TOut>(
            this IImageFormatter <TIn, TOut> Formatter,
            [In] ref ImageBuffer <TIn> In,
            [In, Out] ref TOut Out, uint Offset, uint Length, PixelFlags Options = DefaultOptions)
        {
            if (null == Formatter)
            {
                throw new NullReferenceException("Formatter was null");
            }
            var OutBuf = new ImageBuffer <TOut>(Out, In.Dimensions / Options, Offset, Length);

            try
            {
                return(Formatter.Convert(ref In, ref OutBuf));
            }
            finally
            {
                Out = OutBuf.Buffer;
            }
        }
Пример #6
0
        public static string ImageLarge(this BaseUserNotification notification, IImageFormatter imageFormatter, string preset)
        {
            var formatting = notification.Formatting;

            return(imageFormatter.Format(formatting.ImageLarge, preset));
        }
Пример #7
0
 public EmailFormatterLiquid(IImageFormatter imageFormatter, IEmailUrl emailUrl, IMjmlRenderer mjmlRenderer)
     : base(mjmlRenderer)
 {
     this.imageFormatter = imageFormatter;
     this.emailUrl       = emailUrl;
 }
Пример #8
0
 protected override IEmailFormatter CreateFormatter(IEmailUrl url, IImageFormatter imageFormatter)
 {
     return(new EmailFormatterLiquid(imageFormatter, url, new MjmlRenderer()));
 }
Пример #9
0
        public EmailFormatter(IImageFormatter imageFormatter, IMjmlServices mjmlServices)
        {
            this.imageFormatter = imageFormatter;

            this.mjmlServices = mjmlServices;
        }
Пример #10
0
 public MessagingFormatter(IImageFormatter imageFormatter)
 {
     this.imageFormatter = imageFormatter;
 }
Пример #11
0
 public static IImageFormatter <byte[], byte[]> BufBuf(this IImageFormatter <byte[], byte[]> Instance)
 {
     return(Instance);
 }
Пример #12
0
 public static IImageFormatter <byte[], IntPtr> BufPtr(this IImageFormatter <byte[], IntPtr> Instance)
 {
     return(Instance);
 }
Пример #13
0
 public static IImageFormatter <IntPtr, byte[]> PtrBuf(this IImageFormatter <IntPtr, byte[]> Instance)
 {
     return(Instance);
 }
Пример #14
0
 //doop
 public static IImageFormatter <IntPtr, IntPtr> PtrPtr(this IImageFormatter <IntPtr, IntPtr> Instance)
 {
     return(Instance);
 }