Mercurial > projects > dwt-linux
annotate dwt/graphics/Color.d @ 33:27324bbbac70
changed to regenerated BCD bindings
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Thu, 10 Jan 2008 02:18:07 +0100 |
parents | b5521a2c27c2 |
children | 8cec8f536af3 |
rev | line source |
---|---|
17
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
1 /******************************************************************************* |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
2 * Copyright (c) 2000, 2005 IBM Corporation and others. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
7 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
8 * Contributors: |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
10 *******************************************************************************/ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
11 module dwt.graphics.Color; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
12 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
13 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
14 import dwt.SWT; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
15 import dwt.internal.gtk.OS; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
16 import dwt.graphics.Resource; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
17 import dwt.graphics.RGB; |
18 | 18 import dwt.graphics.Device; |
17
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
19 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
20 import tango.text.convert.Format; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
21 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
22 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
23 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
24 * Instances of this class manage the operating system resources that |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
25 * implement SWT's RGB color model. To create a color you can either |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
26 * specify the individual color components as integers in the range |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
27 * 0 to 255 or provide an instance of an <code>RGB</code>. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
28 * <p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
29 * Application code must explicitly invoke the <code>Color.dispose()</code> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
30 * method to release the operating system resources managed by each instance |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
31 * when those instances are no longer required. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
32 * </p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
33 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
34 * @see RGB |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
35 * @see Device#getSystemColor |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
36 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
37 public final class Color : Resource { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
38 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
39 * the handle to the OS color resource |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
40 * (Warning: This field is platform dependent) |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
41 * <p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
42 * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
43 * public API. It is marked public only so that it can be shared |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
44 * within the packages provided by SWT. It is not available on all |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
45 * platforms and should never be accessed from application code. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
46 * </p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
47 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
48 public GdkColor* handle; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
49 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
50 this() { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
51 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
52 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
53 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
54 * Constructs a new instance of this class given a device and the |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
55 * desired red, green and blue values expressed as ints in the range |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
56 * 0 to 255 (where 0 is black and 255 is full brightness). On limited |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
57 * color devices, the color instance created by this call may not have |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
58 * the same RGB values as the ones specified by the arguments. The |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
59 * RGB values on the returned instance will be the color values of |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
60 * the operating system color. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
61 * <p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
62 * You must dispose the color when it is no longer required. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
63 * </p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
64 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
65 * @param device the device on which to allocate the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
66 * @param red the amount of red in the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
67 * @param green the amount of green in the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
68 * @param blue the amount of blue in the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
69 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
70 * @exception IllegalArgumentException <ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
71 * <li>ERROR_NULL_ARGUMENT - if device is null and there is no current device</li> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
72 * <li>ERROR_INVALID_ARGUMENT - if the red, green or blue argument is not between 0 and 255</li> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
73 * </ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
74 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
75 * @see #dispose |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
76 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
77 public this(Device device, int red, int green, int blue) { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
78 if (device is null) device = Device.getDevice(); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
79 if (device is null) SWT.error(SWT.ERROR_NULL_ARGUMENT); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
80 init(device, red, green, blue); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
81 if (device.tracking) device.new_Object(this); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
82 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
83 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
84 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
85 * Constructs a new instance of this class given a device and an |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
86 * <code>RGB</code> describing the desired red, green and blue values. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
87 * On limited color devices, the color instance created by this call |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
88 * may not have the same RGB values as the ones specified by the |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
89 * argument. The RGB values on the returned instance will be the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
90 * values of the operating system color. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
91 * <p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
92 * You must dispose the color when it is no longer required. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
93 * </p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
94 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
95 * @param device the device on which to allocate the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
96 * @param rgb the RGB values of the desired color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
97 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
98 * @exception IllegalArgumentException <ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
99 * <li>ERROR_NULL_ARGUMENT - if device is null and there is no current device</li> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
100 * <li>ERROR_NULL_ARGUMENT - if the rgb argument is null</li> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
101 * <li>ERROR_INVALID_ARGUMENT - if the red, green or blue components of the argument are not between 0 and 255</li> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
102 * </ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
103 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
104 * @see #dispose |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
105 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
106 public this(Device device, RGB rgb) { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
107 if (device is null) device = Device.getDevice(); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
108 if (device is null) SWT.error(SWT.ERROR_NULL_ARGUMENT); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
109 if (rgb is null) SWT.error(SWT.ERROR_NULL_ARGUMENT); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
110 init(device, rgb.red, rgb.green, rgb.blue); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
111 if (device.tracking) device.new_Object(this); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
112 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
113 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
114 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
115 * Disposes of the operating system resources associated with |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
116 * the color. Applications must dispose of all colors which |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
117 * they allocate. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
118 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
119 public void dispose() { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
120 if (handle is null) return; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
121 if (device.isDisposed()) return; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
122 int pixel = handle.pixel; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
123 if (device.colorRefCount !is null) { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
124 /* If this was the last reference, remove the color from the list */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
125 if (--device.colorRefCount[pixel] == 0) { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
126 device.gdkColors[pixel] = null; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
127 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
128 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
129 auto colormap = OS.gdk_colormap_get_system(); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
130 OS.gdk_colormap_free_colors(colormap, handle, 1); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
131 handle = null; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
132 if (device.tracking) device.dispose_Object(this); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
133 device = null; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
134 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
135 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
136 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
137 * Compares the argument to the receiver, and returns true |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
138 * if they represent the <em>same</em> object using a class |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
139 * specific comparison. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
140 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
141 * @param object the object to compare with this object |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
142 * @return <code>true</code> if the object is the same as this object and <code>false</code> otherwise |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
143 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
144 * @see #hashCode |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
145 */ |
22 | 146 public override int opEquals(Object object) { |
17
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
147 if (object is this) return true; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
148 if ( auto color = cast(Color)object ){ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
149 GdkColor* gdkColor = color.handle; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
150 if (handle == gdkColor) return true; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
151 return device == color.device && handle.red == gdkColor.red && |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
152 handle.green == gdkColor.green && handle.blue == gdkColor.blue; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
153 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
154 return false; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
155 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
156 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
157 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
158 * Returns the amount of blue in the color, from 0 to 255. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
159 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
160 * @return the blue component of the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
161 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
162 * @exception SWTException <ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
163 * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
164 * </ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
165 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
166 public int getBlue() { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
167 if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
168 return (handle.blue >> 8) & 0xFF; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
169 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
170 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
171 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
172 * Returns the amount of green in the color, from 0 to 255. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
173 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
174 * @return the green component of the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
175 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
176 * @exception SWTException <ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
177 * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
178 * </ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
179 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
180 public int getGreen() { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
181 if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
182 return (handle.green >> 8) & 0xFF; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
183 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
184 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
185 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
186 * Returns the amount of red in the color, from 0 to 255. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
187 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
188 * @return the red component of the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
189 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
190 * @exception SWTException <ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
191 * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
192 * </ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
193 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
194 public int getRed() { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
195 if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
196 return (handle.red >> 8) & 0xFF; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
197 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
198 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
199 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
200 * Returns an integer hash code for the receiver. Any two |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
201 * objects that return <code>true</code> when passed to |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
202 * <code>equals</code> must return the same value for this |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
203 * method. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
204 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
205 * @return the receiver's hash |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
206 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
207 * @see #equals |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
208 */ |
22 | 209 public override hash_t toHash() { |
17
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
210 if (isDisposed()) return 0; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
211 return handle.red ^ handle.green ^ handle.blue; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
212 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
213 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
214 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
215 * Returns an <code>RGB</code> representing the receiver. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
216 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
217 * @return the RGB for the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
218 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
219 * @exception SWTException <ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
220 * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
221 * </ul> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
222 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
223 public RGB getRGB () { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
224 if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
225 return new RGB(getRed(), getGreen(), getBlue()); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
226 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
227 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
228 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
229 * Invokes platform specific functionality to allocate a new color. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
230 * <p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
231 * <b>IMPORTANT:</b> This method is <em>not</em> part of the public |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
232 * API for <code>Color</code>. It is marked public only so that it |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
233 * can be shared within the packages provided by SWT. It is not |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
234 * available on all platforms, and should never be called from |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
235 * application code. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
236 * </p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
237 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
238 * @param device the device on which to allocate the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
239 * @param handle the handle for the color |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
240 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
241 * @private |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
242 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
243 public static Color gtk_new(Device device, GdkColor* gdkColor) { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
244 if (device is null) device = Device.getDevice(); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
245 Color color = new Color(); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
246 color.handle = gdkColor; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
247 color.device = device; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
248 return color; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
249 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
250 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
251 void init(Device device, int red, int green, int blue) { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
252 this.device = device; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
253 if ((red > 255) || (red < 0) || |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
254 (green > 255) || (green < 0) || |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
255 (blue > 255) || (blue < 0)) { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
256 SWT.error(SWT.ERROR_INVALID_ARGUMENT); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
257 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
258 GdkColor* gdkColor = new GdkColor(); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
259 gdkColor.red = cast(short)((red & 0xFF) | ((red & 0xFF) << 8)); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
260 gdkColor.green = cast(short)((green & 0xFF) | ((green & 0xFF) << 8)); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
261 gdkColor.blue = cast(short)((blue & 0xFF) | ((blue & 0xFF) << 8)); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
262 auto colormap = OS.gdk_colormap_get_system(); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
263 if (!OS.gdk_colormap_alloc_color(colormap, gdkColor, true, true)) { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
264 /* Allocate black. */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
265 gdkColor = new GdkColor(); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
266 OS.gdk_colormap_alloc_color(colormap, gdkColor, true, true); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
267 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
268 handle = gdkColor; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
269 if (device.colorRefCount != null) { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
270 /* Make a copy of the color to put in the colors array */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
271 GdkColor* colorCopy = new GdkColor(); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
272 colorCopy.red = handle.red; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
273 colorCopy.green = handle.green; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
274 colorCopy.blue = handle.blue; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
275 colorCopy.pixel = handle.pixel; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
276 device.gdkColors[colorCopy.pixel] = colorCopy; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
277 device.colorRefCount[colorCopy.pixel]++; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
278 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
279 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
280 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
281 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
282 * Returns <code>true</code> if the color has been disposed, |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
283 * and <code>false</code> otherwise. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
284 * <p> |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
285 * This method gets the dispose state for the color. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
286 * When a color has been disposed, it is an error to |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
287 * invoke any other method using the color. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
288 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
289 * @return <code>true</code> when the color is disposed and <code>false</code> otherwise |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
290 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
291 public bool isDisposed() { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
292 return handle is null; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
293 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
294 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
295 /** |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
296 * Returns a string containing a concise, human-readable |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
297 * description of the receiver. |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
298 * |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
299 * @return a string representation of the receiver |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
300 */ |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
301 public override char[] toString () { |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
302 if (isDisposed()) return "Color {*DISPOSED*}"; |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
303 return Format( "Color {{{}, {}, {}}", getRed(), getGreen(), getBlue()); |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
304 } |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
305 |
4db14dc0bc45
first graphics with gdk/gtk deps
Frank Benoit <benoit@tionex.de>
parents:
diff
changeset
|
306 } |