public TabletPacketEventArgs(PACKET packet, TabletSettings tabletSettings) { this.packet = packet; this.tabletSettings = tabletSettings; }
protected override void WndProc(ref Message m) { switch (m.Msg) { case WinTab.WT_PROXIMITY: ushort lowWord = (ushort) (m.LParam.ToInt32() & 0xFFFF); ushort hiWord = (ushort) (m.LParam.ToInt32() >> 16); string logLine = "Proximity: handle = " + m.WParam.ToString(); if (lowWord != 0) logLine += " Entering"; else logLine += " Leaving"; if (hiWord != 0) logLine += " Hardware"; else logLine += " Context"; Log(logLine); //base.WndProc(ref m); break; case WinTab.WT_PACKET: PACKET p = new PACKET(); WinTab.WTPacket(m.LParam.ToInt32(),(UInt32)m.WParam.ToInt32(),out p); EnqueuePacket(p); break; default: base.WndProc(ref m); break; } }
private void TabletThread() { PACKET[] Packets = new PACKET[16]; Int32 numPackets = 0; while(tabletSettings.Handle != 0) { try { numPackets = WinTab.WTPacketsGet(tabletSettings.Handle,32,Packets); } catch (Exception e) { Log(e.ToString()); } //if (numPackets>0) Log("Received "+numPackets+" packets"); for(int i=0; i<numPackets; i++) { EnqueuePacket(Packets[i]); } if (numPackets == 0) Thread.Sleep(1); } }
private void EnqueuePacket(PACKET packet) { //Log("Packet: pkX = "+p.pkX+" pkY = "+p.pkY+" pkNormalPressure = "+p.pkNormalPressure); TabletPacketEventArgs evArgs = new TabletPacketEventArgs(packet, tabletSettings); OnTabletPacket(evArgs); }