UNPKG

@nativescript/core

Version:

A JavaScript library providing an easy to use api for interacting with iOS and Android platform APIs.

57 lines 1.67 kB
// cache the MeasureSpec constants here, to prevent extensive marshaling calls to and from Java // TODO: While this boosts the performance it is error-prone in case Google changes these constants export const MODE_SHIFT = 30; export const MODE_MASK = 0x3 << MODE_SHIFT; export const UNSPECIFIED = 0 << MODE_SHIFT; export const EXACTLY = 1 << MODE_SHIFT; export const AT_MOST = 2 << MODE_SHIFT; export const MEASURED_HEIGHT_STATE_SHIFT = 0x00000010; /* 16 */ export const MEASURED_STATE_TOO_SMALL = 0x01000000; export const MEASURED_STATE_MASK = 0xff000000; export const MEASURED_SIZE_MASK = 0x00ffffff; export function getMode(mode) { switch (mode) { case EXACTLY: return 'Exact'; case AT_MOST: return 'AtMost'; default: return 'Unspecified'; } } export function getMeasureSpecMode(spec) { return spec & MODE_MASK; } export function getMeasureSpecSize(spec) { return spec & ~MODE_MASK; } export function measureSpecToString(measureSpec) { const mode = getMeasureSpecMode(measureSpec); const size = getMeasureSpecSize(measureSpec); let text = 'MeasureSpec: '; if (mode === UNSPECIFIED) { text += 'UNSPECIFIED '; } else if (mode === EXACTLY) { text += 'EXACTLY '; } else if (mode === AT_MOST) { text += 'AT_MOST '; } text += size; return text; } export function round(value) { const res = Math.floor(value + 0.5); if (res !== 0) { return res; } else if (value === 0) { return 0; } else if (value > 0) { return 1; } return -1; } //# sourceMappingURL=layout-helper-common.js.map