private void AdjustViewport(Vector2D point)
		{
			if (viewport == Rectangle.Zero)
				viewport = new Rectangle(point, Size.Zero);
			else
				UpdateEdges(point);
		}
		public MouseHoldTrigger(Rectangle holdArea, float holdTime = DefaultHoldTime,
			MouseButton button = MouseButton.Left)
		{
			HoldArea = holdArea;
			HoldTime = holdTime;
			Button = button;
		}
 public override void DrawRectangle(Rectangle area)
 {
     Rectangle pixelRect = device.Screen.ToPixelSpace(area);
     var sharpRect = new RectangleF(pixelRect.Left, pixelRect.Top, pixelRect.Right,
         pixelRect.Bottom);
     device.RenderTarget.FillRectangle(sharpRect, solidColorBrush);
 }
Beispiel #4
0
		public ItemEffect(Material material, Rectangle drawArea, float duration)
			: base(material, drawArea, duration)
		{
			RenderLayer = (int)RenderLayers.Items;
			Add(new Damage { Interval = 0.25f });
			Start<DoDamage>();
		}
Beispiel #5
0
 public void Bottom()
 {
     var rect = new Rectangle(1, 2, 10, 20) { Bottom = 23 };
     Assert.AreEqual(3, rect.Top);
     Assert.AreEqual(23, rect.Bottom);
     Assert.AreEqual(20, rect.Height);
 }
Beispiel #6
0
 private void MoveSprite()
 {
     float percentage = elapsed / timeout;
     Point topLeft = Point.Lerp(startDrawArea.TopLeft, endDrawArea.TopLeft, percentage);
     Size size = Size.Lerp(startDrawArea.Size, endDrawArea.Size, percentage);
     DrawArea = new Rectangle(topLeft, size);
 }
Beispiel #7
0
		private bool CheckBounds(Rectangle view)
		{
			if (view.Left > DrawArea.Left) return false;
			if (view.Right < DrawArea.Right) return false;
			if (DrawArea.Top < 0) return false;
			return view.Top + 0.05f <= DrawArea.Center.Y;
		}
Beispiel #8
0
 public void Clip(Rectangle clippingBounds)
 {
     var line = new ClippedLine(StartPoint, EndPoint, clippingBounds);
     StartPoint = line.StartPoint;
     EndPoint = line.EndPoint;
     IsVisible = line.IsVisible;
 }
Beispiel #9
0
		internal Label(Theme theme, Material material, Rectangle drawArea)
			: base(theme, material, drawArea)
		{
			var fontText = new FontText(theme.Font, "", GetFontTextDrawArea());
			Add(fontText);
			AddChild(fontText);
		}
Beispiel #10
0
		public Polygon2D(Rectangle drawArea, Color color)
			: base(drawArea)
		{
			Color = color;
			Add(new List<Vector2D>());
			OnDraw<DrawPolygon2D>();
		}
Beispiel #11
0
 public void CreateFromRectangle(Type resolver)
 {
     var halfScreenRect = new Rectangle(Point.Zero, Size.Half);
     Rect box = null;
     Start(resolver, (Renderer r) => r.Add(box = new Rect(halfScreenRect, Color.Red)),
         () => Assert.AreEqual(Color.Red, box.Color));
 }
Beispiel #12
0
			private static void RecalculateUV(Matrix matrix, Sprite entity, float angle)
			{
				var yScaled = RecalculateYCoordinate(matrix, angle);
				var uv = new Rectangle(entity.UV.Left,
					0.25f - ((1 - entity.UV.Height)) * yScaled, entity.UV.Width,
					entity.UV.Height);
				entity.UV = uv;
			}
Beispiel #13
0
		private void DeriveExtremities()
		{
			float width = viewport.Width / (1 + 2 * Buffer);
			float left = viewport.Center.X - width / 2;
			float height = viewport.Height / (1 + 2 * Buffer);
			float top = viewport.Center.Y - height / 2;
			extremities = new Rectangle(left, top, width, height);
		}
Beispiel #14
0
		public Slider(Theme theme, Rectangle drawArea)
			: base(theme, theme.Slider, drawArea)
		{
			var data = new Data { MinValue = 0, Value = 100, MaxValue = 100 };
			Add(data);
			Add(new Picture(theme, theme.SliderPointer, Rectangle.Unused));
			AddChild(Pointer);
		}
Beispiel #15
0
		private static Vector2D ToQuadratic(Vector2D point, Rectangle viewport, Rectangle drawArea)
		{
			float borderWidth = viewport.Width * Graph.Border;
			float borderHeight = viewport.Height * Graph.Border;
			float x = (point.X - viewport.Left + borderWidth) / (viewport.Width + 2 * borderWidth);
			float y = (point.Y - viewport.Top + borderHeight) / (viewport.Height + 2 * borderHeight);
			return new Vector2D(drawArea.Left + x * drawArea.Width, drawArea.Bottom - y * drawArea.Height);
		}
Beispiel #16
0
 public ZoomingEffect(Image image, Rectangle startDrawArea, Rectangle endDrawArea,
     float timeout = 1.0f)
     : base(image, startDrawArea)
 {
     this.startDrawArea = startDrawArea;
     this.endDrawArea = endDrawArea;
     this.timeout = timeout;
 }
Beispiel #17
0
		private void UpdateViewportFromExtremities()
		{
			float width = extremities.Width * (1 + 2 * Buffer);
			float left = extremities.Center.X - width / 2;
			float height = extremities.Height * (1 + 2 * Buffer);
			float top = extremities.Center.Y - height / 2;
			viewport = new Rectangle(left, top, width, height);
		}
 public void CreateOutlinedRectFromRectangle(Type resolver)
 {
     var halfScreenRect = new Rectangle(Point.Zero, Size.Half);
     OutlinedRect outlinedRect = null;
     Start(resolver, (Renderer r) =>
         r.Add(outlinedRect = new OutlinedRect(halfScreenRect, Color.Red)),
         () => Assert.AreEqual(Color.Red, outlinedRect.Color));
 }
Beispiel #19
0
 public void SpawnAtRandomLocation()
 {
     int x = random.Get(2, gridSize - 2);
     int y = random.Get(2, gridSize - 2);
     var newRandomPos = new Vector2D(x * blockSize, y * blockSize);
     var newDrawArea = new Rectangle(newRandomPos, new Size(blockSize));
     DrawArea = newDrawArea;
 }
 public GradientFilledRect(Rectangle drawArea, Color startColor, Color finalColor)
     : base(drawArea)
 {
     Color = startColor;
     FinalColor = finalColor;
     UpdateCorners();
     OnDraw<GradientRectRenderer>();
 }
Beispiel #21
0
        public override void DrawRectangle(Rectangle area)
        {
            Rectangle pixelRect = device.Screen.ToPixelSpace(area);
            var       sharpRect = new RectangleF(pixelRect.Left, pixelRect.Top, pixelRect.Right,
                                                 pixelRect.Bottom);

            device.RenderTarget.FillRectangle(sharpRect, solidColorBrush);
        }
Beispiel #22
0
		public RadioButton(Theme theme, Rectangle drawArea, string text = "")
			: base(theme, theme.RadioButtonBackground, drawArea)
		{
			Text = text;
			var selector = new Picture(theme, theme.RadioButtonNotSelected, GetSelectorDrawArea());
			Add(selector);
			AddChild(selector);
		}
Beispiel #23
0
 public Scrollbar(Theme theme, Rectangle drawArea)
     : base(theme, theme.Scrollbar, drawArea)
 {
     var data = new Data { MinValue = 0, MaxValue = 99, LeftValue = 90, ValueWidth = 10 };
     Add(data);
     Add(new Picture(theme, theme.ScrollbarPointer, Rectangle.Unused));
     AddChild(Pointer);
 }
Beispiel #24
0
 public TextBox(Theme theme, Rectangle drawArea, string text = "")
     : base(theme, theme.TextBox, drawArea)
 {
     Text = text;
     PreviousText = text;
     State.CanHaveFocus = true;
     Start<Keyboard>();
 }
Beispiel #25
0
 public void Contains()
 {
     var rect = new Rectangle(1, 2, 10, 20);
     Assert.IsTrue(rect.Contains(new Vector2D(1, 2)));
     Assert.IsTrue(rect.Contains(new Vector2D(5, 5)));
     Assert.IsFalse(rect.Contains(new Vector2D(11, 5)));
     Assert.IsFalse(rect.Contains(new Vector2D(5, 22)));
 }
 public void HoldOnRectangle()
 {
     var drawArea = new Rectangle(0.25f, 0.25f, 0.5f, 0.25f);
     new FilledRect(drawArea, Color.Blue);
     var trigger = new TouchHoldTrigger(drawArea);
     var counter = 0;
     var text = new FontText(Font.Default, "", drawArea.Move(new Vector2D(0.0f, 0.25f)));
     new Command(() => text.Text = "TouchHold Triggered " + ++counter + " times.").Add(trigger);
 }
Beispiel #27
0
		private static Vector2D[] GetRotatedRectangelCorners(Rectangle rectangle, float angle)
		{
			var newCorners = new Vector2D[4];
			newCorners[0] = rectangle.TopLeft.RotateAround(rectangle.Center, angle);
			newCorners[1] = rectangle.TopRight.RotateAround(rectangle.Center, angle);
			newCorners[2] = rectangle.BottomLeft.RotateAround(rectangle.Center, angle);
			newCorners[3] = rectangle.BottomRight.RotateAround(rectangle.Center, angle);
			return newCorners;
		}
Beispiel #28
0
		private void UpdateGraphics()
		{
			var firstLineDrawArea = Get<Data>().FirstLineDrawArea;
			DrawArea = new Rectangle(firstLineDrawArea.Left, firstLineDrawArea.Top,
				firstLineDrawArea.Width, firstLineDrawArea.Height * DisplayCount);
			UpdateScrollbar();
			ClearOldSelectionBoxTexts();
			CreateNewSelectionBoxTexts();
		}
Beispiel #29
0
		public PhysicalEntity2D(Physics physics, Rectangle drawArea, Vector2D impulse,
			float lifeTime = 0)
			: base(drawArea)
		{
			LifeTime = lifeTime;
			ElapsedTime = 0;
			AddNewPhysicsBody(physics, drawArea, impulse);
			Start<AffixToPhysics2D>();
		}
Beispiel #30
0
		private void AddNewPhysicsBody(Physics physics, Rectangle area, Vector2D impulse)
		{
			var physicsBody = physics.CreateRectangle(area.Size);
			physicsBody.Position = area.Center;
			physicsBody.Rotation = impulse.RotationTo(Vector2D.UnitX);
			physicsBody.IsStatic = false;
			physicsBody.ApplyLinearImpulse(impulse);
			Add(physicsBody);
		}
Beispiel #31
0
        public override void DrawRectangle(Rectangle area)
        {
            if (spriteBatch == null)
                spriteBatch = new SpriteBatch(device.NativeDevice);

            spriteBatch.Begin();
            spriteBatch.Draw(brushTexture, ConvertToNativeXnaRectangle(area), XnaColor.White);
            spriteBatch.End();
        }