// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

export const MAX_RANK_SENTINEL = 0;
export const GRAPH_MARGIN = 250;
export const SOURCE_PANE_ID = 'left';
export const SOURCE_COLLAPSE_ID = 'source-shrink';
export const SOURCE_EXPAND_ID = 'source-expand';
export const INTERMEDIATE_PANE_ID = 'middle';
export const GRAPH_PANE_ID = 'graph';
export const SCHEDULE_PANE_ID = 'schedule';
export const GENERATED_PANE_ID = 'right';
export const DISASSEMBLY_PANE_ID = 'disassembly';
export const DISASSEMBLY_COLLAPSE_ID = 'disassembly-shrink';
export const DISASSEMBLY_EXPAND_ID = 'disassembly-expand';
export const RANGES_PANE_ID = "ranges";
export const RANGES_COLLAPSE_ID = "ranges-shrink";
export const RANGES_EXPAND_ID = "ranges-expand";
export const UNICODE_BLOCK = '&#9611;';
export const PROF_COLS = [
  { perc: 0, col: { r: 255, g: 255, b: 255 } },
  { perc: 0.5, col: { r: 255, g: 255, b: 128 } },
  { perc: 5, col: { r: 255, g: 128, b: 0 } },
  { perc: 15, col: { r: 255, g: 0, b: 0 } },
  { perc: 100, col: { r: 0, g: 0, b: 0 } }
];
