Here the image drawImages(), and a head (of the button) is a class :
The draw is just like this:
createPoints just create lines between some points
In any part I'm playing with textures, and this is the first time I see in processing a rect holding an Image.
Any idea?
The rect with texture is inside Head Class.
- void createPoints() {
- coord.clear();
- int index = 0;
- for (int i = 0; i < myData.size(); i++) {
- //it will check every point
- if (myData.get(i).represent()) {
- float x = myData.get(i).pos.x;
- float y = myData.get(i).pos.y;
- coord.add( new float[] {
- x, y
- }
- );
- }
- }
- del = new Delaunay( getFloatArray(coord) );
- delEdges = del.getEdges();
- pushMatrix();
- //paint the connections
- stroke(0, 155, 255, 150);
- beginShape(LINES);
- for (int i=0; i<delEdges.length; i++) {
- float x1 = delEdges[i][0];
- float y1 = delEdges[i][1];
- float x2 = delEdges[i][2];
- float y2 = delEdges[i][3];
- vertex( x1, y1 );
- vertex( x2, y2 );
- }
- endShape();
- popMatrix();
- }
- void draw() {
- background(220);
- // tint(255, 100);
- // image(map, 0, 0);
- myReference.get(0).update();
- myReference.get(1).update();
- drawImages();
- createPoints();
- for (int i = 0; i < myData.size(); i++) {
- myData.get(i).update();
- }
- //Buttons
- drawButtons();
- }
- class Head {
- float px, py;
- color backgroundHead = color(0, 200);
- color buttonOn = color(0, 150, 240);
- color isOverColor = color(50, 110, 160);
- float sizeX, sizeY;
- float onY;
- String name;
- float nameAreaX, nameAreaY;
- int myTextSize = 14;
- color buttonBackground = color(20, 90, 150);
- boolean on = true;
- Head(float inPx, float inPy, float inSizeX, float inSizeY, String inName) {
- name = inName;
- px = inPx;
- py = inPy;
- sizeX = inSizeX;
- sizeY = inSizeY;
- nameAreaX = inSizeX;
- nameAreaY = myTextSize + 4;
- }
- void draw() {
- noStroke();
- noStroke();
- fill(backgroundHead);
- rect(px, py, sizeX, onY);
- //painting area
- fill((isOver())?isOverColor:buttonBackground);
- //if(on)fill(buttonOn);
- rect(px, py, nameAreaX, nameAreaY);
- textAlign(CENTER, TOP);
- textSize(myTextSize);
- fill(255);
- text(name, sizeX/2, py+3);
- textAlign(LEFT);
- }
- void SetBackgroundColor(int uno, int dos, int tres) {
- backgroundHead = color(uno, dos, tres);
- }
- boolean isOver() {
- return(mouseX > px && mouseX < nameAreaX+px && mouseY > py && mouseY < nameAreaY+py);
- }
- void click() {
- if (isOver() == true) {
- on =! on;
- }
- }
-
- void move(float inGlobal) {
- onY = inGlobal;
- }
-
- void moveUp(float moveUpValue){
- py=moveUpValue;
- }
-
- }
- void drawImages() {
- // tint(255, 255);
- image(contorno, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[0].getOn() == 1) image(montanas, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[1].getOn() == 1) image(rios, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[2].getOn() == 1) image(parquesnaturales, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[3].getOn() == 1) image(aldeas, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[4].getOn() == 1) image(minas, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[5].getOn() == 1) image(industria, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[6].getOn() == 1) image(autopistas, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[7].getOn() == 1) image(ferrocarril, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[8].getOn() == 1) image(montanas, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[9].getOn() == 1) image(fragmentosurbanos, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[10].getOn() == 1) image(poblaciones, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- if (buttonPressed > 0 && buttons[11].getOn() == 1) image(conurbaciones, myReference.get(0).pos.x, myReference.get(0).pos.y, myReference.get(1).pos.x-myReference.get(0).pos.x, myReference.get(1).pos.y-myReference.get(0).pos.y);
- }