annotate dwt/internal/C.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 a329f9c3d66d
children db5a898b2119
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
380af2bdd8e5 Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff changeset
1 /*******************************************************************************
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:
0
380af2bdd8e5 Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff changeset
12 * Jacob Carlborg <jacob.carlborg@gmail.com>
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
1
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
16 import stdc = tango.stdc.stdlib : free, malloc, getenv;
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
17 import stdc = tango.stdc.string : memmove, memset, strlen;
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
1
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
35 alias stdc.free free;
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
36 alias stdc.getenv getenv;
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
37 alias stdc.malloc malloc;
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
38 alias stdc.memset memset;
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
39 alias stdc.memmove memmove;
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
40 alias stdc.strlen strlen;
0
380af2bdd8e5 Upload of whole dwt tree
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents:
diff changeset
41
1
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
42 /+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
43 public static final native int /*long*/ getenv (byte[] wcsToMbcs);
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 int /*long*/ malloc (int /*long*/ size);
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 void memmove (int /*long*/ dest, byte[] src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
46 public static final native void memmove (int /*long*/ dest, char[] src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
47 public static final native void memmove (int /*long*/ dest, double[] src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
48 public static final native void memmove (int /*long*/ dest, float[] src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
49 public static final native void memmove (int /*long*/ dest, int[] src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
50 public static final native void memmove (int /*long*/ dest, long[] src, int /*long*/ size);
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, short[] src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
52 public static final native void memmove (byte[] dest, char[] src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
53 public static final native void memmove (byte[] dest, int /*long*/ src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
54 public static final native void memmove (int /*long*/ dest, int /*long*/ src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
55 public static final native void memmove (char[] dest, int /*long*/ src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
56 public static final native void memmove (double[] dest, int /*long*/ src, int /*long*/ size);
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 (float[] dest, int /*long*/ src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
58 public static final native void memmove (int[] dest, byte[] src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
59 public static final native void memmove (short[] dest, int /*long*/ src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
60 public static final native void memmove (int[] dest, int /*long*/ src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
61 public static final native void memmove (long[] dest, int /*long*/ src, int /*long*/ size);
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
62 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
63 public static final native int PTR_sizeof ();
8b48be5454ce The internal cocoa classes compile now
Jacob Carlborg <doob@me.com> <jacob.carlborg@gmail.com>
parents: 0
diff changeset
64 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
65 }