Fix get for colors property:
[scilab.git] / scilab / modules / graphics / src / c / getHandleProperty / get_colors_property.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
10  *
11  */
12
13 /*------------------------------------------------------------------------*/
14 /* file: get_colors_property.c                                            */
15 /* desc : function to get in Scilab the polyline colors                */
16 /*------------------------------------------------------------------------*/
17
18 #include "SetPropertyStatus.h"
19 #include "getHandleProperty.h"
20 #include "GetProperty.h"
21 #include "returnProperty.h"
22 #include "Scierror.h"
23 #include "localization.h"
24
25 #include "getGraphicObjectProperty.h"
26 #include "graphicObjectProperties.h"
27
28 /*------------------------------------------------------------------------*/
29 void* get_colors_property(void* _pvCtx, int pobjUID)
30 {
31     int * colors = NULL;
32     int numColors = 0;
33     int * piNumColors = &numColors;
34     int colorSet = 0;
35     int *piColorSet = &colorSet;
36
37     getGraphicObjectProperty(pobjUID, __GO_COLOR_SET__, jni_bool, (void **)&piColorSet);
38     if (piColorSet == NULL)
39     {
40         Scierror(999, _("'%s' property does not exist for this handle.\n"), "colors");
41         return NULL;
42     }
43
44     getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_COLORS__, jni_int_vector, (void **)&colors);
45     getGraphicObjectProperty(pobjUID, __GO_DATA_MODEL_NUM_COLORS__, jni_int, &piNumColors);
46
47     if (colors == NULL || numColors == 0)
48     {
49         return sciReturnEmptyMatrix();
50     }
51
52     return sciReturnRowVectorFromInt(colors, numColors);
53 }
54 /*------------------------------------------------------------------------*/