public ISpriteContainer XCreateSpriteContainer(uint buffersize)
    {
        global::System.IntPtr cPtr = IronSightEnginePINVOKE.IOutputWindow_XCreateSpriteContainer(swigCPtr, buffersize);
        ISpriteContainer      ret  = (cPtr == global::System.IntPtr.Zero) ? null : new ISpriteContainer(cPtr, false);

        return(ret);
    }
Example #2
0
    public virtual ISpriteContainer GetSpriteContainer()
    {
        global::System.IntPtr cPtr = IronSightEnginePINVOKE.IHUD_GetSpriteContainer(swigCPtr);
        ISpriteContainer      ret  = (cPtr == global::System.IntPtr.Zero) ? null : new ISpriteContainer(cPtr, false);

        return(ret);
    }
Example #3
0
 public SpriteManager(ISpritingSettings config, IImageLoader imageLoader, Func <byte[], string> generateSpriteUrl, IPngOptimizer pngOptimizer)
 {
     this.pngOptimizer      = pngOptimizer;
     this.config            = config;
     this.generateSpriteUrl = generateSpriteUrl;
     SpriteContainer        = new SpriteContainer(imageLoader, config);
     Errors = new List <SpriteException>();
 }
Example #4
0
 public SpriteManager(IWebClientWrapper webClientWrapper, IRRConfiguration config, IUriBuilder uriBuilder, IStore store)
 {
     this.webClientWrapper = webClientWrapper;
     this.uriBuilder = uriBuilder;
     this.store = store;
     this.config = config;
     SpriteContainer = new SpriteContainer(webClientWrapper);
 }
Example #5
0
 public SpriteManager(ISpritingSettings config, IImageLoader imageLoader, Func<byte[], string> generateSpriteUrl, IPngOptimizer pngOptimizer)
 {
     this.pngOptimizer = pngOptimizer;
     this.config = config;
     this.generateSpriteUrl = generateSpriteUrl;
     SpriteContainer = new SpriteContainer(imageLoader, config);
     Errors = new List<SpriteException>();
 }
Example #6
0
 public SpriteManager(IWebClientWrapper webClientWrapper, IRRConfiguration config, IUriBuilder uriBuilder, IStore store, IPngOptimizer pngOptimizer)
 {
     this.webClientWrapper = webClientWrapper;
     this.uriBuilder       = uriBuilder;
     this.store            = store;
     this.pngOptimizer     = pngOptimizer;
     this.config           = config;
     SpriteContainer       = new SpriteContainer(webClientWrapper, config);
 }
Example #7
0
 public virtual void Flush()
 {
     if (SpriteContainer.Size > 0)
     {
         RRTracer.Trace("Beginning to Flush sprite");
         using (var spriteWriter = new SpriteWriter(SpriteContainer.Width, SpriteContainer.Height))
         {
             var offset = 0;
             foreach (var image in SpriteContainer)
             {
                 spriteWriter.WriteImage(image.Image);
                 image.Position = offset;
                 offset        += image.Image.Width + 1;
             }
             var    bytes = spriteWriter.GetBytes("image/png");
             byte[] optBytes;
             try
             {
                 optBytes = (config.ImageOptimizationDisabled || !config.IsFullTrust) ? bytes : pngOptimizer.OptimizePng(bytes, config.ImageOptimizationCompressionLevel, config.ImageQuantizationDisabled);
             }
             catch (OptimizationException optEx)
             {
                 optBytes = bytes;
                 RRTracer.Trace(string.Format("Errors optimizing {0}. Received Error: {1}", SpritedCssKey, optEx.Message));
                 if (Registry.CaptureErrorAction != null)
                 {
                     Registry.CaptureErrorAction(optEx);
                 }
             }
             var url = GetSpriteUrl(optBytes);
             store.Save(optBytes, url, null);
             foreach (var image in SpriteContainer)
             {
                 image.Url = url;
                 foreach (var dupImage in SpriteList)
                 {
                     if (dupImage.Key.Equals(image.Metadata) && dupImage.Value.Position == -1)
                     {
                         dupImage.Value.Position = image.Position;
                         dupImage.Value.Url      = image.Url;
                     }
                 }
             }
         }
         RRTracer.Trace("Finished Flushing sprite");
     }
     SpriteContainer = new SpriteContainer(webClientWrapper, config);
 }
Example #8
0
 public virtual IList <Sprite> Flush()
 {
     if (SpriteContainer.Size > 0)
     {
         Tracer.Trace("Beginning to Flush sprite");
         using (var spriteWriter = new SpriteWriter(SpriteContainer.Width, SpriteContainer.Height))
         {
             var offset = 0;
             foreach (var image in SpriteContainer)
             {
                 spriteWriter.WriteImage(image.Image);
                 image.Position = offset;
                 offset        += image.Image.Width + 1;
             }
             var    bytes = spriteWriter.GetBytes("image/png");
             byte[] optBytes;
             try
             {
                 optBytes = (config.ImageOptimizationDisabled || !config.IsFullTrust) ? bytes : pngOptimizer.OptimizePng(bytes, config.ImageOptimizationCompressionLevel, config.ImageQuantizationDisabled);
             }
             catch (OptimizationException optEx)
             {
                 optBytes = bytes;
                 var message = string.Format("Errors optimizing. Received Error: {0}", optEx.Message);
                 Tracer.Trace(message);
                 Errors.Add(new SpriteException(message, optEx));
             }
             var url = generateSpriteUrl(optBytes);
             foreach (var image in SpriteContainer)
             {
                 image.Url = url;
                 foreach (var dupImage in spriteList)
                 {
                     if (dupImage.Key.Equals(image.Metadata) && dupImage.Value.Position == -1)
                     {
                         dupImage.Value.Position = image.Position;
                         dupImage.Value.Url      = image.Url;
                     }
                 }
             }
             finalSprites.Add(new Sprite(url, optBytes));
         }
         Tracer.Trace("Finished Flushing sprite");
     }
     SpriteContainer = new SpriteContainer(ImageLoader, config);
     return(finalSprites);
 }
 internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ISpriteContainer obj)
 {
     return((obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr);
 }
Example #10
0
 public virtual void Flush()
 {
     if(SpriteContainer.Size > 0)
     {
         using (var spriteWriter = new SpriteWriter(SpriteContainer.Width, SpriteContainer.Height))
         {
             var offset = 0;
             foreach (var image in SpriteContainer)
             {
                 spriteWriter.WriteImage(image.Image);
                 image.Position = offset;
                 offset += image.Image.Width + 1;
             }
             var bytes = spriteWriter.GetBytes("image/png");
             byte[] optBytes = null;
             try
             {
                 optBytes = (config.ImageOptimizationDisabled || !config.IsFullTrust) ? bytes : pngOptimizer.OptimizePng(bytes, config.ImageOptimizationCompressionLevel, config.ImageQuantizationDisabled);
             }
             catch (OptimizationException optEx)
             {
                 optBytes = bytes;
                 RRTracer.Trace(string.Format("Errors optimizing {0}. Received Error: {1}", SpritedCssKey, optEx.Message));
                 if (Registry.CaptureErrorAction != null)
                     Registry.CaptureErrorAction(optEx);
             }
             var url = GetSpriteUrl(optBytes);
             store.Save(optBytes, url, null);
             foreach (var image in SpriteContainer)
                 image.Url = url;
         }
     }
     SpriteContainer.Dispose();
     SpriteContainer = new SpriteContainer(webClientWrapper, config);
     return;
 }
Example #11
0
 virtual public void SetSpriteCotnainer(ISpriteContainer spriteContainer)
 {
     m_spriteRender = spriteContainer;
 }
Example #12
0
        public virtual void Flush()
        {
            if(SpriteContainer.Size > 0)
            {
                using (var spriteWriter = new SpriteWriter(SpriteContainer.Width, SpriteContainer.Height))
                {
                    foreach (var image in SpriteContainer)
                        spriteWriter.WriteImage(image);

                    var bytes = spriteWriter.GetBytes("image/png");
                    var url = GetSpriteUrl(bytes);
                    store.Save(bytes, url, null);
                    foreach (var sprite in spriteList.Values.Where(x => x.SpriteIndex == spriteIndex))
                        sprite.Url = url;
                }
                ++spriteIndex;
            }
            SpriteContainer.Dispose();
            SpriteContainer = new SpriteContainer(webClientWrapper);
            return;
        }
Example #13
0
 public virtual IList<Sprite> Flush()
 {
     if(SpriteContainer.Size > 0)
     {
         Tracer.Trace("Beginning to Flush sprite");
         using (var spriteWriter = new SpriteWriter(SpriteContainer.Width, SpriteContainer.Height))
         {
             var offset = 0;
             foreach (var image in SpriteContainer)
             {
                 spriteWriter.WriteImage(image.Image);
                 image.Position = offset;
                 offset += image.Image.Width + 1;
             }
             var bytes = spriteWriter.GetBytes("image/png");
             byte[] optBytes;
             try
             {
                 optBytes = (config.ImageOptimizationDisabled || !config.IsFullTrust) ? bytes : pngOptimizer.OptimizePng(bytes, config.ImageOptimizationCompressionLevel, config.ImageQuantizationDisabled);
             }
             catch (OptimizationException optEx)
             {
                 optBytes = bytes;
                 var message = string.Format("Errors optimizing. Received Error: {0}", optEx.Message);
                 Tracer.Trace(message);
                 Errors.Add(new SpriteException(message, optEx));
             }
             var url = generateSpriteUrl(optBytes);
             foreach (var image in SpriteContainer)
             {
                 image.Url = url;
                 foreach (var dupImage in spriteList)
                 {
                     if (dupImage.Key.Equals(image.Metadata) && dupImage.Value.Position == -1)
                     {
                         dupImage.Value.Position = image.Position;
                         dupImage.Value.Url = image.Url;
                     }
                 }
             }
             finalSprites.Add(new Sprite(url, optBytes));
         }
         Tracer.Trace("Finished Flushing sprite");
     }
     SpriteContainer = new SpriteContainer(ImageLoader, config);
     return finalSprites;
 }