using Annulus; using Azimuth; namespace Glass.Testbed { public class SolidColorTestCase : TestCase { public SolidColorTestCase(string name) : base(name) { } protected override void Populate() { var swatchSize = new Vector(36, 36); var sampleSize = new Vector(168, 48); AddCaption("Solid colours"); var swatchColors = new[] { System.Drawing.Color.Red, System.Drawing.Color.Green, System.Drawing.Color.Blue, System.Drawing.Color.White, }; Rect swatchRow = ContentAggregator.NewRow(swatchSize.Y); foreach (System.Drawing.Color swatchColor in swatchColors) { var swatch = NewChild("swatch"); swatch.Material = new SolidColorMaterial { Color = swatchColor }; swatch.Bounds = swatchRow.NewCol(swatchSize.X, margin: Margin); } AddCaption("Half alpha over a panel"); Rect dimmedRow = ContentAggregator.NewRow(sampleSize.Y); var dimmed = NewChild("dimmed"); dimmed.Material = UiPacksheetMaterials.GreenFlatPanel; dimmed.Bounds = dimmedRow.NewCol(sampleSize.X); Rect insideDimmed = Rect.FromPositionAndSize(Vector.Zero, dimmed.ClientRect.Size); var dim = dimmed.ChildControls.NewChild(); dim.Material = new SolidColorMaterial { Color = System.Drawing.Color.FromArgb(128, 0, 0, 0) }; dim.Bounds = insideDimmed.NewCol(insideDimmed.Width / 2); AddCaption("Clipped to its parent"); Rect clipperRow = ContentAggregator.NewRow(sampleSize.Y); var clipper = NewChild("clipper"); clipper.Material = UiPacksheetMaterials.GreenFlatPanel; clipper.Bounds = clipperRow.NewCol(sampleSize.X); Rect insideClipper = Rect.FromPositionAndSize(Vector.Zero, clipper.ClientRect.Size); // Grown out of the clipper's own rect rather than guessed at, since overflowing every side is the point. var overflowing = clipper.ChildControls.NewChild(); overflowing.Material = new SolidColorMaterial { Color = System.Drawing.Color.Orange }; overflowing.Bounds = insideClipper.Expand( new Rect.BorderSize { Left = 20, Top = 20, Right = 20, Bottom = 20 }); } } }