Package org.apache.harmony.awt.nativebridge

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


            }           
            return (res ? 1 : 0);
        }
       
        private Win32.IShellFolder getIShellFolder(VoidPointer ptr) {
            PointerPointer ptrPtr = nb.createPointerPointer(ptr, false);
            return win32.createIShellFolder(ptrPtr.getAddress(0));
        }
View Full Code Here


    }

    @Override
    public Locale[] getAvailableLocales() throws AWTException {
        int nBuff = win32.GetKeyboardLayoutList(0, null);
        PointerPointer buffPtr = nb.createPointerPointer(nBuff, false);
        nBuff = win32.GetKeyboardLayoutList(nBuff, buffPtr);
        for (int i = 0; i < nBuff; i++) {
            long hkl = buffPtr.getElementPointer(i).getAddress(0);
            hkl2Locale(hkl);
        }
       
        return locale2HKL.keySet().toArray(new Locale[0]);
    }
View Full Code Here

            return 0;
        }

        CLongPointer root = bridge.createCLongPointer(1, false);
        CLongPointer parent = bridge.createCLongPointer(1, false);
        PointerPointer children = bridge.createPointerPointer(1, true);
        Int32Pointer count = bridge.createInt32Pointer(1, false);

        x11.XQueryTree(display, windowID, root, parent, children, count);
        VoidPointer data = children.get(0);
        if (data != null) {
            x11.XFree(data);
        }
        return parent.get(0);
    }
View Full Code Here

    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);
View Full Code Here

            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);
View Full Code Here

        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)
View Full Code Here

    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

    }

    Win32.ITEMIDLIST[] getShellContent(final Win32.ITEMIDLIST absoluteParentItemId, final int flags) {
        Win32.IShellFolder parentFolder = getShellFolder(absoluteParentItemId);
        List result = new LinkedList();
        PointerPointer enumIDListPtrPtr = nb.createPointerPointer(1, false);
        if (parentFolder.EnumObjects(0, flags, enumIDListPtrPtr) == WindowsDefs.NOERROR) {
            Win32.IEnumIDList idList = win32.createIEnumIDList(enumIDListPtrPtr.getAddress(0));

            PointerPointer itemListPtr = nb.createPointerPointer(1, false);

            while (true) {
                if (idList.Next(1, itemListPtr, null) == WindowsDefs.NOERROR) {
                    Win32.ITEMIDLIST itemId = win32.createITEMIDLIST(itemListPtr.getAddress(0));
                    result.add(ItemIdProcessor.getAbsoluteItemID(absoluteParentItemId, itemId));
                } else {
                    break;
                }
            }
View Full Code Here

        }
        folder.Release();
    }

    int getAttribute(final Win32.IShellFolder parent, final Win32.ITEMIDLIST itemId, final int flags) {
        PointerPointer itemIdPtrPtr = nb.createPointerPointer(1, false);
        itemIdPtrPtr.set(0, itemId);

        Int32Pointer resultPtr = nb.createInt32Pointer(1, false);
        resultPtr.set(0, flags);
        if (parent.GetAttributesOf(1, itemIdPtrPtr, resultPtr) != WindowsDefs.NOERROR) {
            return -1;
View Full Code Here

        return ItemIdProcessor.getAbsoluteParentItemID(absoluteItemId);
    }

    Object[] getParentShellInfo(final Win32.ITEMIDLIST absoluteItemId) {

        PointerPointer relativeItemIdPrtPrt = nb.createPointerPointer(1, false);
        PointerPointer shellFolderPtrPtr = nb.createPointerPointer(1, false);
        if (win32.SHBindToParent(absoluteItemId, WinFileManager.SHELL_FOLDER_GUID, shellFolderPtrPtr,
                relativeItemIdPrtPrt) != WindowsDefs.NOERROR) {
            return new Object[2];
        }
        Win32.IShellFolder parentFolder = win32.createIShellFolder(shellFolderPtrPtr.getAddress(0));
        Win32.ITEMIDLIST relativeItemId = win32.createITEMIDLIST(relativeItemIdPrtPrt.getAddress(0));
        return new Object[] { parentFolder, relativeItemId };
    }
View Full Code Here

TOP

Related Classes of org.apache.harmony.awt.nativebridge.PointerPointer

Copyright © 2018 www.massapicom. 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.