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); }
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); }
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>(); }
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); }
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>(); }
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); }
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); }
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); }
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; }
virtual public void SetSpriteCotnainer(ISpriteContainer spriteContainer) { m_spriteRender = spriteContainer; }
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; }
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; }