view dwt/internal/cocoa/NSCursor.d @ 13:f565d3a95c0a

Ported dwt.internal
author Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
date Fri, 22 Aug 2008 16:46:34 +0200
parents 8b48be5454ce
children d8635bb48c7c
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.NSCursor;

import dwt.internal.cocoa.NSColor;
import dwt.internal.cocoa.NSEvent;
import dwt.internal.cocoa.NSImage;
import dwt.internal.cocoa.NSObject;
import dwt.internal.cocoa.NSPoint;
import dwt.internal.cocoa.OS;
import objc = dwt.internal.objc.runtime;

public class NSCursor : NSObject
{

    public this ()
    {
        super();
    }

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

    public static NSCursor IBeamCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_IBeamCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor arrowCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_arrowCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor closedHandCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_closedHandCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor crosshairCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_crosshairCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor currentCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_currentCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor disappearingItemCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_disappearingItemCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static void hide ()
    {
        OS.objc_msgSend(OS.class_NSCursor, OS.sel_hide);
    }

    public NSPoint hotSpot ()
    {
        NSPoint result;
        OS.objc_msgSend_stret(&result, this.id_, OS.sel_hotSpot);
        return result;
    }

    public NSImage image ()
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_image);
        return result !is null ? new NSImage(result) : null;
    }

    public NSCursor initWithImage_foregroundColorHint_backgroundColorHint_hotSpot_ (NSImage newImage, NSColor fg, NSColor bg, NSPoint hotSpot)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_initWithImage_1foregroundColorHint_1backgroundColorHint_1hotSpot_1,
                newImage !is null ? newImage.id_ : null, fg !is null ? fg.id_ : null, bg !is null ? bg.id_ : null, hotSpot);
        return result !is null ? this : null;
    }

    public NSCursor initWithImage_hotSpot_ (NSImage newImage, NSPoint aPoint)
    {
        objc.id result = OS.objc_msgSend(this.id_, OS.sel_initWithImage_1hotSpot_1, newImage !is null ? newImage.id_ : null, aPoint);
        return result !is null ? this : null;
    }

    public bool isSetOnMouseEntered ()
    {
        return OS.objc_msgSend(this.id_, OS.sel_isSetOnMouseEntered) !is null;
    }

    public bool isSetOnMouseExited ()
    {
        return OS.objc_msgSend(this.id_, OS.sel_isSetOnMouseExited) !is null;
    }

    public void mouseEntered (NSEvent theEvent)
    {
        OS.objc_msgSend(this.id_, OS.sel_mouseEntered_1, theEvent !is null ? theEvent.id_ : null);
    }

    public void mouseExited (NSEvent theEvent)
    {
        OS.objc_msgSend(this.id_, OS.sel_mouseExited_1, theEvent !is null ? theEvent.id_ : null);
    }

    public static NSCursor openHandCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_openHandCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor pointingHandCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_pointingHandCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public void pop ()
    {
        OS.objc_msgSend(this.id_, OS.sel_pop);
    }

    public static void static_pop ()
    {
        OS.objc_msgSend(OS.class_NSCursor, OS.sel_pop);
    }

    public void push ()
    {
        OS.objc_msgSend(this.id_, OS.sel_push);
    }

    public static NSCursor resizeDownCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_resizeDownCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor resizeLeftCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_resizeLeftCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor resizeLeftRightCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_resizeLeftRightCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor resizeRightCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_resizeRightCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor resizeUpCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_resizeUpCursor);
        return result !is null ? new NSCursor(result) : null;
    }

    public static NSCursor resizeUpDownCursor ()
    {
        objc.id result = OS.objc_msgSend(OS.class_NSCursor, OS.sel_resizeUpDownCursor);
        return result !is null ? new NSCursor(result) : null;
    }

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

    public static void setHiddenUntilMouseMoves (bool flag)
    {
        OS.objc_msgSend(OS.class_NSCursor, OS.sel_setHiddenUntilMouseMoves_1, flag);
    }

    public void setOnMouseEntered (bool flag)
    {
        OS.objc_msgSend(this.id_, OS.sel_setOnMouseEntered_1, flag);
    }

    public void setOnMouseExited (bool flag)
    {
        OS.objc_msgSend(this.id_, OS.sel_setOnMouseExited_1, flag);
    }

    public static void unhide ()
    {
        OS.objc_msgSend(OS.class_NSCursor, OS.sel_unhide);
    }

}