mirror of
https://github.com/danieldemus/openhab-core.git
synced 2026-07-29 12:34:22 +02:00
[DSL] Expose ColorUtil methods to DSL rules (#3749)
Fix #3743 Signed-off-by: Laurent Garnier <lg.hc@free.fr>
This commit is contained in:
@@ -39,6 +39,7 @@ Import-Package: \
|
||||
org.openhab.core.transform,\
|
||||
org.openhab.core.transform.actions,\
|
||||
org.openhab.core.types,\
|
||||
org.openhab.core.util,\
|
||||
org.openhab.core.voice,\
|
||||
org.openhab.core.voice.text,\
|
||||
org.openhab.core.io.console,\
|
||||
|
||||
+65
@@ -0,0 +1,65 @@
|
||||
/**
|
||||
* Copyright (c) 2010-2023 Contributors to the openHAB project
|
||||
*
|
||||
* See the NOTICE file(s) distributed with this work for additional
|
||||
* information.
|
||||
*
|
||||
* This program and the accompanying materials are made available under the
|
||||
* terms of the Eclipse Public License 2.0 which is available at
|
||||
* http://www.eclipse.org/legal/epl-2.0
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*/
|
||||
package org.openhab.core.model.script.actions;
|
||||
|
||||
import org.openhab.core.library.types.HSBType;
|
||||
import org.openhab.core.library.types.PercentType;
|
||||
import org.openhab.core.util.ColorUtil;
|
||||
import org.openhab.core.util.ColorUtil.Gamut;
|
||||
|
||||
/**
|
||||
* This class provides static methods mapping methods from package org.openhab.core.util
|
||||
*
|
||||
* @author Laurent Garnier - Initial contribution
|
||||
*/
|
||||
public class CoreUtil {
|
||||
|
||||
public static int[] hsbToRgb(HSBType hsb) {
|
||||
return ColorUtil.hsbToRgb(hsb);
|
||||
}
|
||||
|
||||
public static PercentType[] hsbToRgbPercent(HSBType hsb) {
|
||||
return ColorUtil.hsbToRgbPercent(hsb);
|
||||
}
|
||||
|
||||
public static int hsbTosRgb(HSBType hsb) {
|
||||
return ColorUtil.hsbTosRgb(hsb);
|
||||
}
|
||||
|
||||
public static double[] hsbToXY(HSBType hsb) {
|
||||
return ColorUtil.hsbToXY(hsb);
|
||||
}
|
||||
|
||||
public static double[] hsbToXY(HSBType hsb, double[] gamutR, double[] gamutG, double[] gamutB) {
|
||||
Gamut gamut = new Gamut(gamutR, gamutG, gamutB);
|
||||
return ColorUtil.hsbToXY(hsb, gamut);
|
||||
}
|
||||
|
||||
public static HSBType rgbToHsb(int[] rgb) throws IllegalArgumentException {
|
||||
return ColorUtil.rgbToHsb(rgb);
|
||||
}
|
||||
|
||||
public static HSBType rgbToHsb(PercentType[] rgb) throws IllegalArgumentException {
|
||||
return ColorUtil.rgbToHsb(rgb);
|
||||
}
|
||||
|
||||
public static HSBType xyToHsb(double[] xy) throws IllegalArgumentException {
|
||||
return ColorUtil.xyToHsb(xy);
|
||||
}
|
||||
|
||||
public static HSBType xyToHsb(double[] xy, double[] gamutR, double[] gamutG, double[] gamutB)
|
||||
throws IllegalArgumentException {
|
||||
Gamut gamut = new Gamut(gamutR, gamutG, gamutB);
|
||||
return ColorUtil.xyToHsb(xy, gamut);
|
||||
}
|
||||
}
|
||||
+2
@@ -31,6 +31,7 @@ import org.openhab.core.library.unit.MetricPrefix;
|
||||
import org.openhab.core.library.unit.SIUnits;
|
||||
import org.openhab.core.library.unit.Units;
|
||||
import org.openhab.core.model.script.actions.BusEvent;
|
||||
import org.openhab.core.model.script.actions.CoreUtil;
|
||||
import org.openhab.core.model.script.actions.Exec;
|
||||
import org.openhab.core.model.script.actions.HTTP;
|
||||
import org.openhab.core.model.script.actions.Log;
|
||||
@@ -100,6 +101,7 @@ public class ScriptImplicitlyImportedTypes extends ImplicitlyImportedFeatures {
|
||||
result.add(Transformation.class);
|
||||
result.add(ScriptExecution.class);
|
||||
result.add(URLEncoder.class);
|
||||
result.add(CoreUtil.class);
|
||||
|
||||
result.add(ImperialUnits.class);
|
||||
result.add(MetricPrefix.class);
|
||||
|
||||
Reference in New Issue
Block a user