Beispiel #1
0
proto.setValue = function (value, ignoreRelocation) {
	if (value === undefined) throw Error('Picker value cannot be undefined.');

	var self = this;
	//apply repeat
	if (self.repeat) {
		if (value.length === 2 && self.repeat === 'x') value[0] = loop(value[0], self.min[0], self.max[0]);
		else if (value.length === 2 && self.repeat === 'y') value[1] = loop(value[1], self.min[1], self.max[1]);
		else value = loop(value, self.min, self.max);
	}

	//apply limiting
	value = between(value, self.min, self.max);

	//round value
	if (self.step) {
		if (isFn(self.step)) value = round(value, self.step(value));
		else value = round(value, self.step);
	}

	//update position
	if (!ignoreRelocation) self.renderValue(value);

	//check whether value is actually changed
	if (!eq(self._value, value)) {
		self._value = value;

		//trigger change event on self
		//not the same as native input change
		self.emit('change', value);
	}

	return value;
};
Beispiel #2
0
module.exports = function (color, degrees) {
	var value = color.hue();
	value += degrees;
	color.hue(loop(value, 0, 360));
	return color;
};