view dwt/internal/cocoa/NSAffineTransform.d @ 1:8b48be5454ce

The internal cocoa classes compile now
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Tue, 19 Aug 2008 17:35:17 +0200
parents 380af2bdd8e5
children f565d3a95c0a
line wrap: on
line source

/*******************************************************************************
 * Copyright (c) 2007 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *     
 * Port to the D Programming language:
 *     Jacob Carlborg <jacob.carlborg@gmail.com>
 *******************************************************************************/
module dwt.internal.cocoa.NSAffineTransform;

import dwt.internal.cocoa.CGFloat;
import dwt.internal.cocoa.NSAffineTransformStruct;
import dwt.internal.cocoa.NSObject;
import dwt.internal.cocoa.NSPoint;
import dwt.internal.cocoa.NSSize;
import dwt.internal.cocoa.OS;
import objc = dwt.internal.objc.runtime;

public class NSAffineTransform : NSObject
{
    public this ()
    {
        super();
    }

    public this (objc.id id)
    {
        super(id);
    }

    public void appendTransform (NSAffineTransform transform)
    {
        OS.objc_msgSend(this.id_, OS.sel_appendTransform_1, transform !is null ? transform.id_ : null);
    }

    public NSAffineTransform initWithTransform (NSAffineTransform transform)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_initWithTransform_1, transform !is null ? transform.id_ : null);
        return result !is null ? this : null;
    }

    public void invert ()
    {
        OS.objc_msgSend(this.id_, OS.sel_invert);
    }

    public void set ()
    {
        OS.objc_msgSend(this.id_, OS.sel_set);
    }

    public void concat ()
    {
        OS.objc_msgSend(this.id_, OS.sel_concat);
    }

    public void prependTransform (NSAffineTransform transform)
    {
        OS.objc_msgSend(this.id_, OS.sel_prependTransform_1, transform !is null ? transform.id_ : null);
    }

    public void rotateByDegrees (CGFloat angle)
    {
        OS.objc_msgSend(this.id_, OS.sel_rotateByDegrees_1, angle);
    }

    public void rotateByRadians (CGFloat angle)
    {
        OS.objc_msgSend(this.id_, OS.sel_rotateByRadians_1, angle);
    }

    public void scaleBy (CGFloat scale)
    {
        OS.objc_msgSend(this.id_, OS.sel_scaleBy_1, scale);
    }

    public void scaleXBy (CGFloat scaleX, CGFloat scaleY)
    {
        OS.objc_msgSend(this.id_, OS.sel_scaleXBy_1yBy_1, scaleX, scaleY);
    }

    public void setTransformStruct (NSAffineTransformStruct transformStruct)
    {
        OS.objc_msgSend(this.id_, OS.sel_setTransformStruct_1, transformStruct);
    }

    public static NSAffineTransform transform ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSAffineTransform, OS.sel_transform);
        return result !is null ? new NSAffineTransform(result) : null;
    }

    public NSPoint transformPoint (NSPoint aPoint)
    {
        NSPoint result;
        OS.objc_msgSend_stret(&result, this.id_, OS.sel_transformPoint_1, aPoint);
        return result;
    }

    public NSSize transformSize (NSSize aSize)
    {
        NSSize result;
        OS.objc_msgSend_stret(&result, this.id_, OS.sel_transformSize_1, aSize);
        return result;
    }

    public NSAffineTransformStruct transformStruct ()
    {
        NSAffineTransformStruct result;
        OS.objc_msgSend_stret(&result, this.id_, OS.sel_transformStruct);
        return result;
    }

    public void translateXBy (CGFloat deltaX, CGFloat deltaY)
    {
        OS.objc_msgSend(this.id_, OS.sel_translateXBy_1yBy_1, deltaX, deltaY);
    }

}