Show
Ignore:
Timestamp:
05/17/08 11:34:28 (8 months ago)
Author:
Frank Benoit <benoit@tionex.de>
branch:
default
Message:

Update to SWT 3.4M7

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • dwt/graphics/Cursor.d

    r212 r213  
    5454 
    5555public final class Cursor : Resource { 
     56 
     57    alias Resource.init_ init_; 
    5658 
    5759    /** 
     
    150152 * Prevents uninitialized instances from being created outside the package. 
    151153 */ 
    152 this() { 
     154this(Device device) { 
     155    super(device); 
    153156} 
    154157 
     
    195198 */ 
    196199public this(Device device, int style) { 
    197     if (device is null) device = Device.getDevice(); 
    198     if (device is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); 
    199     this.device = device; 
    200     int lpCursorName = 0; 
     200    super(device); 
     201    int /*long*/ lpCursorName = 0; 
    201202    switch (style) { 
    202203        case DWT.CURSOR_HAND:       lpCursorName = OS.IDC_HAND; break; 
     
    241242    } 
    242243    if (handle is null) DWT.error(DWT.ERROR_NO_HANDLES); 
    243     if (device.tracking) device.new_Object(this); 
     244    init_(); 
    244245} 
    245246 
     
    276277 */ 
    277278public this(Device device, ImageData source, ImageData mask, int hotspotX, int hotspotY) { 
    278     if (device is null) device = Device.getDevice(); 
    279     if (device is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); 
    280     this.device = device; 
     279    super(device); 
    281280    if (source is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); 
    282281    if (mask is null) { 
     
    308307    handle = OS.CreateCursor(hInst, hotspotX, hotspotY, source.width, source.height, sourceData.ptr, maskData.ptr); 
    309308    if (handle is null) DWT.error(DWT.ERROR_NO_HANDLES); 
    310     if (device.tracking) device.new_Object(this); 
     309    init_(); 
    311310} 
    312311 
     
    339338 */ 
    340339public this(Device device, ImageData source, int hotspotX, int hotspotY) { 
    341     if (device is null) device = Device.getDevice(); 
    342     if (device is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); 
    343     this.device = device; 
     340    super(device); 
    344341    if (source is null) DWT.error(DWT.ERROR_NULL_ARGUMENT); 
    345342    /* Check the hotspots */ 
     
    349346    } 
    350347    ImageData mask = source.getTransparencyMask(); 
    351     int[] result = Image.init_(device, null, source, mask); 
     348    int[] result = Image.init_(this.device, null, source, mask); 
    352349    auto hBitmap = cast(HBITMAP)result[0]; 
    353350    auto hMask = cast(HBITMAP)result[1]; 
     
    364361    OS.DeleteObject(hMask); 
    365362    isIcon = true; 
    366     if (device.tracking) device.new_Object(this); 
    367 
    368  
    369 /** 
    370  * Disposes of the operating system resources associated with 
    371  * the cursor. Applications must dispose of all cursors which 
    372  * they allocate. 
    373  */ 
    374 override public void dispose () { 
    375     if (handle is null) return; 
    376     if (device.isDisposed()) return; 
    377  
     363    init_(); 
     364
     365 
     366void destroy () { 
    378367    /* 
    379368    * It is an error in Windows to destroy the current 
     
    403392    } 
    404393    handle = null; 
    405     if (device.tracking) device.dispose_Object(this); 
    406     device = null; 
    407394} 
    408395 
     
    478465 */ 
    479466public static Cursor win32_new(Device device, HCURSOR handle) { 
    480     if (device is null) device = Device.getDevice(); 
    481     Cursor cursor = new Cursor(); 
     467    Cursor cursor = new Cursor(device); 
    482468    cursor.handle = handle; 
    483     cursor.device = device; 
    484469    return cursor; 
    485470}