diff options
Diffstat (limited to 'Examples/GIFPlot/Java/simple')
| -rw-r--r-- | Examples/GIFPlot/Java/simple/Makefile | 21 | ||||
| -rw-r--r-- | Examples/GIFPlot/Java/simple/README | 5 | ||||
| -rw-r--r-- | Examples/GIFPlot/Java/simple/runme.java | 41 | ||||
| -rw-r--r-- | Examples/GIFPlot/Java/simple/simple.i | 38 |
4 files changed, 105 insertions, 0 deletions
diff --git a/Examples/GIFPlot/Java/simple/Makefile b/Examples/GIFPlot/Java/simple/Makefile new file mode 100644 index 0000000..d707fd4 --- /dev/null +++ b/Examples/GIFPlot/Java/simple/Makefile @@ -0,0 +1,21 @@ +TOP = ../../.. +SWIG = $(TOP)/../swig +SWIGOPT = -noproxy +SRCS = +TARGET = simple +INTERFACE = simple.i +LIBS = -L../.. -lgifplot +INCLUDES = -I../../Include + +all:: + $(MAKE) -f $(TOP)/Makefile SRCS='$(SRCS)' SWIG='$(SWIG)' \ + INCLUDES='$(INCLUDES)' LIBS='$(LIBS)' SWIGOPT='$(SWIGOPT)' \ + TARGET='$(TARGET)' INTERFACE='$(INTERFACE)' java + javac *.java + + +clean:: + $(MAKE) -f $(TOP)/Makefile java_clean + rm -f *.gif + +check: all diff --git a/Examples/GIFPlot/Java/simple/README b/Examples/GIFPlot/Java/simple/README new file mode 100644 index 0000000..13ff496 --- /dev/null +++ b/Examples/GIFPlot/Java/simple/README @@ -0,0 +1,5 @@ +This is a very minimalistic example in which just a few functions +and constants from library are wrapped and used to draw some simple +shapes. After doing a make, run the java program, ie 'java runme'. + + diff --git a/Examples/GIFPlot/Java/simple/runme.java b/Examples/GIFPlot/Java/simple/runme.java new file mode 100644 index 0000000..2d8d2bb --- /dev/null +++ b/Examples/GIFPlot/Java/simple/runme.java @@ -0,0 +1,41 @@ + +public class runme { + + static { + try { + System.loadLibrary("simple"); + } catch (UnsatisfiedLinkError e) { + System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); + System.exit(1); + } + } + + public static void main(String argv[]) { + + // Draw some simple shapes + System.out.println( "Drawing some basic shapes" ); + + SWIGTYPE_p_ColorMap cmap = simple.new_ColorMap(null); + SWIGTYPE_p_FrameBuffer f = simple.new_FrameBuffer(400,400); + + // Clear the picture + simple.FrameBuffer_clear(f,(short)simple.BLACK); + + // Make a red box + simple.FrameBuffer_box(f,40,40,200,200,(short)simple.RED); + + // Make a blue circle + simple.FrameBuffer_circle(f,200,200,40,(short)simple.BLUE); + + // Make green line + simple.FrameBuffer_line(f,10,390,390,200, (short)simple.GREEN); + + // Write an image out to disk + + simple.FrameBuffer_writeGIF(f,cmap,"image.gif"); + System.out.println( "Wrote image.gif" ); + + simple.delete_FrameBuffer(f); + simple.delete_ColorMap(cmap); + } +} diff --git a/Examples/GIFPlot/Java/simple/simple.i b/Examples/GIFPlot/Java/simple/simple.i new file mode 100644 index 0000000..457bc4c --- /dev/null +++ b/Examples/GIFPlot/Java/simple/simple.i @@ -0,0 +1,38 @@ +/* This example shows a very simple interface wrapping a few + primitive declarations */ + +%module simple +%{ +#include "gifplot.h" +%} + +typedef unsigned char Pixel; + +/* Here are a few useful functions */ + +ColorMap *new_ColorMap(char *filename = 0); +void delete_ColorMap(ColorMap *cmap); + +FrameBuffer *new_FrameBuffer(unsigned int width, unsigned int height); +void delete_FrameBuffer(FrameBuffer *frame); +void FrameBuffer_clear(FrameBuffer *frame, Pixel color); +void FrameBuffer_line(FrameBuffer *frame, int x1, int y1, int x2, int y2, Pixel color); +void FrameBuffer_box(FrameBuffer *frame, int x1, int y1, int x2, int y2, Pixel color); +void FrameBuffer_circle(FrameBuffer *frame, int x1, int y1, int radius, Pixel color); +int FrameBuffer_writeGIF(FrameBuffer *f, ColorMap *c, char *filename); + +/* And some useful constants */ + +#define BLACK 0 +#define WHITE 1 +#define RED 2 +#define GREEN 3 +#define BLUE 4 +#define YELLOW 5 +#define CYAN 6 +#define MAGENTA 7 + + + + + |
