UNPKG

@logitech-mx-creative-console/core

Version:

An npm module for interfacing with the Logitech MX Creative Console

28 lines 1.06 kB
export function generateButtonsGrid(width, height, pixelSize, pixelOffset, pixelPadding, columnOffset = 0) { const controls = []; for (let row = 0; row < height; row++) { for (let column = 0; column < width; column++) { const index = row * width + column; const hidIndex = index + 1; controls.push({ type: 'button', row, column: column + columnOffset, index, hidId: hidIndex, feedbackType: 'lcd', pixelSize, pixelPosition: { // TODO - refine these? x: pixelOffset.x + column * (pixelSize.width + pixelPadding.x), y: pixelOffset.y + row * (pixelSize.height + pixelPadding.y), }, }); } } return controls; } export function freezeDefinitions(controls) { return Object.freeze(controls.map((control) => Object.freeze(control))); } //# sourceMappingURL=controlsGenerator.js.map