diff -r f5050f1da672 -r 04becd199f91 javauis/m3g_akn/javasrc/javax/microedition/m3g/Camera.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/javauis/m3g_akn/javasrc/javax/microedition/m3g/Camera.java Tue Apr 27 16:30:29 2010 +0300 @@ -0,0 +1,87 @@ +/* +* Copyright (c) 2003 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +package javax.microedition.m3g; + +public class Camera extends Node +{ + //------------------------------------------------------------------ + // Static data + //------------------------------------------------------------------ + + public static final int GENERIC = 48; + public static final int PARALLEL = 49; + public static final int PERSPECTIVE = 50; + + //------------------------------------------------------------------ + // Constructors + //------------------------------------------------------------------ + + public Camera() + { + super(_ctor(Interface.getHandle())); + } + + /** + */ + Camera(int handle) + { + super(handle); + } + + //------------------------------------------------------------------ + // Public methods + //------------------------------------------------------------------ + + public void setParallel(float height, float aspectRatio, float near, float far) + { + _setParallel(handle, height, aspectRatio, near, far); + } + + public void setPerspective(float fovy, float aspectRatio, float near, float far) + { + _setPerspective(handle, fovy, aspectRatio, near, far); + } + + public void setGeneric(Transform transform) + { + _setGeneric(handle, transform.matrix); + } + + public int getProjection(Transform transform) + { + return _getProjectionAsTransform(handle, transform != null ? transform.matrix : null); + } + + public int getProjection(float[] params) + { + return _getProjectionAsParams(handle, params); + } + + //------------------------------------------------------------------ + // Private methods + //------------------------------------------------------------------ + + // Native methods + private static native int _ctor(int hInterface); + private static native void _setParallel(int handle, float height, float aspectRatio, float near, float far); + private static native void _setPerspective(int handle, float fovy, float aspectRatio, float near, float far); + private static native void _setGeneric(int handle, byte[] transform); + private static native int _getProjectionAsTransform(int handle, byte[] transform); + private static native int _getProjectionAsParams(int handle, float[] params); +}