public void Add(InvisibleRenderable renderable, Layer layer = null) { invisibleRenderables.Add(renderable); #if !TEST if (layer == null) { layer = Renderer.LayersWritable[0]; } layer.Add(renderable); #endif }
private void UpdateIpsoForRendering() { if (mTempForRendering == null) { // Why do we need managers? //mTempForRendering = new LineRectangle(managers); // And why do we even need a line rectangle? mTempForRendering = new InvisibleRenderable(); } mTempForRendering.X = this.X; mTempForRendering.Y = this.Y; if (mPreRenderWidth.HasValue) { mTempForRendering.Width = this.mPreRenderWidth.Value * mFontScale; mTempForRendering.Height = this.mPreRenderHeight.Value * mFontScale; } else { mTempForRendering.Width = this.mTextureToRender.Width * mFontScale; mTempForRendering.Height = this.mTextureToRender.Height * mFontScale; } //mTempForRendering.Parent = this.Parent; float widthDifference = this.EffectiveWidth - mTempForRendering.Width; if (this.HorizontalAlignment == Graphics.HorizontalAlignment.Center) { mTempForRendering.X += widthDifference / 2.0f; } else if (this.HorizontalAlignment == Graphics.HorizontalAlignment.Right) { mTempForRendering.X += widthDifference; } if (this.VerticalAlignment == Graphics.VerticalAlignment.Center) { mTempForRendering.Y += (this.EffectiveHeight - mTempForRendering.Height) / 2.0f; } else if (this.VerticalAlignment == Graphics.VerticalAlignment.Bottom) { mTempForRendering.Y += this.EffectiveHeight - mTempForRendering.Height; } if (this.Parent != null) { mTempForRendering.X += Parent.GetAbsoluteX(); mTempForRendering.Y += Parent.GetAbsoluteY(); } }
public void Remove(InvisibleRenderable invisibleRenderable) { invisibleRenderables.Remove(invisibleRenderable); Renderer.RemoveRenderable(invisibleRenderable); }
private void UpdateIpsoForRendering() { if (mTempForRendering == null) { // Why do we need managers? //mTempForRendering = new LineRectangle(managers); // And why do we even need a line rectangle? mTempForRendering = new InvisibleRenderable(); } mTempForRendering.X = this.X; mTempForRendering.Y = this.Y; if (mPreRenderWidth.HasValue) { mTempForRendering.Width = this.mPreRenderWidth.Value * mFontScale; mTempForRendering.Height = this.mPreRenderHeight.Value * mFontScale; } else { mTempForRendering.Width = this.mTextureToRender.Width * mFontScale; mTempForRendering.Height = this.mTextureToRender.Height * mFontScale; } //mTempForRendering.Parent = this.Parent; float widthDifference = this.EffectiveWidth - mTempForRendering.Width; Vector3 alignmentOffset = Vector3.Zero; if (this.HorizontalAlignment == Graphics.HorizontalAlignment.Center) { alignmentOffset.X = widthDifference / 2.0f; } else if (this.HorizontalAlignment == Graphics.HorizontalAlignment.Right) { alignmentOffset.X = widthDifference; } if (this.VerticalAlignment == Graphics.VerticalAlignment.Center) { alignmentOffset.Y = (this.EffectiveHeight - mTempForRendering.Height) / 2.0f; } else if (this.VerticalAlignment == Graphics.VerticalAlignment.Bottom) { alignmentOffset.Y = this.EffectiveHeight - mTempForRendering.Height; } var absoluteRotation = this.Rotation; if (absoluteRotation != 0) { var matrix = Matrix.CreateRotationZ(-MathHelper.ToRadians(absoluteRotation)); alignmentOffset = Vector3.Transform(alignmentOffset, matrix); } mTempForRendering.X += alignmentOffset.X; mTempForRendering.Y += alignmentOffset.Y; if (this.Parent != null) { mTempForRendering.X += Parent.GetAbsoluteX(); mTempForRendering.Y += Parent.GetAbsoluteY(); } }