Package com.sun.jna

Examples of com.sun.jna.Memory


            return;
        }
        if (null == result) {
            return;
        }
        Memory buffer = bufferForReturn(result);
        if (buffer == null) {
            throw new IllegalStateException(
                    String.format("Don't (yet) know how to marshall result %s as Objective-C type %s", result, typeToReturnToObjC));
        }
        invocation.setReturnValue(buffer);
View Full Code Here


   
    private Structure readStructureByValue(NSInvocation invocation, int index,
            Class<? extends Structure> type)
    {
        Structure result = newInstance(type);
        Memory buffer = new Memory(result.size());
        invocation.getArgument_atIndex(buffer, index);
        return copyBufferToStructure(buffer, result);
    }
View Full Code Here

    }
   
    private Structure readStructureByReference(NSInvocation invocation, int index,
            Class<? extends Structure> type)
    {
        Memory buffer = new Memory(Native.POINTER_SIZE);
        invocation.getArgument_atIndex(buffer, index);
        Pointer pointerToResult = buffer.getPointer(0);
        Structure result = newInstance(type);       
        return copyBufferToStructure(pointerToResult, result);
    }
View Full Code Here

    }
   
    private Memory bufferForStructureByValue(Structure methodCallResult) {
        methodCallResult.write();
        int byteCount = methodCallResult.size();
        Memory buffer = new Memory(byteCount);
        memcpy(buffer, methodCallResult.getPointer(), byteCount);
        return buffer;
    }
View Full Code Here

        return buffer;
    }

    private Memory bufferForStructureByReference(Structure methodCallResult) {
        methodCallResult.write();
        Memory buffer = new Memory(Native.POINTER_SIZE);
        buffer.setPointer(0, methodCallResult.getPointer());
        return buffer;
    }
View Full Code Here

    public String typeString() {
        return typeString;
    }
   
    public Object readArgumentFrom(NSInvocation invocation, int index, Class<?> type) {
        Memory buffer = new Memory(8); // big enough for long or double
        invocation.getArgument_atIndex(buffer, index);
        return readFrom(buffer, type);
    }
View Full Code Here

        bmi.bmiHeader.biHeight = -height;
        bmi.bmiHeader.biPlanes = 1;
        bmi.bmiHeader.biBitCount = 32;
        bmi.bmiHeader.biCompression = WinGDI.BI_RGB;

        Memory buffer = new Memory(width * height * 4);
        GDI32.INSTANCE.GetDIBits(hdcWindow, hBitmap, 0, height, buffer, bmi, WinGDI.DIB_RGB_COLORS);

        BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
        image.setRGB(0, 0, width, height, buffer.getIntArray(0, width * height), 0, width);

        GDI32.INSTANCE.DeleteObject(hBitmap);
        User32.INSTANCE.ReleaseDC(hWnd, hdcWindow);

        return image;
View Full Code Here

    public static class DATA_BLOB extends Structure {
       
        public DATA_BLOB(byte[] bytes) {
            if (bytes != null) {
                cbData = new Memory(bytes.length);
                cbData.write(0, bytes, 0, bytes.length);
                cbSize = new NativeLong(bytes.length);
            } else {
                cbSize = new NativeLong(0);
                cbData = Pointer.NULL;
View Full Code Here

        }
       
        SecBuffer outSecBuffer = new SecBuffer();
        outSecBuffer.cbBuffer = new NativeLong(512);
        outSecBuffer.BufferType = new NativeLong(ISVNSecurityLibrary.SECBUFFER_TOKEN);
        outSecBuffer.pvBuffer = new Memory(512);
        outSecBuffer.write();
       
        SecBufferDesc outBufferDescription = new SecBufferDesc();
        outBufferDescription.ulVersion = new NativeLong(0);
        outBufferDescription.cBuffers = new NativeLong(1);
        outBufferDescription.pBuffers = outSecBuffer.getPointer();

        outBufferDescription.write();
       
        SecBufferDesc inBufferDescription = null;
        SecBuffer inSecBuffer = null;
        if (lastToken != null) {
            inSecBuffer = new SecBuffer();
            inSecBuffer.cbBuffer = new NativeLong(lastToken.length);
            inSecBuffer.BufferType = new NativeLong(ISVNSecurityLibrary.SECBUFFER_TOKEN);
            inSecBuffer.pvBuffer = new Memory(lastToken.length);
            inSecBuffer.pvBuffer.write(0, lastToken, 0, lastToken.length);
            inSecBuffer.write();
               
            inBufferDescription = new SecBufferDesc();
            inBufferDescription.ulVersion = new NativeLong(0);
            inBufferDescription.cBuffers = new NativeLong(1);
            inBufferDescription.pBuffers = inSecBuffer.getPointer();
            inBufferDescription.write();
        }
       
        Pointer contextAttributes = new Memory(NativeLong.SIZE);
        TimeStamp ltime = new TimeStamp();
        ltime.HighPart = new NativeLong(0);
        ltime.LowPart = new NativeLong(0);
        ltime.write();
       
View Full Code Here

            bmi.bmiHeader.biHeight = -height;
            bmi.bmiHeader.biPlanes = 1;
            bmi.bmiHeader.biBitCount = 32;
            bmi.bmiHeader.biCompression = WinGDI.BI_RGB;

            Memory buffer = new Memory(width * height * 4);
            GDI.GetDIBits(hdcMemDC, hBitmap, 0, height, buffer, bmi, WinGDI.DIB_RGB_COLORS);
            int[] pixels = buffer.getIntArray(0, width * height);
            GDI.SelectObject(hdcMemDC, hOld);
            GDI.DeleteDC(hdcMemDC);
            GDI.DeleteObject(hBitmap);
            USER.ReleaseDC(hwnd, hdcWindow);
            return pixels;
View Full Code Here

TOP

Related Classes of com.sun.jna.Memory

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.