2012年3月4日 星期日

4_1 - Text and Image


//Anton Carlson
//97470043

color[] ColourSelector = {color(255,51,51), color(153,255,51),color(102,102,255), color(255,255,51),color(0,0,0),color(255,255,255)};
color SelectedColour = color(0,0,0);
void setup() {
size(800, 500);
background(204);
DrawDrawingArea();
strokeWeight(5);
DrawAllButtons();
DrawSelectableColours();
smooth();
}
void draw()
{
  if(mousePressed && mouseX>50 && pmouseX >50 && mouseX < 675 && pmouseX < 675)
  {
    stroke(SelectedColour);
    line(mouseX, mouseY, pmouseX, pmouseY);
  }
  if(mousePressed && mouseX<50 && pmouseX <50)
    SelectedColour = GetSelectedColour();
 
  //Button Listeners
  if(mousePressed && mouseX>675 && mouseX < 800 && mouseY > 0 && mouseY < 50)
    clearDrawingArea();
  if(mousePressed && mouseX>675 && mouseX < 800 && mouseY > 50 && mouseY < 100)
    saveFile();
  if(mousePressed && mouseX>675 && mouseX < 800 && mouseY > 100 && mouseY < 150)
    Erase();
  if(mousePressed && mouseX>675 && mouseX < 800 && mouseY > 150 && mouseY < 200)
    strokeWeight(1);
  if(mousePressed && mouseX>675 && mouseX < 800 && mouseY > 200 && mouseY < 250)
    strokeWeight(3);
  if(mousePressed && mouseX>675 && mouseX < 800 && mouseY > 250 && mouseY < 300)
    strokeWeight(5);
}
void DrawSelectableColours()
{
  int YPosition = 0;
  for(color aColour : ColourSelector)
  {
    strokeWeight(1);
    fill(aColour);
    rect(0,YPosition,50,50);
    YPosition = YPosition + 50;
  }
}
void clearDrawingArea()
{
  DrawDrawingArea();
}
void DrawDrawingArea()
{
  fill(255,255,255);
  rect(50,0,675,500);
}
void saveFile()
{
  save("MyFile");
}
void Erase()
{
  strokeWeight(5);
  SelectedColour = color(255,255,255);
}
void DrawAllButtons()
{
  DrawButton(725,0,75,50, "Clear", 732, 30, 20);
  DrawButton(725,50,75,50, "Save", 738, 80, 20);
  DrawButton(725,100,75,50, "Erase", 732, 130, 20);
  DrawButton(725,150,75,50, ".", 748, 180, 50);
  DrawButton(725,200,75,50, ".", 745, 230, 70);
  DrawButton(725,250,75,50, ".", 742, 280, 80);
}
void DrawButton(int RectX, int RectY, int RectLength, int RectHeight, String ButtonText, int TextX, int TextY, int fontSize)
{
    strokeWeight(1);
    rect(RectX, RectY,RectLength,RectHeight);
    PFont font;
    font = loadFont("Courier-48.vlw");
    textFont(font, fontSize);
    fill(0);
    text(ButtonText, TextX, TextY);
    fill(255);
}
color GetSelectedColour()
{
  color SelectColor = 0;
  SelectColor = get(mouseX, mouseY);
  return SelectColor;
}

沒有留言:

張貼留言