public virtual GLEx SaveBrush() { if (isClosed) { return(this); } if (lastBrush != null) { brushStack.Add(lastBrush = lastBrush.Cpy()); } return(this); }
internal virtual BrushSave Cpy() { BrushSave save = new BrushSave(); save.baseColor = this.baseColor; save.fillColor = this.fillColor; save.pixSkip = this.pixSkip; save.lineWidth = this.lineWidth; save.alltextures = this.alltextures; save.font = this.font; save.patternTex = this.patternTex; save.blend = this.blend; return(save); }
public virtual GLEx RestoreBrush() { if (isClosed) { return(this); } lastBrush = brushStack.PreviousPop(); if (lastBrush != null) { this.SetFont(lastBrush.font); this.SetLineWidth(lastBrush.lineWidth); this.SetBlendMode(lastBrush.blend); } return(this); }
public GLEx(Graphics gfx, RenderTarget target, BaseBatch def, bool alltex, bool saveFrameBuffer) { this.gfx = gfx; this.target = target; this.batch = def; this.affineStack.Add(lastTrans = new Affine2f()); this.colorTex = gfx.FinalColorTex(); if (target != null) { this.Scale(scaleX = target.Xscale(), scaleY = target.Yscale()); } else { this.Scale(scaleX = LSystem.GetScaleWidth(), scaleY = LSystem.GetScaleHeight()); } this.lastBrush = new BrushSave(); this.lastBrush.font = LSystem.GetSystemGameFont(); this.lastBrush.alltextures = alltex; this.lastBrush.pixSkip = LSystem.IsHTML5() ? def_skip_html5 : def_skip; this.lastBrush.blend = BlendMethod.MODE_NORMAL; this.brushStack.Add(lastBrush); this.saveToFrameBufferTexture = saveFrameBuffer; this.Update(); }