compile: $(java_classes) bin/org/xwt/builtin.xwar
# platforms
-all: Win32 Linux Java2 Darwin
+all: Win32 Linux Java2 Darwin Carbon
.javac:
if \
cd src/org/ijg; patch -p0 < jmorecfg.h.patch
rm -rf src/org/ijg/jpeg-6b
-$(cc_objects): bin-$(platform)/%.cc.o: src/%.cc $(java_headers)
+$(cc_objects): bin-$(platform)/%.cc.o: src/%.cc $(java_headers) src/org/ijg/jmorecfg.h
@echo "compiling .cc -> .o: $<"
@mkdir -p `dirname $@`
$(g++) -I/usr/X11R6/include/ -I$(gcc_path)/include -Ibin -c $< -o $@
platform_link="upstream/darwin/*.[oa] $(gcc_path)/lib/libgcj.a" \
platform_java_sources="POSIX X11"
+Carbon: upstream
+ echo -e "\\n=== Carbon ========================================="
+ ranlib upstream/darwin/*.a
+ ar x /usr/lib/libcc_dynamic.a upstream/darwin/darwin-fpsave.o
+ make gcj \
+ platform=Carbon \
+ target=powerpc-apple-darwin \
+ target_bin=xwt.carbon \
+ platform_link="upstream/darwin/*.[oa] $(gcc_path)/lib/libgcj.a" \
+ platform_java_sources="POSIX Carbon"
+
Java2: $(java_classes) bin/org/xwt/builtin.xwar
echo -e "\\n=== Java2 ========================================="
echo "archiving .class -> .jar"
--- /dev/null
+// Copyright 2002 Adam Megacz, see the COPYING file for licensing [LGPL]
+// see below for copyright information on the second portion of this file
+
+#include "POSIX.cc"
+#include <org/xwt/plat/Carbon.h>
+#include <org/xwt/plat/Carbon$CarbonSurface.h>
+#include <org/xwt/plat/Carbon$CarbonPicture.h>
+#include <org/xwt/plat/Carbon$CarbonDoubleBuffer.h>
+#include <java/lang/System.h>
+#include <java/lang/Error.h>
+#include <java/io/PrintStream.h>
+
+
+// CarbonDoubleBuffer //////////////////////////////////////////////////////////////////////
+
+void org::xwt::plat::Carbon$CarbonDoubleBuffer::drawPicture(org::xwt::Picture* s,
+ jint dx1, jint dy1, jint dx2, jint dy2, jint sx1, jint sy1, jint sx2, jint sy2) {
+ org::xwt::plat::Carbon$CarbonPicture* source = (org::xwt::plat::Carbon$CarbonPicture*)s;
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonDoubleBuffer::finalize() {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonSurface::blit(org::xwt::DoubleBuffer* db, jint sx, jint sy, jint dx, jint dy, jint dx2, jint dy2) {
+ org::xwt::plat::Carbon$CarbonDoubleBuffer *xdb = (org::xwt::plat::Carbon$CarbonDoubleBuffer*)db;
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonDoubleBuffer::fillRect (jint x, jint y, jint x2, jint y2, jint argb) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonDoubleBuffer::drawString(::java::lang::String* font, ::java::lang::String* text, jint x, jint y, jint argb) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+
+// CarbonSurface //////////////////////////////////////////////////////////////////////
+
+void org::xwt::plat::Carbon$CarbonSurface::setIcon(org::xwt::Picture* pic) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonSurface::setTitleBarText(java::lang::String* s) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonSurface::setLimits(jint minw, jint minh, jint maxw, jint maxh) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonSurface::setSize (jint width, jint height) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonSurface::setLocation (jint x, jint y) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+void org::xwt::plat::Carbon$CarbonSurface::toFront() {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+void org::xwt::plat::Carbon$CarbonSurface::toBack() {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonSurface::_dispose() {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonSurface::setInvisible(jboolean i) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonSurface::_setMaximized(jboolean b) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon$CarbonSurface::_setMinimized(jboolean b) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+
+
+
+// Carbon ///////////////////////////////////////////////////////////////////
+
+jint org::xwt::plat::Carbon::_getScreenWidth() {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+jint org::xwt::plat::Carbon::_getScreenHeight() {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+jstring org::xwt::plat::Carbon::_getClipBoard() {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+void org::xwt::plat::Carbon::_setClipBoard(jstring s) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+JArray<java::lang::String*>* org::xwt::plat::Carbon::listNativeFonts() {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+gnu::gcj::RawData* org::xwt::plat::Carbon::fontStringToStruct(jstring s) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
+jint org::xwt::plat::Carbon::_getMaxAscent(::java::lang::String* font) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+jint org::xwt::plat::Carbon::_getMaxDescent(::java::lang::String* font) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+jint org::xwt::plat::Carbon::_stringWidth(::java::lang::String* font, ::java::lang::String* text) {
+ throw new java::lang::Error(JvNewStringLatin1("FIXME"));
+}
+
--- /dev/null
+// Copyright 2002 Adam Megacz, see the COPYING file for licensing [LGPL]
+package org.xwt.plat;
+
+import java.awt.*;
+import java.awt.image.*;
+import gnu.gcj.RawData;
+import java.net.*;
+import java.lang.reflect.*;
+import java.io.*;
+import java.util.*;
+import java.awt.peer.*;
+import org.xwt.util.*;
+import org.xwt.*;
+
+/** Platform implementation for Carbon UI on a POSIX-compliant OS (ie Mac OS X) */
+public class Carbon extends POSIX {
+
+ // General Methods ///////////////////////////////////////////////////////
+
+ protected String _getAltKeyName() { return "option"; }
+ protected String[] _listFonts() { throw new Error("FIXME"); }
+ protected Picture _createPicture(int[] data, int w, int h) { return new CarbonPicture(data, w, h); }
+ protected DoubleBuffer _createDoubleBuffer(int w, int h, Surface owner) { return new CarbonDoubleBuffer(w, h); }
+ protected Surface _createSurface(Box b, boolean framed) { return new CarbonSurface(b, framed); }
+ protected boolean _needsAutoClick() { throw new Error("FIXME"); }
+ protected native int _getScreenWidth();
+ protected native int _getScreenHeight();
+ protected native String _getClipBoard();
+ protected native void _setClipBoard(String s);
+ protected native int _stringWidth(String font, String text);
+ protected native int _getMaxAscent(String font);
+ protected native int _getMaxDescent(String font);
+ protected boolean _needsAutoDoubleClick() { throw new Error("FIXME"); }
+
+ public Carbon() { }
+ public void init() { throw new Error("FIXME"); }
+
+
+ // CarbonSurface /////////////////////////////////////////////////////
+
+ /** Implements a Surface as an Carbon Window */
+ public static class CarbonSurface extends Surface {
+
+ public native void setInvisible(boolean i);
+ public native void _setMaximized(boolean m);
+ public native void setIcon(Picture p);
+ public native void _setMinimized(boolean b);
+ public native void setTitleBarText(String s);
+ public native void setSize(int w, int h);
+ public native void setLocation(int x, int y);
+ public native void natInit();
+ public native void toFront();
+ public native void toBack();
+ public native void syncCursor();
+ public native void _dispose();
+ public native void setLimits(int minw, int minh, int maxw, int maxh);
+ public native void blit(DoubleBuffer s, int sx, int sy, int dx, int dy, int dx2, int dy2);
+
+ public CarbonSurface(Box root, boolean framed) { throw new Error("FIXME"); }
+
+ }
+
+
+ // Our Subclass of Picture ///////////////////////////////////////////////
+
+ /** Implements a Picture */
+ public static class CarbonPicture extends Picture {
+
+ int width;
+ int height;
+ int[] data = null;
+ public int getWidth() { return width; }
+ public int getHeight() { return height; }
+
+ public CarbonPicture(int[] data, int w, int h) {
+ this.data = data;
+ this.width = w;
+ this.height = h;
+ throw new Error("FIXME");
+ }
+
+ }
+
+ /** A Carbon DoubleBuffer */
+ public static class CarbonDoubleBuffer extends DoubleBuffer {
+
+ int width;
+ int height;
+ public int getWidth() { return width; }
+ public int getHeight() { return height; }
+
+ public CarbonDoubleBuffer(int w, int h) { this.width = w; this.height = h; throw new Error("FIXME"); }
+ public void setClip(int x, int y, int x2, int y2) { throw new Error("FIXME"); }
+ public void drawPicture(Picture source, int x, int y) { throw new Error("FIXME"); }
+ public void drawPicture(Picture source, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1, int sx2, int sy2) { throw new Error("FIXME"); }
+ public native void fillRect(int x, int y, int x2, int y2, int color);
+ public native void drawString(String font, String text, int x, int y, int color);
+ public native void finalize();
+ }
+
+}