1 /*******************************************************************************
2  * Copyright (c) 2000, 2012 IBM Corporation and others.
3  *
4  * This program and the accompanying materials
5  * are made available under the terms of the Eclipse Public License 2.0
6  * which accompanies this distribution, and is available at
7  * https://www.eclipse.org/legal/epl-2.0/
8  *
9  * SPDX-License-Identifier: EPL-2.0
10  *
11  * Contributors:
12  *    IBM Corporation - initial API and implementation
13  *******************************************************************************/
14 package org.eclipse.swt.internal.cocoa;
15 
16 public class NSAffineTransform extends NSObject {
17 
NSAffineTransform()18 public NSAffineTransform() {
19 	super();
20 }
21 
NSAffineTransform(long id)22 public NSAffineTransform(long id) {
23 	super(id);
24 }
25 
NSAffineTransform(id id)26 public NSAffineTransform(id id) {
27 	super(id);
28 }
29 
concat()30 public void concat() {
31 	OS.objc_msgSend(this.id, OS.sel_concat);
32 }
33 
set()34 public void set() {
35 	OS.objc_msgSend(this.id, OS.sel_set);
36 }
37 
initWithTransform(NSAffineTransform transform)38 public NSAffineTransform initWithTransform(NSAffineTransform transform) {
39 	long result = OS.objc_msgSend(this.id, OS.sel_initWithTransform_, transform != null ? transform.id : 0);
40 	return result == this.id ? this : (result != 0 ? new NSAffineTransform(result) : null);
41 }
42 
invert()43 public void invert() {
44 	OS.objc_msgSend(this.id, OS.sel_invert);
45 }
46 
prependTransform(NSAffineTransform transform)47 public void prependTransform(NSAffineTransform transform) {
48 	OS.objc_msgSend(this.id, OS.sel_prependTransform_, transform != null ? transform.id : 0);
49 }
50 
rotateByDegrees(double angle)51 public void rotateByDegrees(double angle) {
52 	OS.objc_msgSend(this.id, OS.sel_rotateByDegrees_, angle);
53 }
54 
scaleXBy(double scaleX, double scaleY)55 public void scaleXBy(double scaleX, double scaleY) {
56 	OS.objc_msgSend(this.id, OS.sel_scaleXBy_yBy_, scaleX, scaleY);
57 }
58 
setTransformStruct(NSAffineTransformStruct transformStruct)59 public void setTransformStruct(NSAffineTransformStruct transformStruct) {
60 	OS.objc_msgSend(this.id, OS.sel_setTransformStruct_, transformStruct);
61 }
62 
transform()63 public static NSAffineTransform transform() {
64 	long result = OS.objc_msgSend(OS.class_NSAffineTransform, OS.sel_transform);
65 	return result != 0 ? new NSAffineTransform(result) : null;
66 }
67 
transformPoint(NSPoint aPoint)68 public NSPoint transformPoint(NSPoint aPoint) {
69 	NSPoint result = new NSPoint();
70 	OS.objc_msgSend_stret(result, this.id, OS.sel_transformPoint_, aPoint);
71 	return result;
72 }
73 
transformSize(NSSize aSize)74 public NSSize transformSize(NSSize aSize) {
75 	NSSize result = new NSSize();
76 	OS.objc_msgSend_stret(result, this.id, OS.sel_transformSize_, aSize);
77 	return result;
78 }
79 
transformStruct()80 public NSAffineTransformStruct transformStruct() {
81 	NSAffineTransformStruct result = new NSAffineTransformStruct();
82 	OS.objc_msgSend_stret(result, this.id, OS.sel_transformStruct);
83 	return result;
84 }
85 
translateXBy(double deltaX, double deltaY)86 public void translateXBy(double deltaX, double deltaY) {
87 	OS.objc_msgSend(this.id, OS.sel_translateXBy_yBy_, deltaX, deltaY);
88 }
89 
90 }
91