/** * Rotate the primitive. For a macro, it is different than for the other primitive, since we need * to rotate its coordinate system. * * @param bCounterClockWise specify if the rotation should be done counterclockwise. * @param ix the x coordinate of the center of rotation * @param iy the y coordinate of the center of rotation */ public void rotatePrimitive(boolean bCounterClockWise, int ix, int iy) { super.rotatePrimitive(bCounterClockWise, ix, iy); if (bCounterClockWise) o = (o + 3) % 4; else o = ++o % 4; changed = true; }
/** * Mirror the primitive. For a macro, it is different than for the other primitive, since we just * need to toggle the mirror flag. * * @param xpos the x value of the pivot axis. */ public void mirrorPrimitive(int xpos) { super.mirrorPrimitive(xpos); m ^= true; changed = true; }
/** * Specifies that the current primitive has been modified or not. If it is true, during the redraw * all parameters should be calulated from scratch. * * @param c the value of the parameter. */ public void setChanged(boolean c) { super.setChanged(c); macro.setChanged(c); }