1 3 package org.ozoneDB.core.monitor; 4 5 import org.ozoneDB.DxLib.*; 6 import java.awt.*; 7 import java.awt.event.*; 8 9 10 public class StorageCanvas extends Canvas { 11 static Color fontColor = new Color( 0, 0, 0 ); 12 static Color bgColor = new Color( 230, 230, 240 ); 13 static Color bg1Color = new Color( 210, 210, 210 ); 14 static Color headColor = new Color( 200, 200, 170 ); 15 static Color activeColor = new Color( 245, 0, 0 ); 17 static Color passivColor = new Color( 89, 82, 238 ); 18 static Color deathColor = new Color( 0, 235, 0 ); 19 private static int gradientSteps = 5; 20 private static Color[] gradientColors = gradient( passivColor, deathColor, gradientSteps ); 21 22 private Graphics dbg; 23 private Image dbImage; 24 25 26 27 private static Color[] gradient( Color f, Color t, int steps ) { 28 int rs = (t.getRed() - f.getRed()) / steps; 29 int gs = (t.getGreen() - f.getGreen()) / steps; 30 int bs = (t.getBlue() - f.getBlue()) / steps; 31 Color[] colors = new Color[steps]; 32 for (int i = 0; i < steps; i++) { 33 colors[i] = new Color( f.getRed() + rs * i, f.getGreen() + gs * i, f.getBlue() + bs * i ); 34 } 35 return colors; 36 } 37 38 39 40 public StorageCanvas() { 41 setBackground( bg1Color ); 42 } 43 44 45 46 public void update( Graphics g ) { 47 if (dbImage == null) { 48 49 dbImage = createImage( size().width, size().height ); 50 dbg = dbImage.getGraphics(); 51 } 52 paint( dbg ); 53 g.drawImage( dbImage, 0, 0, this ); 54 } 55 56 57 58 public void paint( Graphics g ) { 59 super.paint( g ); 60 Rectangle rect = getBounds(); 61 62 g.setColor( bg1Color ); 63 g.fillRect( 1, 1, rect.width - 2, rect.height - 2 ); 64 g.draw3DRect( 1, 1, rect.width - 2, rect.height - 2, true ); 65 g.setColor( headColor ); 66 g.fillRect( 3, 3, rect.width - 5, 13 ); 67 g.setColor( Color.white ); 68 g.drawString( "Storage View", 6, 13 ); 69 70 int viewHeight = (rect.height - 60) / 3; 71 Rectangle osRect = new Rectangle( 10, rect.height - viewHeight * 3 - 40, rect.width - 20, viewHeight ); 72 updateOS( g, osRect ); 73 Rectangle csRect = new Rectangle( 10, rect.height - viewHeight * 2 - 25, rect.width - 20, viewHeight ); 74 updateCS( g, csRect ); 75 Rectangle psRect = new Rectangle( 10, rect.height - viewHeight - 10, rect.width - 20, viewHeight ); 76 updatePS( g, psRect ); 77 } 78 79 80 81 public void updateOS( Graphics g, Rectangle rect ) { 82 120 } 121 122 123 124 public void updateCS( Graphics g, Rectangle rect ) { 125 157 } 158 159 160 161 public void updatePS( Graphics g, Rectangle rect ) { 162 184 } 185 } 186 | Popular Tags |