X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=libjava%2Fgnu%2Fgcj%2Fxlib%2FnatXImage.cc;fp=libjava%2Fgnu%2Fgcj%2Fxlib%2FnatXImage.cc;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=a92cf9f8c6f2a5d8b4385fc6ae8d08f9262e2dbb;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/libjava/gnu/gcj/xlib/natXImage.cc b/libjava/gnu/gcj/xlib/natXImage.cc deleted file mode 100644 index a92cf9f8..00000000 --- a/libjava/gnu/gcj/xlib/natXImage.cc +++ /dev/null @@ -1,220 +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 -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include - -void gnu::gcj::xlib::XImage::init(Visual* visual, jint depth, - jint format, jint xoffset, - jint width, jint height, - jint bitmapPad, jint bytesPerLine, - jint bitsPerPixel) -{ - ::Display* dpy = (::Display*) visual->display->display; - ::Visual* vis = (::Visual*) visual->getVisualStructure(); - - char* data = 0; // no preallocated data - ::XImage* ximage = XCreateImage(dpy, vis, depth, format, xoffset, - data, - width, height, - bitmapPad, - bytesPerLine - ); - if (ximage == 0) - { - jstring errorMessage = JvNewStringLatin1("XCreateImage failed"); - throw new java::lang::OutOfMemoryError(errorMessage); - } - - bool reinitialize = false; - - if ((bitsPerPixel != 0) && (ximage->bits_per_pixel != bitsPerPixel)) - { - ximage->bits_per_pixel = bitsPerPixel; - reinitialize = true; - } - - // FIXME: make autoconf test? - jshort endianTestShort[] = { 1 }; - jbyte* endianTestByte = reinterpret_cast(endianTestShort); - - jint byteOrder; - if (endianTestByte[0] == 1) - { - // little endian machine - byteOrder = LEAST_SIGNIFICANT_B_FIRST_ORDER; - } - else - { - // big endian machine - byteOrder = MOST_SIGNIFICANT_B_FIRST_ORDER; - } - /* NB: This doesn't consider those weird machines out there with - middle-endian byte order. */ - - if (byteOrder != ximage->byte_order) - { - ximage->byte_order = byteOrder; - reinitialize = true; - } - - if (reinitialize) - XInitImage(ximage); - - structure = reinterpret_cast(ximage); - // Notice that no image data has been allocated at this point -} - -void gnu::gcj::xlib::XImage::init(Visual* visual, - jint width, - jint height) -{ - int depth = visual->getDepth(); - - int format = ZPixmap; // Chunky, not planar. - int offset = 0; - int bitmapPad = 32; // FIXME, don't hardcode this - int bytesPerLine = 0; // Let the server figure it out - - init(visual, depth, format, offset, width, height, bitmapPad, - bytesPerLine, 0); -} - -void gnu::gcj::xlib::XImage::internalSetData(jbyteArray data, jint offset) -{ - ::XImage* ximage = (::XImage*) structure; - ximage->data = reinterpret_cast(elements(data)+offset); -} - -void gnu::gcj::xlib::XImage::internalSetData(jshortArray data, jint offset) -{ - ::XImage* ximage = (::XImage*) structure; - ximage->data = reinterpret_cast(elements(data)+offset); -} - -void gnu::gcj::xlib::XImage::internalSetData(jintArray data, jint offset) -{ - ::XImage* ximage = (::XImage*) structure; - ximage->data = reinterpret_cast(elements(data)+offset); -} - -void gnu::gcj::xlib::XImage::finalize() -{ - ::XImage* ximage = (::XImage*) structure; - if (ownsData) - delete ximage->data; - - ximage->data = 0; // Never allow XLib to free the data allocation. - dataRef = 0; - XDestroyImage(ximage); -} - -jint gnu::gcj::xlib::XImage::getWidth() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->width; -} - -jint gnu::gcj::xlib::XImage::getHeight() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->height; -} - -jint gnu::gcj::xlib::XImage::getDepth() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->depth; -} - -jint gnu::gcj::xlib::XImage::getFormat() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->format; -} - -jint gnu::gcj::xlib::XImage::getXOffset() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->xoffset; -} - -jint gnu::gcj::xlib::XImage::getImageByteOrder() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->byte_order; -} - -jint gnu::gcj::xlib::XImage::getBitmapBitOrder() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->bitmap_bit_order; -} - -jint gnu::gcj::xlib::XImage::getBitmapUnit() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->bitmap_unit; -} - -jint gnu::gcj::xlib::XImage::getBitmapPad() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->bitmap_pad; -} - -jint gnu::gcj::xlib::XImage::getBytesPerLine() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->bytes_per_line; -} - -jint gnu::gcj::xlib::XImage::getBitsPerPixel() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->bits_per_pixel; -} - - -// True/Direct Color specific: - -jint gnu::gcj::xlib::XImage::getRedMask() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->red_mask; -} - -jint gnu::gcj::xlib::XImage::getGreenMask() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->green_mask; -} - -jint gnu::gcj::xlib::XImage::getBlueMask() -{ - ::XImage* ximage = (::XImage*) structure; - return ximage->blue_mask; -} - -void gnu::gcj::xlib::XImage::setPixel(jint x, jint y, jint pixel) -{ - ::XImage* ximage = (::XImage*) structure; - XPutPixel(ximage, x, y, pixel); -}