/* 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 # define __THROW_BAD_ALLOC throw new java::lang::OutOfMemoryError() #endif #include #include #include #include #include #include "gnu/gcj/xlib/Clip.h" typedef java::awt::Rectangle AWTRect; typedef JArray AWTRectArray; typedef std::vector XRectVector; void gnu::gcj::xlib::Clip::init(AWTRectArray* rectangles) { // Prepare rectangles: int numRect = JvGetArrayLength(rectangles); XRectVector* xrectvector = new XRectVector(numRect); for (int i=0; ix; xrect.y = awtrect->y; xrect.width = awtrect->width; xrect.height = awtrect->height; } xrects = reinterpret_cast(xrectvector); } void gnu::gcj::xlib::Clip::dispose() { if (xrects) { delete xrects; xrects = 0; } }