Bitmap/Bézier curves/Cubic: Difference between revisions

Line 1,092:
'''It can be run on line''' :<BR> [https://www.openprocessing.org/sketch/846556/ here.]
<lang>
float[] x = new float[4];
float[] y = new float[4];
boolean[] permitDrag = new boolean[4];
 
void setup() {
Line 1,112:
noFill();
stroke(0, 0, 255);
bezier (x[1], y[1], x[0], y[0], x[3], y[3], x[2], y[2]);
// the bezier handles
strokeWeight(1);
Line 1,121:
stroke(0);
fill(0);
for (int i = 0; i< 4; i++) {
if (i == 0 || i == 3) {
fill(255, 100, 10);
rectMode(CENTER);
Line 1,133:
 
// permit dragging
for (int i = 0; i < 4; i++) {
if (permitDrag[i]) {
x[i] = mouseX;
Line 1,142:
 
void mouseReleased () {
for (int i = 0; i < 4; i++) {
permitDrag[i] = false;
}
Line 1,148:
 
void mousePressed () {
for (int i = 0; i < 4; i++) {
if (mouseX >= x[i]-5 && mouseX <= x[i]+10 && mouseY >= y[i]-5 && mouseY <= y[i]+10) {
permitDrag[i] = true;
}
Line 1,155:
}
 
// hand curser when over dragging over points
void mouseMoved () {
cursor(ARROW);
for (int i = 0; i < 4; i++) {
if (mouseX >= x[i]-5 && mouseX <= x[i]+10 && mouseY >= y[i]-5 && mouseY <= y[i]+10) {
cursor(HAND);
}
}
}
}</lang>
 
=={{header|PureBasic}}==
47

edits