blob: 0a1275c2adcf8744e3c76b392bcdbb5491332901 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2018 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*******************************************************************************/
package org.eclipse.tracecompass.tmf.ui.colors;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.graphics.RGBA;
import org.eclipse.tracecompass.tmf.core.presentation.RGBAColor;
/**
* RGBA Utility to create them from ints
*
* @author Matthew Khouzam
* @since 4.0
*/
public final class RGBAUtil {
private RGBAUtil() {
// Do nothing
}
/**
* Convert to an RGBA from an integer
*
* @param value
* the integer encoded RGBA
* @return the RGBA
*/
public static RGBA fromInt(int value) {
return new RGBA((value >> 24) & 0xff, (value >> 16) & 0xff, (value >>> 8) & 0xff, value & 0xff);
}
/**
* Convert to an integer from a RGBA
*
* @param value
* the RGBA
* @return the integer encoded RGBA
*/
public static int fromRGBA(RGBA value) {
RGB rgb = value.rgb;
return (rgb.red << 24) | (rgb.green << 16) | (rgb.blue << 8) | value.alpha;
}
/**
* Convert from an RGBAColor to an RGBA, useful for dealing with palettes.
*
* @param color The {@link RGBAColor}
* @return an {@link RGBA}
*/
public static RGBA fromRGBAColor(RGBAColor color) {
return fromInt(color.toInt());
}
}