Examples of CLongPointer


Examples of org.apache.harmony.awt.nativebridge.CLongPointer

        long [] supportedHints = getWindowProperty(root, NET_SUPPORTED);
        return supportedHints;
    }

    private long[] getWindowProperty(long winId, final long propertyAtom) {
        CLongPointer type = bridge.createCLongPointer(1, false);
        Int32Pointer formatPtr = bridge.createInt32Pointer(1, false);
        CLongPointer nItemsPtr = bridge.createCLongPointer(1, false);
        CLongPointer bytesRemaining = bridge.createCLongPointer(1, false);
        PointerPointer data = bridge.createPointerPointer(1, false);

        final int anyType = X11Defs.AnyPropertyType;
        x11.XGetWindowProperty(display, winId, propertyAtom, 0, 1,
                               anyType, X11Defs.False, type,
                               formatPtr, nItemsPtr,
                               bytesRemaining, data);
        VoidPointer dataPtr = data.get(0);
        if (dataPtr == null) {
            return null;
        }
        x11.XFree(dataPtr);
        long nBytes = bytesRemaining.get(0);
        long typeAtom = type.get(0);
        if (typeAtom == X11Defs.None) {
            // the property doesn't exist
            return null;
        }
        int bitFormat = formatPtr.get(0);
        long nItems = (nBytes + 4) * 8 / bitFormat;
        long n32bitItems = nItems / (32 / bitFormat);
        x11.XGetWindowProperty(display, winId, propertyAtom, 0,
                               n32bitItems, anyType, X11Defs.False,
                               type, formatPtr, nItemsPtr,
                               bytesRemaining, data);

        nBytes = bytesRemaining.get(0);
        assert nBytes == 0;
        //read the data:
        int itemSize = bitFormat / 8;
        CLongPointer dataArray = bridge.createCLongPointer(data.get(0));
        long[] props = new long [(int)nItems];
        for (int i = 0; i < nItems; i++) {
            int item = 0;
            if (itemSize == 4) {
                item = (int)dataArray.get(i);
            } else if (itemSize == 2) {
                item = (short)dataArray.get(i);
            } else if (itemSize == 1) {
                item = (byte)dataArray.get(i);
            }
            props[i] = item;
        }
        x11.XFree(dataPtr);

View Full Code Here

Examples of org.apache.harmony.awt.nativebridge.CLongPointer

    long[] getChildrenIDs(long windowID) {
        if (windowID == 0) {
            return new long[0];
        }

        CLongPointer root = bridge.createCLongPointer(1, false);
        CLongPointer parent = bridge.createCLongPointer(1, false);
        PointerPointer childrenArray = bridge.createPointerPointer(1, false);
        Int32Pointer childrenCount = bridge.createInt32Pointer(1, false);;
        x11.XQueryTree(display, windowID, root, parent,
                       childrenArray, childrenCount);

        int count = childrenCount.get(0);
        CLongPointer children = bridge.createCLongPointer(childrenArray.get(0));
        if (children == null) {
            return new long[0];
        }
        long[] result = new long[count];
        children.get(result, 0, count);
        x11.XFree(children);
        return result;
    }
View Full Code Here

Examples of org.apache.harmony.awt.nativebridge.CLongPointer

     * doesn't support this property or property has unexpected formats
     */
    Insets getNativeInsets(long windowId, long property) {
        Insets insets = null;

        CLongPointer actualTypeReturn = bridge.createCLongPointer(1, false);
        Int32Pointer actualFormatReturn = bridge.createInt32Pointer(1, false);
        CLongPointer nitemsReturn = bridge.createCLongPointer(1, false);
        CLongPointer bytesAfterReturn = bridge.createCLongPointer(1, false);
        PointerPointer propReturn = bridge.createPointerPointer(1, false);

        int result = x11.XGetWindowProperty(factory.getDisplay(), windowId,
                property, 0, 4, X11Defs.FALSE,
                X11Defs.AnyPropertyType, actualTypeReturn, actualFormatReturn,
                nitemsReturn, bytesAfterReturn, propReturn);

        if (result == X11Defs.Success) {
            long nItems = nitemsReturn.get(0);
            long actualType = actualTypeReturn.get(0);
            int actualFormat = actualFormatReturn.get(0);
            CLongPointer ptrData = bridge.createCLongPointer(propReturn.get(0));
            if (ptrData == null) {
                return insets;
            }

            if ((nItems == 4) && (actualType == XA_CARDINAL)
                    && (actualFormat == 32)) {

                insets = new Insets(0, 0, 0, 0);
                insets.left = (int)ptrData.get(0);
                insets.right = (int)ptrData.get(1);
                insets.top = (int)ptrData.get(2);
                insets.bottom = (int)ptrData.get(3);
            }
            x11.XFree(ptrData);
        }

        return insets;
View Full Code Here

Examples of org.apache.harmony.awt.nativebridge.CLongPointer

        X11.XEvent e = x11.createXEvent(false);
        long ref = objAccessor.getGlobalReference(task);
        e.set_type(X11Defs.ClientMessage);
        X11.XClientMessageEvent xclient = e.get_xclient();
        xclient.set_message_type(performTaskAtom);
        CLongPointer data = xclient.get_l();
        data.set(0, (ref & 0xFFFFFFFF));
        data.set(1, (ref >> 32));
        data.set(2, wait ? 1 : 0);
        return e;
    }
View Full Code Here

Examples of org.apache.harmony.awt.nativebridge.CLongPointer

        }
        return false;
    }

       private void performTask(X11.XClientMessageEvent xclient) {
        CLongPointer data = xclient.get_l();
       
        long ref = (data.get(0) & 0xFFFFFFFF) | (data.get(1) << 32);
        boolean wait = (data.get(2) != 0);
              
        Task t = (Task)objAccessor.getObjectFromReference(ref);
        if (wait) {
            synchronized(t) {
                t.perform();
View Full Code Here

Examples of org.apache.harmony.awt.nativebridge.CLongPointer

        //so have to translate it for top-level(managed by WM)windows
        //to get root-related coords
        if (!child && !isSynthetic) {
            Int32Pointer x = bridge.createInt32Pointer(1, false);
            Int32Pointer y = bridge.createInt32Pointer(1, false);
            CLongPointer childWindow = bridge.createCLongPointer(1, false);

            long parentId = win.getParentID();
            x11.XTranslateCoordinates(win.getDisplay(), parentId,
                                      factory.getRootWindow(),
                                      windowRect.x, windowRect.y,
View Full Code Here

Examples of org.apache.harmony.awt.nativebridge.CLongPointer

        forwardToContent();

    }

    private void processWindowStateEvent() {
        CLongPointer actualTypeReturn = bridge.createCLongPointer(1, false);
        Int32Pointer actualFormatReturn = bridge.createInt32Pointer(1, false);
        CLongPointer nitemsReturn = bridge.createCLongPointer(1, false);
        CLongPointer bytesAfterReturn = bridge.createCLongPointer(1, false);
        PointerPointer propReturn = bridge.createPointerPointer(1, false);

        x11.XGetWindowProperty(factory.getDisplay(), windowId,
                factory.wm.NET_WM_STATE, 0, Integer.MAX_VALUE, X11Defs.FALSE,
                X11Defs.AnyPropertyType, actualTypeReturn, actualFormatReturn,
                nitemsReturn, bytesAfterReturn, propReturn);

        int count = (int)nitemsReturn.get(0);
        if (count == 0) {
            return;
        }
        if (actualFormatReturn.get(0) == 32) {
            CLongPointer types = bridge.createCLongPointer(propReturn.get(0));
            deriveNewWindowState(count, types);
        } else {
            throw new RuntimeException(
                "Only 32-bit format is supported for window state operations.");
        }
View Full Code Here

Examples of org.apache.harmony.awt.nativebridge.CLongPointer

        forwardToContent();
    }

    private void processClientMessageEvent(X11.XClientMessageEvent event) {
        if (event.get_message_type() == factory.wm.WM_PROTOCOLS) {
            CLongPointer data = event.get_l();
            long protocol = data.get(0);
            if (protocol == factory.wm.WM_DELETE_WINDOW) {
                LinuxWindow lw = (LinuxWindow)factory.getWindowById(windowId);
                LinuxWindow cw = lw.getContentWindow();
                if (lw.isInputAllowed()) {
                    eventId = WindowEvent.WINDOW_CLOSING;
View Full Code Here

Examples of org.apache.harmony.awt.nativebridge.CLongPointer

    public Rectangle getBounds() {
        Int32Pointer x = bridge.createInt32Pointer(1, false);
        Int32Pointer y = bridge.createInt32Pointer(1, false);
        Int32Pointer w = bridge.createInt32Pointer(1, false);
        Int32Pointer h = bridge.createInt32Pointer(1, false);
        CLongPointer root = bridge.createCLongPointer(1, false);
        Int32Pointer border = bridge.createInt32Pointer(1, false);
        Int32Pointer depth = bridge.createInt32Pointer(1, false);

        x11.XGetGeometry(display, windowID, root, x, y, w, h, border, depth);
        long rootID = root.get(0);
        if (!child || (this instanceof ContentWindow)) {
            CLongPointer childWindow = bridge.createCLongPointer(1, false);
            x11.XTranslateCoordinates(display, getParentID(), rootID,
                                      x.get(0), y.get(0), x, y, childWindow);
        }
        Rectangle r = new Rectangle(x.get(0), y.get(0), w.get(0), h.get(0));
View Full Code Here

Examples of org.apache.harmony.awt.nativebridge.CLongPointer

        if (!child && !undecorated) {
            Int32Pointer x = bridge.createInt32Pointer(1, false);
            Int32Pointer y = bridge.createInt32Pointer(1, false);
            Int32Pointer w = bridge.createInt32Pointer(1, false);
            Int32Pointer h = bridge.createInt32Pointer(1, false);
            CLongPointer root = bridge.createCLongPointer(1, false);
            Int32Pointer border = bridge.createInt32Pointer(1, false);
            Int32Pointer depth = bridge.createInt32Pointer(1, false);

            x11.XGetGeometry(display, windowID, root, x, y, w, h, border, depth);
            long rootID = root.get(0);
            long frameID = getFrameID(windowID, rootID);

            if (frameID != 0 && frameID != rootID && parentID == rootID) {
                int width = w.get(0), height = h.get(0);
                CLongPointer childWindow = bridge.createCLongPointer(1, false);

                //get window coordinates relative to WM's frame
                x11.XTranslateCoordinates(display, getParentID(), frameID,
                                        x.get(0), y.get(0), x, y, childWindow);
                insets.top = y.get(0);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.