Merge remote-tracking branch 'origin/6.1'
[scilab.git] / scilab / modules / renderer / src / cpp / GetJavaProperty.cpp
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2007 - INRIA - Jean-Baptiste Silvy
4  * Copyright (C) 2010 - Paul Griffiths
5  * Copyright (C) 2012 - DIGITEO - Manuel Juliachs
6  * desc : Interface functions between between GetProperty functions and the C++/Java part of module
7  *
8  * Copyright (C) 2012 - 2016 - Scilab Enterprises
9  *
10  * This file is hereby licensed under the terms of the GNU GPL v2.0,
11  * pursuant to article 5.3.4 of the CeCILL v.2.1.
12  * This file was originally licensed under the terms of the CeCILL v2.1,
13  * and continues to be available under such terms.
14  * For more information, see the COPYING file which you should have received
15  * along with this program.
16  *
17  */
18
19 extern "C"
20 {
21 #include "getScilabJavaVM.h"
22 #include "GetJavaProperty.h"
23 }
24
25 #include "CallRenderer.hxx"
26
27 using namespace org_scilab_modules_renderer;
28
29 /*---------------------------------------------------------------------------------*/
30 void sciGetJava2dViewPixelCoordinates(int iSubwinUID, const double userCoords[3], int pixCoords[2])
31 {
32     double *tmp = NULL;
33     double coords[3];
34
35     coords[0] = userCoords[0];
36     coords[1] = userCoords[1];
37     coords[2] = userCoords[2];
38
39     tmp = CallRenderer::getPixelFrom2dViewCoordinates(getScilabJavaVM(), iSubwinUID, coords, 3);
40
41     pixCoords[0] = (int) tmp[0];
42     pixCoords[1] = (int) tmp[1];
43     delete[] tmp;
44 }
45
46 /*---------------------------------------------------------------------------------*/
47 void sciGetJava2dViewCoordinates(int iSubwinUID, const double userCoords3D[3], double userCoords2D[2])
48 {
49     double *tmp = NULL;
50     double coords[3];
51
52     coords[0] = userCoords3D[0];
53     coords[1] = userCoords3D[1];
54     coords[2] = userCoords3D[2];
55
56     tmp = CallRenderer::get2dViewCoordinates(getScilabJavaVM(), iSubwinUID, coords, 3);
57
58     userCoords2D[0] = tmp[0];
59     userCoords2D[1] = tmp[1];
60     delete[] tmp;
61 }
62
63 /*---------------------------------------------------------------------------------*/
64 void sciGetJava2dViewCoordFromPixel(int iSubwinUID, const int pixCoords[2], double userCoords2D[2])
65 {
66     double *tmp = NULL;
67     double coords[2];
68
69     coords[0] = (double) pixCoords[0];
70     coords[1] = (double) pixCoords[1];
71
72     tmp = CallRenderer::get2dViewFromPixelCoordinates(getScilabJavaVM(), iSubwinUID, coords, 2);
73
74     userCoords2D[0] = tmp[0];
75     userCoords2D[1] = tmp[1];
76     delete[] tmp;
77 }
78
79 /*---------------------------------------------------------------------------------*/
80 void sciGetJavaViewingArea(int iSubwinUID, int *xPos, int *yPos, int *width, int *height)
81 {
82     double *tmp = NULL;
83
84     tmp = CallRenderer::getViewingArea(getScilabJavaVM(), iSubwinUID);
85
86     *xPos = (int) tmp[0];
87     *yPos = (int) tmp[1];
88     *width = (int) tmp[2];
89     *height = (int) tmp[3];
90     delete[] tmp;
91 }
92
93 /*---------------------------------------------------------------------------------*/