]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - libjava/gnu/gcj/xlib/natGC.cc
Imported gcc-4.4.3
[msp430-gcc.git] / libjava / gnu / gcj / xlib / natGC.cc
diff --git a/libjava/gnu/gcj/xlib/natGC.cc b/libjava/gnu/gcj/xlib/natGC.cc
deleted file mode 100644 (file)
index 66de35f..0000000
+++ /dev/null
@@ -1,207 +0,0 @@
-/* Copyright (C) 2000  Free Software Foundation
-
-   This file is part of libgcj.
-
-This software is copyrighted work licensed under the terms of the
-Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
-details.  */
-
-#include <vector>
-
-#include <X11/Xlib.h>
-
-#include <gcj/cni.h>
-#include <gnu/gcj/RawData.h>
-#include <java/lang/String.h>
-#include <java/awt/Rectangle.h>
-
-#include <gnu/gcj/xlib/Display.h>
-#include <gnu/gcj/xlib/XID.h>
-#include <gnu/gcj/xlib/Drawable.h>
-#include <gnu/gcj/xlib/Font.h>
-#include <gnu/gcj/xlib/XImage.h>
-#include <gnu/gcj/xlib/XException.h>
-#include <gnu/gcj/xlib/Clip.h>
-#include <gnu/gcj/xlib/GC.h>
-#include <gnu/gcj/xlib/XException.h>
-
-typedef java::awt::Rectangle AWTRect;
-typedef JArray<AWTRect*> AWTRectArray;
-typedef std::vector<XRectangle> XRectVector;
-
-void gnu::gcj::xlib::GC::initStructure(GC* copyFrom)
-{
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::Drawable drawableXID = target->getXID();
-    
-  ::GC gc = XCreateGC(dpy, drawableXID, 0, 0);
-  
-  if (gc == 0) 
-    throw new XException(JvNewStringLatin1("GC creation failed"));
-
-  if (copyFrom != 0)
-    {
-      ::GC fromGC = (::GC) copyFrom->structure;
-      XCopyGC(dpy, fromGC, ~0, gc);
-      // no fast fail
-    }
-
-  structure = reinterpret_cast<gnu::gcj::RawData*>(gc);
-}
-
-void gnu::gcj::xlib::GC::disposeImpl()
-{
-  gnu::gcj::RawData* lStructure = structure;
-  Drawable* lTargetType = target;
-
-  if ((lStructure == 0) || (lTargetType == 0))
-    return;
-    
-  structure = 0;
-  target = 0;
-       
-  Display* display = lTargetType->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::GC gc = (::GC) lStructure;
-       
-  XFreeGC(dpy, gc);
-  // no fast fail
-}
-
-void gnu::gcj::xlib::GC::setForeground(jlong pixel)
-{
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::GC gc = (::GC) structure;
-  XSetForeground(dpy, gc, pixel);
-  // no fast fail
-}
-
-void gnu::gcj::xlib::GC::setFont(Font* font)
-{
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::GC gc = (::GC) structure;
-  XSetFont(dpy, gc, font->getXID());
-  // no fast fail
-}
-
-void gnu::gcj::xlib::GC::drawString(jstring text, jint x, jint y)
-{
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::Drawable drawableXID = target->getXID();
-  ::GC gc = (::GC) structure;
-  
-  /*
-    FIXME: do something along the lines of the following instead:
-
-    jint length = text->length();
-    jchar* txt = JvGetStringChars(text);
-
-    XChar2b xwchars[length];
-    
-    // FIXME: Add convertion and caching
-
-    for (int i=0; i<length; i++)
-      {
-       XChar2b* xc = &(xwchars[i]);
-       jchar jc = txt[i];
-       xc->byte1 = jc & 0xff;
-       xc->byte2 = jc >> 8;
-      }
-
-     XDrawString16(dpy, drawableXID, gc, x, y, xwchars, length);
-    */
-  
-  // FIXME, temporary code:
-  int len = JvGetStringUTFLength(text);
-  char ctxt[len+1];
-  JvGetStringUTFRegion(text, 0, text->length(), ctxt);
-  ctxt[len] = '\0';
-  XDrawString(dpy, drawableXID, gc, x, y, ctxt, len);
-  // no fast fail
-}
-
-void gnu::gcj::xlib::GC::drawLine(jint x1, jint y1, jint x2, jint y2)
-{
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::Drawable drawableXID = target->getXID();
-  ::GC gc = (::GC) structure;
-  XDrawLine(dpy, drawableXID, gc, x1, y1, x2, y2);
-  // no fast fail
-}
-
-void gnu::gcj::xlib::GC::drawRectangle(jint x, jint y, jint w, jint h)
-{
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::Drawable drawableXID = target->getXID();
-  ::GC gc = (::GC) structure;
-  XDrawRectangle(dpy, drawableXID, gc, x, y, w, h);
-  // no fast fail
-}
-
-void gnu::gcj::xlib::GC::fillRectangle(jint x, jint y, jint w, jint h)
-{
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::Drawable drawableXID = target->getXID();
-  ::GC gc = (::GC) structure;
-  XFillRectangle(dpy, drawableXID, gc, x, y, w, h);
-  // no fast fail
-}
-
-void gnu::gcj::xlib::GC::clearArea(jint x, jint y, jint w, jint h,
-                                  jboolean exposures)
-{
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::Drawable drawableXID = target->getXID();
-  
-  XClearArea(dpy, drawableXID, x, y, w, h,
-            exposures ? True : False);
-  // no fast fail
-}
-
-
-void gnu::gcj::xlib::GC::putImage(XImage* image,
-                                 jint srcX, jint srcY,
-                                 jint destX, jint destY,
-                                 jint width, jint height)
-{
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::Drawable drawableXID = target->getXID();
-  ::GC gc = (::GC) structure;
-  ::XImage* ximage = (::XImage*) (image->structure);
-  
-  XPutImage(dpy, drawableXID, gc, ximage,
-           srcX, srcY,
-           destX, destY,
-           width, height);
-  // no fast fail
-}
-
-void gnu::gcj::xlib::GC::updateClip()
-{
-  if (clip == 0)
-    return;
-  
-  Display* display = target->getDisplay();
-  ::Display* dpy = (::Display*) (display->display);
-  ::GC gc = (::GC) structure;
-  
-  XRectVector* xrectvector = (XRectVector*) (clip->xrects);
-  int numRect = xrectvector->size();
-  
-  int originX = 0;
-  int originY = 0;
-  int ordering = Unsorted;
-  XSetClipRectangles(dpy, gc, originX, originY,
-                    &(xrectvector->front()), numRect,
-                    ordering);
-  // no fast fail
-}