Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package org.pptx4j;
  
  public class Box {
  	
  	public Box(long offsetXlong offsetYlong extentXlong extentY) {
  		 = new Point(offsetXoffsetY);
  		 = new Point(extentXextentY);
  		
 	}
 	
 	// Position of top left corner,
 	// from origin in top lef
 
 	// Length of sides
Flip across Y axis
 
 	public void flipH() {
 		. = . + .;
 		. = -.;		
 
 		..println("FlipH--> " + debug());
 	}

Flip across X axis, so Y co-ordinate changes
 
 	public void flipV() {		
 		. = . + .;
 		. = -.;
 
 		..println("FlipV--> " + debug());
 	}
 
 	public Point getOtherCorner() {
 		return .add();
 	}
 	
 	public void toPixels() {
 	}

Clockwise rotation, about the bounding-box centre

Parameters:
units are 60 thousandths of a degree
 
 	public void rotate(int units) {
 		
 		// For translation
 		Point centre = new Point(
 						Math.round(. + 0.5f* .),
 						Math.round(. + 0.5f* .)) ;
 		
 		float degree = -units/60000; // clockwise
 		..println("Rotating " + degree);
 		float radians = (float)Math.toRadians(degree);
 
 		// Extent
 		// .. work out 
 		Point otherCorner      = getOtherCorner();
 		Point otherCornerDash  = otherCorner.subtract(centre);
 		Point otherCornerDash2 = rotate(otherCornerDashradians);
 		Point otherCornerDash3 = otherCornerDash2.add(centre);
 		
 		// Offset
 		Point offsetDash = .subtract(centre);
 		Point offsetDash2 = rotate(offsetDashradians);
 		Point offsetDash3 = offsetDash2.add(centre);	
 		
 		 = offsetDash3;
 		 = otherCornerDash3.subtract();
 		
 		..println("Rotated--> " + debug());
 		
 	}
 	
 	
 	private Point rotate(Point pfloat radians) {
 		
 		long xDash = Math.round((p.x*Math.cos(radians)) -(p.y*Math.sin(radians)));		
 		long yDash = Math.round((p.x*Math.sin(radians)) + (p.y*Math.cos(radians)));
 		
 		return new Point(xDashyDash);
 		
 	}
 	
 	public String debug() {
 		return "offset " + .debug() + "; extent " + .debug();
 	}
 	
 	
 	public Point getOffset() {
 		return ;
	}
	public Point getExtent() {
		return ;
	}
//	public String getExtentYAsString() {
//		return Long.toString(extentY);
//	}
	public static void main(String[] args) {
		Box b = new Box(0,0,1,0);
		b.rotate( 5400000); // 90 degrees
	}
New to GrepCode? Check out our FAQ X