Пример #1
0
		private CALayer SetupLayers()
		{
			backgroundLayer = SetupBackgroundLayer ();
			
			backgroundLayer.AddSublayer (SetupClockFaceLayer ());
			backgroundLayer.AddSublayer (SetupBorderLayer ());
			backgroundLayer.AddSublayer (SetupGlossyLayer ());

			return backgroundLayer;
		}
Пример #2
0
 public override void AwakeFromNib ()
 {
         Layer = new CALayer ();
         Layer.AddSublayer (MovingLayer);
         WantsLayer = true;
 }
		public override void AwakeFromNib ()
		{
			// Create the root layer
			rootLayer = new CALayer ();

			// Set the root layer;s background color to black
			rootLayer.BackgroundColor = new CGColor (0,0,0);

			// Create the fire emitter layer
			fireEmitter = new CAEmitterLayer ();
			fireEmitter.Position = new System.Drawing.PointF (225,50);
			fireEmitter.Mode = CAEmitterLayer.ModeOutline;
			fireEmitter.Shape = CAEmitterLayer.ShapeLine;
			fireEmitter.RenderMode = CAEmitterLayer.RenderAdditive;
			fireEmitter.Size = new SizeF (0,0);

			// Create the smoke emitter layer
			smokeEmitter = new CAEmitterLayer ();
			smokeEmitter.Position = new PointF (225,50);
			smokeEmitter.Mode = CAEmitterLayer.ModePoints;

			// Create the fire emitter cell
			CAEmitterCell fire = CAEmitterCell.EmitterCell ();
			fire.EmissionLongitude = (float)Math.PI;
			fire.BirthRate = 0;
			fire.Velocity = 80;
			fire.VelocityRange = 30;
			fire.EmissionRange = 1.1f;
			fire.AccelerationY = 200;
			fire.ScaleSpeed = 0.3f;

			RectangleF rect = RectangleF.Empty;
			CGColor color = new CGColor (0.8f,0.4f,0.2f,0.10f);
			fire.Color = color;
			fire.Contents = NSImage.ImageNamed ("fire.png").AsCGImage (ref rect, null, null);

			// Name the cell so that it can be animated later using keypaths
			fire.Name = "fire";

			// Add the fire emitter cell to the fire emitter layer
			fireEmitter.Cells = new CAEmitterCell[] { fire };

			//Create the smoke emitter cell
			CAEmitterCell smoke = CAEmitterCell.EmitterCell ();
			smoke.BirthRate = 11;
			smoke.EmissionLongitude = (float)Math.PI / 2;
			smoke.LifeTime = 0;
			smoke.Velocity = 40;
			smoke.VelocityRange = 20;
			smoke.EmissionRange = (float)Math.PI / 4;
			smoke.Spin = 1;
			smoke.SpinRange = 6;
			smoke.AccelerationY = 160;
			smoke.Scale = 0.1f;
			smoke.AlphaSpeed = -0.12f;
			smoke.ScaleSpeed = 0.7f;
			smoke.Contents = NSImage.ImageNamed ("smoke.png").AsCGImage (ref rect, null, null);
			//Name the cell so that it can be animated later using keypaths
			smoke.Name = "smoke";

			// Add the smoke emitter cell to the smoke emitter layer
			smokeEmitter.Cells = new CAEmitterCell[] { smoke };

			// Add the two emitter layers to the root layer
			rootLayer.AddSublayer (smokeEmitter);
			rootLayer.AddSublayer (fireEmitter);

			// Set the view's layer to the base layer
			view.Layer = rootLayer;
			view.WantsLayer = true;

			// Set the fire simulation to reflect the intial slider postion
			slidersChanged (this);

			// Force the view to update
			view.NeedsDisplay = true;

		}
Пример #4
0
			public void CreateLineLayers ()
			{
				lineContainer = CALayer.Create ();
				lineContainer.AnchorPoint = new PointF (0, 0);
				lineContainer.Bounds = new RectangleF (0, 0, 640, 480);
				
				lineLayers = new List<CALayer> ();
				foreach (string l in lines) {
					CALayer layer;
					if (l.Trim() == "")
						layer = null;
					else
						layer = GuiUtil.ComposeText (l, fnt, pal, 640/*Painter.SCREEN_RES_X*/ - X_OFFSET * 2, -1, 4);
					lineLayers.Add (layer);
					if (layer != null)
						lineContainer.AddSublayer (layer);
				}
			}
Пример #5
0
		protected override CALayer CreateLayer ()
		{
			layer = CALayer.Create ();
			layer.Bounds = new RectangleF (0, 0, Width, Height);
			layer.AnchorPoint = new PointF (0, 0);
			
			layer.Delegate = new MovieElementLayerDelegate (this);
			
			if (player == null)
				return layer;

			ScalePlayer ();
			
			if (dim != 0) {
				CreateDimLayer ();
				dimLayer.BackgroundColor = new CGColor (0, (float)dim / 255);
				layer.AddSublayer (dimLayer);
			}				
			
			return layer;
		}
		public override void AwakeFromNib ()
		{
			// center our fire horizontally on the view and 15px from the bottom
			var firePosition = new PointF (view.Bounds.Width / 2, 15);

			rootLayer = new CALayer {
				BackgroundColor = new CGColor (0, 0, 0)
			};

			fireEmitter = new CAEmitterLayer {
				Position = firePosition,
				Mode = CAEmitterLayer.ModeOutline,
				Shape = CAEmitterLayer.ShapeLine,
				RenderMode = CAEmitterLayer.RenderAdditive,
				Size = SizeF.Empty,
				Cells = new [] {
					new CAEmitterCell {
						Name = "fire", // name the cell so that it can be animated later using keypaths
						EmissionLongitude = (float)Math.PI,
						BirthRate = 0,
						Velocity = 80,
						VelocityRange = 30,
						EmissionRange = 1.1f,
						AccelerationY = 200,
						ScaleSpeed = 0.3f,
						Color = new CGColor (0.8f, 0.4f, 0.2f, 0.10f),
						Contents = NSImage.ImageNamed ("fire.png").CGImage
					}
				}
			};

			smokeEmitter = new CAEmitterLayer {
				Position = firePosition,
				Mode = CAEmitterLayer.ModePoints,
				Cells = new [] {
					new CAEmitterCell {
						Name = "smoke", // name the cell so that it can be animated later using keypaths
						BirthRate = 11,
						EmissionLongitude = (float)Math.PI / 2,
						LifeTime = 0,
						Velocity = 40,
						VelocityRange = 20,
						EmissionRange = (float)Math.PI / 4,
						Spin = 1,
						SpinRange = 6,
						AccelerationY = 160,
						Scale = 0.1f,
						AlphaSpeed = -0.12f,
						ScaleSpeed = 0.7f,
						Contents = NSImage.ImageNamed ("smoke.png").CGImage
					}
				}
			};

			rootLayer.AddSublayer (smokeEmitter);
			rootLayer.AddSublayer (fireEmitter);

			view.Layer = rootLayer;
			view.WantsLayer = true;

			// Set the fire simulation to reflect the intial slider postion
			slidersChanged (this);

			// Force the view to update
			view.NeedsDisplay = true;
		}