78958b1f4e9cc0bdbd4580370efdf7449d31744f
[scilab.git] / scilab / modules / graphics / src / c / getHandleProperty / get_log_flags_property.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2004-2006 - INRIA - Fabrice Leray
4  * Copyright (C) 2006 - INRIA - Allan Cornet
5  * Copyright (C) 2006 - INRIA - Jean-Baptiste Silvy
6  * Copyright (C) 2010 - DIGITEO - Manuel Juliachs
7  * Copyright (C) 2011 - DIGITEO - Vincent Couvert
8  *
9  * This file must be used under the terms of the CeCILL.
10  * This source file is licensed as described in the file COPYING, which
11  * you should have received as part of this distribution.  The terms
12  * are also available at
13  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
14  *
15  */
16
17 /*------------------------------------------------------------------------*/
18 /* file: get_log_flags_property.c                                         */
19 /* desc : function to retrieve in Scilab the log_flags field of           */
20 /*        a handle                                                        */
21 /*------------------------------------------------------------------------*/
22
23 #include "getHandleProperty.h"
24 #include "returnProperty.h"
25 #include "Scierror.h"
26 #include "localization.h"
27
28 #include "getGraphicObjectProperty.h"
29 #include "graphicObjectProperties.h"
30
31 /*------------------------------------------------------------------------*/
32 int get_log_flags_property(void* _pvCtx, char* pobjUID)
33 {
34     int i = 0;
35     int iLogFlag = 0;
36     int* piLogFlag = &iLogFlag;
37     int logFlags[3];
38     char logFlagsString[4];
39
40     getGraphicObjectProperty(pobjUID, __GO_X_AXIS_LOG_FLAG__, jni_bool, (void **)&piLogFlag);
41
42     if (piLogFlag == NULL)
43     {
44         Scierror(999, _("'%s' property does not exist for this handle.\n"), "log_flag");
45         return -1;
46     }
47
48     logFlags[0] = iLogFlag;
49
50     getGraphicObjectProperty(pobjUID, __GO_Y_AXIS_LOG_FLAG__, jni_bool, (void **)&piLogFlag);
51     logFlags[1] = iLogFlag;
52
53     getGraphicObjectProperty(pobjUID, __GO_Z_AXIS_LOG_FLAG__, jni_bool, (void **)&piLogFlag);
54     logFlags[2] = iLogFlag;
55
56     for (i = 0; i < 3; i++)
57     {
58         if (logFlags[i] == 0)
59         {
60             logFlagsString[i] = 'n';
61         }
62         else
63         {
64             logFlagsString[i] = 'l';
65         }
66     }
67
68     /* 0 terminating character */
69     logFlagsString[3] = 0;
70     return sciReturnString(_pvCtx, logFlagsString);
71 }
72 /*------------------------------------------------------------------------*/