Mercurial > projects > dwt-mac
annotate dwt/internal/C.d @ 45:d8635bb48c7c
Merge with SWT 3.5
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Mon, 01 Dec 2008 17:07:00 +0100 |
parents | db5a898b2119 |
children |
rev | line source |
---|---|
45 | 1 /******************************************************************************* |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
2 * Copyright (c) 2000, 2007 IBM Corporation and others. |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
3 * All rights reserved. This program and the accompanying materials |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
4 * are made available under the terms of the Eclipse Public License v1.0 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
5 * which accompanies this distribution, and is available at |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
6 * http://www.eclipse.org/legal/epl-v10.html |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
7 * |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
8 * Contributors: |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
9 * IBM Corporation - initial API and implementation |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
10 * |
13
f565d3a95c0a
Ported dwt.internal
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
11
diff
changeset
|
11 * Port to the D programming language: |
45 | 12 * Jacob Carlborg <doob@me.com> |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
13 *******************************************************************************/ |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
14 module dwt.internal.C; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
15 |
36
db5a898b2119
Fixed a lot of compile errors
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
13
diff
changeset
|
16 static import stdlib = tango.stdc.stdlib; |
db5a898b2119
Fixed a lot of compile errors
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
13
diff
changeset
|
17 static import stdcstring = tango.stdc.string; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
18 |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
19 import dwt.internal.Library; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
20 import dwt.internal.Platform; |
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
21 |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
22 public class C : Platform { |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
23 |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
24 /*static { |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
25 if ("Linux".equals (System.getProperty ("os.name")) && "motif".equals (Platform.PLATFORM)) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
26 try { |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
27 Library.loadLibrary ("libXm.so.2", false); //$NON-NLS-1$ |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
28 } catch (Throwable ex) {} |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
29 } |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
30 Library.loadLibrary ("swt"); //$NON-NLS-1$ |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
31 }*/ |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
32 |
11
a329f9c3d66d
Ported dwt.internal.cocoa.SWT* again
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
1
diff
changeset
|
33 public static const size_t PTR_SIZEOF = (void*).sizeof; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
34 |
45 | 35 /** @param ptr cast=(void *) */ |
36
db5a898b2119
Fixed a lot of compile errors
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
13
diff
changeset
|
36 alias stdlib.free free; |
45 | 37 /** @param env cast=(const char *) */ |
36
db5a898b2119
Fixed a lot of compile errors
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
13
diff
changeset
|
38 alias stdlib.getenv getenv; |
db5a898b2119
Fixed a lot of compile errors
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
13
diff
changeset
|
39 alias stdlib.malloc malloc; |
db5a898b2119
Fixed a lot of compile errors
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
13
diff
changeset
|
40 alias stdcstring.memset memset; |
db5a898b2119
Fixed a lot of compile errors
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
13
diff
changeset
|
41 alias stdcstring.memmove memmove; |
db5a898b2119
Fixed a lot of compile errors
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
13
diff
changeset
|
42 alias stdcstring.strlen strlen; |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
43 |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
44 /+public static final native void free (int /*long*/ ptr); |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
45 public static final native int /*long*/ malloc (int /*long*/ size); |
45 | 46 /** |
47 * @param dest cast=(void *) | |
48 * @param src cast=(const void *),flags=no_out critical | |
49 * @param size cast=(size_t) | |
50 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
51 public static final native void memmove (int /*long*/ dest, byte[] src, int /*long*/ size); |
45 | 52 /** |
53 * @param dest cast=(void *) | |
54 * @param src cast=(const void *),flags=no_out critical | |
55 * @param size cast=(size_t) | |
56 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
57 public static final native void memmove (int /*long*/ dest, char[] src, int /*long*/ size); |
45 | 58 /** |
59 * @param dest cast=(void *) | |
60 * @param src cast=(const void *),flags=no_out critical | |
61 * @param size cast=(size_t) | |
62 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
63 public static final native void memmove (int /*long*/ dest, double[] src, int /*long*/ size); |
45 | 64 /** |
65 * @param dest cast=(void *) | |
66 * @param src cast=(const void *),flags=no_out critical | |
67 * @param size cast=(size_t) | |
68 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
69 public static final native void memmove (int /*long*/ dest, float[] src, int /*long*/ size); |
45 | 70 /** |
71 * @param dest cast=(void *) | |
72 * @param src cast=(const void *),flags=no_out critical | |
73 * @param size cast=(size_t) | |
74 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
75 public static final native void memmove (int /*long*/ dest, int[] src, int /*long*/ size); |
45 | 76 /** |
77 * @param dest cast=(void *) | |
78 * @param src cast=(const void *),flags=no_out critical | |
79 * @param size cast=(size_t) | |
80 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
81 public static final native void memmove (int /*long*/ dest, long[] src, int /*long*/ size); |
45 | 82 /** |
83 * @param dest cast=(void *) | |
84 * @param src cast=(const void *),flags=no_out critical | |
85 * @param size cast=(size_t) | |
86 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
87 public static final native void memmove (int /*long*/ dest, short[] src, int /*long*/ size); |
45 | 88 /** |
89 * @param dest cast=(void *),flags=no_in critical | |
90 * @param src cast=(const void *),flags=no_out critical | |
91 * @param size cast=(size_t) | |
92 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
93 public static final native void memmove (byte[] dest, char[] src, int /*long*/ size); |
45 | 94 /** |
95 * @param dest cast=(void *),flags=no_in critical | |
96 * @param src cast=(const void *) | |
97 * @param size cast=(size_t) | |
98 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
99 public static final native void memmove (byte[] dest, int /*long*/ src, int /*long*/ size); |
45 | 100 /** |
101 * @param dest cast=(void *) | |
102 * @param src cast=(const void *) | |
103 * @param size cast=(size_t) | |
104 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
105 public static final native void memmove (int /*long*/ dest, int /*long*/ src, int /*long*/ size); |
45 | 106 /** |
107 * @param dest cast=(void *),flags=no_in critical | |
108 * @param src cast=(const void *) | |
109 * @param size cast=(size_t) | |
110 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
111 public static final native void memmove (char[] dest, int /*long*/ src, int /*long*/ size); |
45 | 112 /** |
113 * @param dest cast=(void *),flags=no_in critical | |
114 * @param src cast=(const void *) | |
115 * @param size cast=(size_t) | |
116 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
117 public static final native void memmove (double[] dest, int /*long*/ src, int /*long*/ size); |
45 | 118 /** |
119 * @param dest cast=(void *),flags=no_in critical | |
120 * @param src cast=(const void *) | |
121 * @param size cast=(size_t) | |
122 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
123 public static final native void memmove (float[] dest, int /*long*/ src, int /*long*/ size); |
45 | 124 /** |
125 * @param dest cast=(void *),flags=no_in critical | |
126 * @param src cast=(const void *) | |
127 * @param size cast=(size_t) | |
128 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
129 public static final native void memmove (int[] dest, byte[] src, int /*long*/ size); |
45 | 130 /** |
131 * @param dest cast=(void *),flags=no_in critical | |
132 * @param src cast=(const void *) | |
133 * @param size cast=(size_t) | |
134 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
135 public static final native void memmove (short[] dest, int /*long*/ src, int /*long*/ size); |
45 | 136 /** |
137 * @param dest cast=(void *),flags=no_in critical | |
138 * @param src cast=(const void *) | |
139 * @param size cast=(size_t) | |
140 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
141 public static final native void memmove (int[] dest, int /*long*/ src, int /*long*/ size); |
45 | 142 /** |
143 * @param dest cast=(void *),flags=no_in critical | |
144 * @param src cast=(const void *) | |
145 * @param size cast=(size_t) | |
146 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
147 public static final native void memmove (long[] dest, int /*long*/ src, int /*long*/ size); |
45 | 148 /** |
149 * @param buffer cast=(void *),flags=critical | |
150 * @param num cast=(size_t) | |
151 */ | |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
152 public static final native int /*long*/ memset (int /*long*/ buffer, int c, int /*long*/ num); |
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
153 public static final native int PTR_sizeof (); |
45 | 154 /** @param s cast=(char *) */ |
1
8b48be5454ce
The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
0
diff
changeset
|
155 public static final native int strlen (int /*long*/ s);+/ |
0
380af2bdd8e5
Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff
changeset
|
156 } |