SimplyPebble.onAccelData = function(packet) { var samples = packet.samples(); var accels = []; AccelData._view = packet._view; AccelData._offset = packet._size; for (var i = 0; i < samples; ++i) { accels.push(AccelData.prop()); AccelData._offset += AccelData._size; } if (!packet.peek()) { Accel.emitAccelData(accels); } else { var handlers = accelListeners; accelListeners = []; for (var j = 0, jj = handlers.length; j < jj; ++j) { Accel.emitAccelData(accels, handlers[j]); } } };
SimplyPebble.onPacket = function(buffer, offset) { Packet._view = buffer; Packet._offset = offset; var packet = CommandPackets[Packet.type()]; if (!packet) { console.log('Received unknown packet: ' + JSON.stringify(buffer)); return; } packet._view = Packet._view; packet._offset = offset; switch (packet) { case WindowHideEventPacket: WindowStack.emitHide(packet.id()); break; case ClickPacket: Window.emitClick('click', buttonTypes[packet.button()]); break; case LongClickPacket: Window.emitClick('longClick', buttonTypes[packet.button()]); break; case AccelDataPacket: var samples = packet.samples(); var accels = []; AccelData._view = packet._view; AccelData._offset = packet._size; for (var i = 0; i < samples; ++i) { accels.push(AccelData.prop()); AccelData._offset += AccelData._size; } if (!packet.peek()) { Accel.emitAccelData(accels); } else { var handlers = accelListeners; accelListeners = []; for (var j = 0, jj = handlers.length; j < jj; ++j) { Accel.emitAccelData(accels, handlers[j]); } } break; case AccelTapPacket: Accel.emitAccelTap(accelAxes[packet.axis()], packet.direction()); break; case MenuGetSectionPacket: Menu.emitSection(packet.section()); break; case MenuGetItemPacket: Menu.emitItem(packet.section(), packet.item()); break; case MenuSelectPacket: Menu.emitSelect('menuSelect', packet.section(), packet.item()); break; case MenuLongSelectPacket: Menu.emitSelect('menuLongSelect', packet.section(), packet.item()); break; case MenuSelectionEventPacket: Menu.emitSelect('menuSelection', packet.section(), packet.item()); break; case ElementAnimateDonePacket: StageElement.emitAnimateDone(packet.id()); break; } };
SimplyPebble.menuProps = function(def) { SimplyPebble.sendPacket(MenuPropsPacket.prop(def)); };
SimplyPebble.accelConfig = function(def) { SimplyPebble.sendPacket(AccelConfigPacket.prop(def)); };
SimplyPebble.windowProps = function(def, backgroundColor) { WindowPropsPacket .prop(def) .backgroundColor(backgroundColor); SimplyPebble.sendPacket(WindowPropsPacket); };
SimplyPebble.windowShow = function(def) { SimplyPebble.sendPacket(WindowShowPacket.prop(def)); };
SimplyPebble.windowProps = function(def) { WindowPropsPacket .prop(def) .backgroundColor(def.backgroundColor || 'white'); SimplyPebble.sendPacket(WindowPropsPacket); };