/*******************************************************************************
 * Copyright (c) 2007, 2018 Borland Software Corporation and others.
 * 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v20.html
 * 
 * Contributors:
 *     Borland Software Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.m2m.internal.qvt.oml.editor.ui;

import org.eclipse.swt.graphics.RGB;

public interface IQvtColorConstants {
    RGB QVT_COMMENT = new RGB(63, 127, 95);
    RGB PROC_INSTR = new RGB(128, 128, 128);
    RGB STRING = new RGB(42, 0, 255);
    RGB DEFAULT = new RGB(0, 0, 0);
    RGB TAG = new RGB(127, 0, 85);
    RGB OCL_TAG = new RGB(127, 0, 85);
	RGB PROPOSAL_BACKGROUND = new RGB(255, 255, 255);
}