Esempio n. 1
0
void CVarSliderWidget_UpdateCVar(Widget &wi, Widget::Action action)
{
    if(action != Widget::Modified) return;

    CVarSliderWidget &sldr = wi.as<CVarSliderWidget>();
    cvartype_t varType = Con_GetVariableType(sldr.cvarPath());
    if(CVT_NULL == varType) return;

    float value = sldr.value();
    switch(varType)
    {
    case CVT_FLOAT:
        if(sldr.step() >= .01f)
        {
            Con_SetFloat2(sldr.cvarPath(), (int) (100 * value) / 100.0f, SVF_WRITE_OVERRIDE);
        }
        else
        {
            Con_SetFloat2(sldr.cvarPath(), value, SVF_WRITE_OVERRIDE);
        }
        break;

    case CVT_INT:
        Con_SetInteger2(sldr.cvarPath(), (int) value, SVF_WRITE_OVERRIDE);
        break;

    case CVT_BYTE:
        Con_SetInteger2(sldr.cvarPath(), (byte) value, SVF_WRITE_OVERRIDE);
        break;

    default: break;
    }
}
Esempio n. 2
0
void CVarColorEditWidget_UpdateCVar(Widget &wi, Widget::Action action)
{
    CVarColorEditWidget *cbox = &wi.as<CVarColorEditWidget>();

    if(action != Widget::Modified) return;

    Con_SetFloat2(cbox->redCVarPath(),   cbox->red(),   SVF_WRITE_OVERRIDE);
    Con_SetFloat2(cbox->greenCVarPath(), cbox->green(), SVF_WRITE_OVERRIDE);
    Con_SetFloat2(cbox->blueCVarPath(),  cbox->blue(),  SVF_WRITE_OVERRIDE);
    if(cbox->rgbaMode())
    {
        Con_SetFloat2(cbox->alphaCVarPath(), cbox->alpha(), SVF_WRITE_OVERRIDE);
    }
}