From 2352fcc7a1af388def5d7b0c9172f805d707d2c7 Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 5 Aug 2017 15:50:39 -0400 Subject: [PATCH] tint support in GraphicsContext.DrawLine and DrawRectangle --- ShiftOS.Frontend/GUI/ListView.cs | 5 ++++- .../GraphicsSubsystem/GraphicsContext.cs | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/ShiftOS.Frontend/GUI/ListView.cs b/ShiftOS.Frontend/GUI/ListView.cs index b74203d..d4f22a7 100644 --- a/ShiftOS.Frontend/GUI/ListView.cs +++ b/ShiftOS.Frontend/GUI/ListView.cs @@ -169,7 +169,10 @@ namespace ShiftOS.Frontend.GUI if(image != null) { int imageDrawX = _itemx + ((textwidth - texwidth) / 2); - gfx.DrawRectangle(imageDrawX, _itemy, texwidth, texheight, image); + Color tint = Color.White; + if (_items.IndexOf(item) == _selected) + tint = LoadedSkin.ButtonPressedColor.ToMonoColor(); + gfx.DrawRectangle(imageDrawX, _itemy, texwidth, texheight, image, tint); } int texty = _itemy + texheight; diff --git a/ShiftOS.Frontend/GraphicsSubsystem/GraphicsContext.cs b/ShiftOS.Frontend/GraphicsSubsystem/GraphicsContext.cs index 76e97c0..217eb33 100644 --- a/ShiftOS.Frontend/GraphicsSubsystem/GraphicsContext.cs +++ b/ShiftOS.Frontend/GraphicsSubsystem/GraphicsContext.cs @@ -93,12 +93,17 @@ namespace ShiftOS.Frontend.GraphicsSubsystem } public void DrawLine(int x, int y, int x1, int y1, int thickness, Texture2D tex2) + { + DrawLine(x, y, x1, y1, thickness, tex2, Color.White); + } + + public void DrawLine(int x, int y, int x1, int y1, int thickness, Texture2D tex2, Color tint) { x += _startx; y += _starty; int distance = (int)Vector2.Distance(new Vector2(x, y), new Vector2(x1, y1)); float rotation = getRotation(x, y, x1, y1); - _spritebatch.Draw(tex2, new Rectangle(x, y, distance, thickness), null, Color.White, rotation, Vector2.Zero, SpriteEffects.None, 0); + _spritebatch.Draw(tex2, new Rectangle(x, y, distance, thickness), null, tint, rotation, Vector2.Zero, SpriteEffects.None, 0); } public void DrawLine(int x, int y, int x1, int y1, int thickness, Color color) @@ -118,10 +123,15 @@ namespace ShiftOS.Frontend.GraphicsSubsystem } public void DrawRectangle(int x, int y, int width, int height, Texture2D tex2) + { + DrawRectangle(x, y, width, height, tex2, Color.White); + } + + public void DrawRectangle(int x, int y, int width, int height, Texture2D tex2, Color tint) { x += _startx; y += _starty; - _spritebatch.Draw(tex2, new Rectangle(x, y, width, height), Color.White); + _spritebatch.Draw(tex2, new Rectangle(x, y, width, height), tint); } public Vector2 MeasureString(string text, System.Drawing.Font font, int wrapWidth = int.MaxValue)