URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [gnu/] [gcj/] [xlib/] [natClip.cc] - Rev 756
Compare with Previous | Blame | View Log
/* 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. */ // Needed to avoid linking in libstdc++ #ifndef __STL_USE_EXCEPTIONS # include <java/lang/OutOfMemoryError.h> # define __THROW_BAD_ALLOC throw new java::lang::OutOfMemoryError() #endif #include <vector> #include <X11/Xlib.h> #include <gcj/cni.h> #include <gnu/gcj/RawData.h> #include <java/awt/Rectangle.h> #include "gnu/gcj/xlib/Clip.h" typedef java::awt::Rectangle AWTRect; typedef JArray<AWTRect*> AWTRectArray; typedef std::vector<XRectangle> XRectVector; void gnu::gcj::xlib::Clip::init(AWTRectArray* rectangles) { // Prepare rectangles: int numRect = JvGetArrayLength(rectangles); XRectVector* xrectvector = new XRectVector(numRect); for (int i=0; i<numRect; i++) { AWTRect* awtrect = elements(rectangles)[i]; XRectangle& xrect = (*xrectvector)[i]; xrect.x = awtrect->x; xrect.y = awtrect->y; xrect.width = awtrect->width; xrect.height = awtrect->height; } xrects = reinterpret_cast<gnu::gcj::RawData*>(xrectvector); } void gnu::gcj::xlib::Clip::dispose() { if (xrects) { delete xrects; xrects = 0; } }