Ejemplo n.º 1
0
		public void TwoContactsToBytes()
		{
			MultiTouchReport report = new MultiTouchReport(2, true);

			Point point = HidContactInfo.GetPoint(new Point(2,3));
			report.Contacts.Add(CreateContact(HidContactState.Updated, 1, 2, 3, 4, 5));
			report.Contacts.Add(CreateContact(HidContactState.Updated, 2, 2, 3, 4, 5));
			const int expectedPresure = 4 * 5;

			report.ToBytes();

			byte[] data = report.Data;
			BinaryReader reader = new BinaryReader(new MemoryStream(data));
			Assert.AreEqual(3, reader.ReadByte()); //tip, inrange
			Assert.AreEqual(0, reader.ReadByte()); //
			Assert.AreEqual(Convert.ToUInt16(point.X), reader.ReadUInt16()); // x
			Assert.AreEqual(Convert.ToUInt16(point.Y), reader.ReadUInt16()); // y
			Assert.AreEqual(expectedPresure, reader.ReadUInt16()); // pressure
            Assert.AreEqual(4, reader.ReadUInt16()); // width
			Assert.AreEqual(5, reader.ReadUInt16()); // height
			Assert.AreEqual(1, reader.ReadUInt16()); // id

			Assert.AreEqual(3, reader.ReadByte()); //tip, inrange
			Assert.AreEqual(0, reader.ReadByte()); //
			Assert.AreEqual(Convert.ToUInt16(point.X), reader.ReadUInt16()); // x
			Assert.AreEqual(Convert.ToUInt16(point.Y), reader.ReadUInt16()); // y
			Assert.AreEqual(expectedPresure, reader.ReadUInt16()); // pressure
			Assert.AreEqual(4, reader.ReadUInt16()); // width
			Assert.AreEqual(5, reader.ReadUInt16()); // height
			Assert.AreEqual(2, reader.ReadUInt16()); // id

	
			Assert.AreEqual(2, reader.ReadByte());
		}
Ejemplo n.º 2
0
		private void SendContacts(ICollection<HidContactInfo> contactsToSend)
		{
			MultiTouchReport report = new MultiTouchReport((byte) contactsToSend.Count, true);
			int index = 0;
			foreach (HidContactInfo contactInfo in contactsToSend)
			{
				contactInfo.Timestamp = DateTime.Now;
				report.Contacts.Add(contactInfo);
				index++;

				if (contactsToSend.Count - index == 0)
					SendReport(report);
				else if (index % MultiTouchReport.MaxContactsPerReport == 0)
				{
					SendReport(report);
					report = new MultiTouchReport((byte) contactsToSend.Count, false);
				}
			}
		}
Ejemplo n.º 3
0
        private void SendContacts(ICollection <HidContactInfo> contactsToSend)
        {
            MultiTouchReport report = new MultiTouchReport((byte)contactsToSend.Count, true);
            int index = 0;

            foreach (HidContactInfo contactInfo in contactsToSend)
            {
                contactInfo.Timestamp = DateTime.Now;
                report.Contacts.Add(contactInfo);
                index++;

                if (contactsToSend.Count - index == 0)
                {
                    SendReport(report);
                }
                else if (index % MultiTouchReport.MaxContactsPerReport == 0)
                {
                    SendReport(report);
                    report = new MultiTouchReport((byte)contactsToSend.Count, false);
                }
            }
        }
Ejemplo n.º 4
0
		private void SendReport(MultiTouchReport report)
		{
			report.ToBytes();
			device.WriteReport(report);
		}
Ejemplo n.º 5
0
 private void SendReport(MultiTouchReport report)
 {
     report.ToBytes();
     device.WriteReport(report);
 }