//public const int TOP_BAR_HEIGHT = 55; //public const int BOTTOM_BAR_HEIGHT = 7; public static bool SnapToPosition(this EnvDTE.Window win, int positionKey, int displayIndex, DisplayPropertiesOptionPage opt) { var disp1 = opt.GetDisplay1Propeties(); var disp2 = opt.GetDisplay2Propeties(); var splitr = new VerticalScreenSplitter(disp1, disp2); var props = splitr.PostionAt(positionKey, displayIndex); if (props == null) { return(false); } try { win.IsFloating = true; } catch { } win.Left = props.Left; win.Top = props.Top; win.Width = props.Width - opt.WindowLeftMargin - opt.WindowRightMargin; win.Height = props.Height - opt.WindowTopMargin - opt.WindowBottomMargin - (displayIndex == 0 ? opt.TaskbarHeight : 0); return(true); }
public void TestMethod00001() { var sut = new VerticalScreenSplitter( Display.Define(800, 600, 0, 0, 1, 0), Display.Define(300, 400, 0, 600, 3, 0)); sut.PostionAt(1).Left.Should().Be(0); sut.PostionAt(1).Top.Should().Be(0); sut.PostionAt(1).Width.Should().Be(800); sut.PostionAt(1).Height.Should().Be(600); sut.PostionAt(3).Should().BeNull(); sut.PostionAt(1, 1).Left.Should().Be(0); sut.PostionAt(1, 1).Top.Should().Be(600); sut.PostionAt(1, 1).Width.Should().Be(100); sut.PostionAt(1, 1).Height.Should().Be(400); sut.PostionAt(2, 1).Left.Should().Be(100); sut.PostionAt(2, 1).Top.Should().Be(600); sut.PostionAt(2, 1).Width.Should().Be(100); sut.PostionAt(2, 1).Height.Should().Be(400); sut.PostionAt(3, 1).Left.Should().Be(200); sut.PostionAt(3, 1).Top.Should().Be(600); sut.PostionAt(3, 1).Width.Should().Be(100); sut.PostionAt(3, 1).Height.Should().Be(400); sut.PostionAt(4, 1).Should().BeNull(); sut.PostionAt(1, 2).Should().BeNull(); }
public void TestMethod00002() { var sut = new VerticalScreenSplitter( Display.Define(500, 700, 0, 0, 5, 0), Display.Define(600, 400, 500, 0, 3, 0)); sut.PostionAt(1).Left.Should().Be(0); sut.PostionAt(1).Top.Should().Be(0); sut.PostionAt(1).Width.Should().Be(100); sut.PostionAt(1).Height.Should().Be(700); sut.PostionAt(2).Left.Should().Be(100); sut.PostionAt(2).Top.Should().Be(0); sut.PostionAt(2).Width.Should().Be(100); sut.PostionAt(2).Height.Should().Be(700); sut.PostionAt(3).Left.Should().Be(200); sut.PostionAt(3).Top.Should().Be(0); sut.PostionAt(3).Width.Should().Be(100); sut.PostionAt(3).Height.Should().Be(700); sut.PostionAt(4).Left.Should().Be(300); sut.PostionAt(4).Top.Should().Be(0); sut.PostionAt(4).Width.Should().Be(100); sut.PostionAt(4).Height.Should().Be(700); sut.PostionAt(5).Left.Should().Be(400); sut.PostionAt(5).Top.Should().Be(0); sut.PostionAt(5).Width.Should().Be(100); sut.PostionAt(5).Height.Should().Be(700); sut.PostionAt(1, 1).Left.Should().Be(500); sut.PostionAt(1, 1).Top.Should().Be(0); sut.PostionAt(1, 1).Width.Should().Be(200); sut.PostionAt(1, 1).Height.Should().Be(400); sut.PostionAt(2, 1).Left.Should().Be(700); sut.PostionAt(2, 1).Top.Should().Be(0); sut.PostionAt(2, 1).Width.Should().Be(200); sut.PostionAt(2, 1).Height.Should().Be(400); sut.PostionAt(3, 1).Left.Should().Be(900); sut.PostionAt(3, 1).Top.Should().Be(0); sut.PostionAt(3, 1).Width.Should().Be(200); sut.PostionAt(3, 1).Height.Should().Be(400); }
public void TestMethod00002() { var sut = new VerticalScreenSplitter (Display.Define(800, 600, 0, 0, 3, 0)); sut.PostionAt(1).Left.Should().Be(0); sut.PostionAt(1).Top.Should().Be(0); sut.PostionAt(1).Width.Should().Be(800 / 3); sut.PostionAt(1).Height.Should().Be(600); sut.PostionAt(2).Left.Should().Be(800 / 3); sut.PostionAt(2).Top.Should().Be(0); sut.PostionAt(2).Width.Should().Be(800 / 3); sut.PostionAt(2).Height.Should().Be(600); sut.PostionAt(3).Left.Should().Be((800 / 3) * 2); sut.PostionAt(3).Top.Should().Be(0); sut.PostionAt(3).Width.Should().Be(800 / 3); sut.PostionAt(3).Height.Should().Be(600); }