コード例 #1
0
/*------------------------------------------------------------------------*/
int set_outside_colors_property(char* pobjUID, size_t stackPointer, int valueType, int nbRow, int nbCol )
{
    BOOL status;
    int  values[2];
    int nbColors = 0;

    if ( !isParameterDoubleMatrix( valueType ) )
    {
        Scierror(999, _("Wrong type for '%s' property: Integer expected.\n"), "outside_colors");
        return SET_PROPERTY_ERROR;
    }

#if 0
    if ( sciGetEntityType(pobj) != SCI_FEC )
    {
        Scierror(999, _("'%s' property does not exist for this handle.\n"),"outside_colors");
        return SET_PROPERTY_ERROR;
    }
#endif

    if ( nbRow * nbCol != 2 )
    {
        Scierror(999, _("Wrong size for '%s' property: %d elements expected.\n"), "outside_colors", 2);
        return SET_PROPERTY_ERROR;
    }

    copyDoubleVectorToIntFromStack(stackPointer, values, 2);

    /* Returns the number of colors of pobj's parent Figure */
    nbColors = sciGetNumColors(pobjUID);

    if (   values[0] > nbColors || values[0] < -1
      || values[1] > nbColors || values[1] < -1)
    {
        /* It is possible to set color_range outside the colormap, however it won't be used.*/
        sciprint(_("WARNING: Wrong value for '%s' property: indices outside the colormap will be clamped.\n"), "outside_colors");
    }

    status = setGraphicObjectProperty(pobjUID, __GO_OUTSIDE_COLOR__, values, jni_int_vector, 2);

    if (status == TRUE)
    {
        return SET_PROPERTY_SUCCEED;
    }
    else
    {
        Scierror(999, _("'%s' property does not exist for this handle.\n"),"outside_colors");
        return SET_PROPERTY_ERROR;
    }

}
コード例 #2
0
/*------------------------------------------------------------------------*/
int set_color_range_property(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol)
{
    BOOL status = FALSE;
    int values[2];
    int nbColors = 0;

    if (valueType != sci_matrix)
    {
        Scierror(999, _("Wrong type for '%s' property: Real matrix expected.\n"), "color_range");
        return SET_PROPERTY_ERROR;
    }

    if (nbRow * nbCol != 2)
    {
        Scierror(999, _("Wrong size for '%s' property: %d elements expected.\n"), "color_range", 2);
        return SET_PROPERTY_ERROR;
    }

    copyDoubleVectorToIntFromStack(_pvData, values, 2);
    /* Returns the number of colors of pobj's parent Figure */
    nbColors = sciGetNumColors(iObjUID);

    if (  values[0] > nbColors || values[0] < 0
            || values[1] > nbColors || values[1] < 0)
    {
        /* It is possible to set color_range outside the colormap, however it won't be used.*/
        sciprint(_("WARNING: Wrong value for '%s' property: indices outside the colormap will be clamped.\n"), "color_range");
    }

    status = setGraphicObjectProperty(iObjUID, __GO_COLOR_RANGE__, values, jni_int_vector, 2);

    if (status == TRUE)
    {
        return SET_PROPERTY_SUCCEED;
    }
    else
    {
        Scierror(999, _("'%s' property does not exist for this handle.\n"), "color_range");
        return SET_PROPERTY_ERROR;
    }
}
コード例 #3
0
ファイル: SetProperty.c プロジェクト: quanpan302/scilab
/**
 * Check that a color index is within the colormap range or not
 * @param pobjUID object conatining the color
 */
BOOL sciCheckColorIndex(char * pobjUID, int colorIndex)
{
    return (colorIndex >= -2) && (colorIndex <= sciGetNumColors(pobjUID) + 2);
}