Beispiel #1
0
void TresizeBordersPage::cfg2dlg(void)
{
    int inside = cfgGet(IDFF_bordersInside);
    setCheck(IDC_RBT_BORDER_INSIDE, inside == 1);
    setCheck(IDC_RBT_BORDER_OUTSIDE, inside == 0);
    int units = cfgGet(IDFF_bordersUnits);
    int lock = cfgGet(IDFF_bordersLocked);
    setCheck(IDC_CHB_BORDERSLOCKED, lock);
    enable(!lock, IDC_LBL_BORDER_VERT);
    static const int idHorizPercent[] = {IDC_LBL_BORDER_HORIZ_PERCENT, IDC_TBR_BORDER_HORIZ_PERCENT, 0};
    static const int idVertPercent[] = {IDC_LBL_BORDER_VERT_PERCENT , IDC_TBR_BORDER_VERT_PERCENT , 0};
    static const int idHorizPixels[] = {IDC_LBL_BORDER_HORIZ_PIXELS, IDC_TBR_BORDER_HORIZ_PIXELS, 0};
    static const int idVertPixels[] = {IDC_LBL_BORDER_VERT_PIXELS , IDC_TBR_BORDER_VERT_PIXELS , 0};
    setCheck(IDC_RBT_BORDER_PERCENT, units == 0);
    enable(units == 0, idHorizPercent);
    enable(units == 0 && !lock, idVertPercent);
    setCheck(IDC_RBT_BORDER_PIXELS , units == 1);
    enable(units == 1, idHorizPixels);
    enable(units == 1 && !lock, idVertPixels);
    int x;
    x = cfgGet(IDFF_bordersPercentX);
    tbrSet(IDC_TBR_BORDER_HORIZ_PERCENT, x);
    setText(IDC_LBL_BORDER_HORIZ_PERCENT, _l("%i%%"), x);
    x = cfgGet(IDFF_bordersPercentY);
    tbrSet(IDC_TBR_BORDER_VERT_PERCENT , x);
    setText(IDC_LBL_BORDER_VERT_PERCENT , _l("%i%%"), x);
    tbrSet(IDC_TBR_BORDER_HORIZ_PIXELS, cfgGet(IDFF_bordersPixelsX), IDC_LBL_BORDER_HORIZ_PIXELS);
    tbrSet(IDC_TBR_BORDER_VERT_PIXELS , cfgGet(IDFF_bordersPixelsY), IDC_LBL_BORDER_VERT_PIXELS);
    div2dlg();
}
Beispiel #2
0
void ToffsetPage::offset2dlg(void)
{
    tbrSet(IDC_TBR_OFFSETY_X, cfgGet(IDFF_offsetY_X), IDC_LBL_OFFSETY_X);
    tbrSet(IDC_TBR_OFFSETY_Y, cfgGet(IDFF_offsetY_Y), IDC_LBL_OFFSETY_Y);
    tbrSet(IDC_TBR_OFFSETUV_X, cfgGet(IDFF_offsetU_X), IDC_LBL_OFFSETUV_X);
    tbrSet(IDC_TBR_OFFSETUV_Y, cfgGet(IDFF_offsetU_Y), IDC_LBL_OFFSETUV_Y);
}
Beispiel #3
0
void TfreeverbPage::cfg2dlg(void)
{
    tbrSet(IDC_TBR_FREEVERB_ROOMSIZE,cfgGet(IDFF_freeverbRoomsize),IDC_LBL_FREEVERB_ROOMSIZE,NULL,1000.0);
    tbrSet(IDC_TBR_FREEVERB_DAMPING ,cfgGet(IDFF_freeverbDamp    ),IDC_LBL_FREEVERB_DAMPING ,NULL,1000.0);
    tbrSet(IDC_TBR_FREEVERB_WET     ,cfgGet(IDFF_freeverbWet     ),IDC_LBL_FREEVERB_WET     ,NULL,1000.0);
    tbrSet(IDC_TBR_FREEVERB_DRY     ,cfgGet(IDFF_freeverbDry     ),IDC_LBL_FREEVERB_DRY     ,NULL,1000.0);
    tbrSet(IDC_TBR_FREEVERB_WIDTH   ,cfgGet(IDFF_freeverbWidth   ),IDC_LBL_FREEVERB_WIDTH   ,NULL,1000.0);
}
Beispiel #4
0
void TresizeSettingsPage::warp2dlg(void)
{
    int x;
    setText(IDC_LBL_RESIZE_HWARP, _l("%s %4.3f"), _(IDC_LBL_RESIZE_HWARP), (x = cfgGet(IDFF_resizeSimpleWarpXparam)) / 1000.0f);
    tbrSet(IDC_TBR_RESIZE_HWARP, x);
    setText(IDC_LBL_RESIZE_VWARP, _l("%s %4.3f"), _(IDC_LBL_RESIZE_VWARP), (x = cfgGet(IDFF_resizeSimpleWarpYparam)) / 1000.0f);
    tbrSet(IDC_TBR_RESIZE_VWARP, x);
    static const int idWarp[] = {IDC_LBL_RESIZE_HWARP, IDC_TBR_RESIZE_HWARP, IDC_LBL_RESIZE_VWARP, IDC_TBR_RESIZE_VWARP, 0};
    enable(cfgGet(IDFF_resizeMethodLuma) == TresizeAspectSettings::METHOD_WARPED, idWarp);
}
Beispiel #5
0
void TresizeSettingsPage::param2dlg(const TparamsIDs &ids)
{
    int max, step1, step2, pos;
    char_t pomS[256];
    double realPos;
    const int idParam[] = {ids.idc_lbl, ids.idc_tbr, 0};
    int method = cfgGet(ids.idff_method);
    const char_t *name = _l("Parameter");

    switch (method) {
        case TresizeAspectSettings::METHOD_SWS_BICUBIC:
            max = 400;
            step1 = 10;
            step2 = 40;
            pos = cfgGet(ids.idff_bicubicParam);
            realPos = -0.01 * pos;
            pos = 400 - pos;
            break;
        case TresizeAspectSettings::METHOD_SWS_GAUSS:
            max = 100;
            step1 = 5 ;
            step2 = 20;
            pos = cfgGet(ids.idff_gaussParam);
            realPos = 0.1 * pos;
            break;
        case TresizeAspectSettings::METHOD_SWS_LANCZOS:
            max = 10 ;
            step1 = 1 ;
            step2 = 2 ;
            pos = cfgGet(ids.idff_lanczosParam);
            name = _l("Number of taps:");
            realPos = pos;
            break;
        default:
            enable(0, idParam);
            tbrSet(ids.idc_tbr, 0);
            setDlgItemText(m_hwnd, ids.idc_lbl, _(ids.idc_lbl));
            return;
    };
    int sws = TresizeAspectSettings::methodsProps[cfgGet(IDFF_resizeMethodLuma)].library == TresizeAspectSettings::LIB_SWSCALER;
    enable(sws, idParam);
    tbrSetRange(ids.idc_tbr, 0, max);
    //SendDlgItemMessage(m_hwnd,ids.idc_tbr,TBM_SETRANGE,TRUE,MAKELPARAM(0,max));
    SendDlgItemMessage(m_hwnd, ids.idc_tbr, TBM_SETLINESIZE, 0, step1);
    SendDlgItemMessage(m_hwnd, ids.idc_tbr, TBM_SETPAGESIZE, 0, step2);
    tbrSet(ids.idc_tbr, pos);
    if (realPos == 0) {
        tsnprintf_s(pomS, countof(pomS), _TRUNCATE, _l("%s %s"), _(ids.idc_lbl, name), _(ids.idc_lbl, _l("default")));
    } else {
        tsnprintf_s(pomS, countof(pomS), _TRUNCATE, _l("%s %3.2f"), _(ids.idc_lbl, name), realPos);
    }
    setDlgItemText(m_hwnd, ids.idc_lbl, pomS);
}
Beispiel #6
0
void TbitmapPage::pos2dlg(void)
{
    char_t s[260];
    int x;

    x=cfgGet(IDFF_bitmapPosx);
    TsubtitlesSettings::getPosHoriz(x, s, this, IDC_LBL_BITMAP_POSX, countof(s));
    setDlgItemText(m_hwnd,IDC_LBL_BITMAP_POSX,s);
    tbrSet(IDC_TBR_BITMAP_POSX,x);

    x=cfgGet(IDFF_bitmapPosy);
    TsubtitlesSettings::getPosVert(x, s, this, IDC_LBL_BITMAP_POSY, countof(s));
    setDlgItemText(m_hwnd,IDC_LBL_BITMAP_POSY,s);
    tbrSet(IDC_TBR_BITMAP_POSY,x);
}
Beispiel #7
0
void TOSDpageDec::pos2dlg(void)
{
    char_t s[260];
    int x;

    x = cfgGet(IDFF_OSDposX);
    TsubtitlesSettings::getPosHoriz(x, s, this, IDC_LBL_OSD_POSX, countof(s));
    setDlgItemText(m_hwnd, IDC_LBL_OSD_POSX, s);
    tbrSet(IDC_TBR_OSD_POSX, x);

    x = cfgGet(IDFF_OSDposY);
    TsubtitlesSettings::getPosVert(x, s, this, IDC_LBL_OSD_POSY, countof(s));
    setDlgItemText(m_hwnd, IDC_LBL_OSD_POSY, s);
    tbrSet(IDC_TBR_OSD_POSY, x);
}
Beispiel #8
0
void TlevelsPage::levels2dlg(void)
{
    setCheck(IDC_CHB_LEVELS_ONLYLUMA,cfgGet(IDFF_levelsOnlyLuma));
    int x=cfgGet(IDFF_levelsGamma);
    tbrSet(IDC_TBR_LEVELS_GAMMA,x);
    char_t pomS[256];
    tsnprintf_s(pomS, countof(pomS), _TRUNCATE, _l("%s %3.2f"), _(IDC_LBL_LEVELS_GAMMA), float(x/100.0));
    if (x==100) {
        strncatf(pomS, countof(pomS), _l(" (%s)"),_(IDC_LBL_LEVELS_GAMMA,_l("off")));
    }
    setDlgItemText(m_hwnd,IDC_LBL_LEVELS_GAMMA,pomS);
    tbrSet(IDC_TBR_LEVELS_POSTERIZE,cfgGet(IDFF_levelsPosterize),IDC_LBL_LEVELS_POSTERIZE);
    SetDlgItemInt(m_hwnd,IDC_ED_Y_MAX_DELTA ,deci->getParam2(IDFF_levelsYmaxDelta ),FALSE);
    SetDlgItemInt(m_hwnd,IDC_ED_Y_THRESHOLD ,deci->getParam2(IDFF_levelsYthreshold ),FALSE);
    SetDlgItemInt(m_hwnd,IDC_ED_Y_TEMPORAL ,deci->getParam2(IDFF_levelsYtemporal ),FALSE);
    mode2dlg();
}
Beispiel #9
0
void TresizeBordersPage::div2dlg(void)
{
    int x;
    x = cfgGet(IDFF_bordersDivX);
    tbrSet(IDC_TBR_BORDER_HORIZ_DIV, x);
    setText(IDC_LBL_BORDER_LEFT_NUM, _l("%i"), x);
    setText(IDC_LBL_BORDER_RIGHT_NUM, _l("%i"), 100 - x);
    int y;
    y = cfgGet(IDFF_bordersDivY);
    tbrSet(IDC_TBR_BORDER_VERT_DIV, y);
    setText(IDC_LBL_BORDER_TOP_NUM, _l("%i"), y);
    setText(IDC_LBL_BORDER_BOTTOM_NUM, _l("%i"), 100 - y);
    int brightness;
    brightness = cfgGet(IDFF_bordersBrightness);
    tbrSet(IDC_TBR_BORDER_BRIGHTNESS, brightness);
    setText(IDC_LBL_BORDER_BRIGHTNESS_NUM, _l("%i"), brightness);
}
Beispiel #10
0
void TconvolverPage::adjust2dlg(void)
{
    int x=cfgGet(IDFF_convolverLevelAdjustDB);
    tbrSet(IDC_TBR_CONVOLVER_LEVELADJUSTDB,x);
    setText(IDC_LBL_CONVOLVER_LEVELADJUSTDB,_l("%s %-.1f %s"),_(IDC_LBL_CONVOLVER_LEVELADJUSTDB),x/10.0f,_(-IDD_CONVOLVER,_l("dB")));
    int aut=cfgGet(IDFF_convolverLevelAdjustAuto);
    setCheck(IDC_CHB_CONVOLVER_LEVELADJUST_AUTO,aut);
    static const int idAdjust[]= {IDC_LBL_CONVOLVER_LEVELADJUSTDB,IDC_TBR_CONVOLVER_LEVELADJUSTDB,0};
    enable(!aut,idAdjust);
}
Beispiel #11
0
void TresizeSettingsPage::blurSharpen2dlg(void)
{
    int x;
    setText(IDC_LBL_RESIZE_GBLUR_LUM    , _l("%s %3.2f"), _(IDC_LBL_RESIZE_GBLUR_LUM), (x = cfgGet(IDFF_resizeGblurLum)) / 100.0f);
    tbrSet(IDC_TBR_RESIZE_GBLUR_LUM    , x);
    setText(IDC_LBL_RESIZE_GBLUR_CHROM  , _l("%s %3.2f"), _(IDC_LBL_RESIZE_GBLUR_CHROM), (x = cfgGet(IDFF_resizeGblurChrom)) / 100.0f);
    tbrSet(IDC_TBR_RESIZE_GBLUR_CHROM  , x);
    setText(IDC_LBL_RESIZE_SHARPEN_LUM  , _l("%s %3.2f"), _(IDC_LBL_RESIZE_SHARPEN_LUM), (x = cfgGet(IDFF_resizeSharpenLum)) / 100.0f);
    tbrSet(IDC_TBR_RESIZE_SHARPEN_LUM  , x);
    setText(IDC_LBL_RESIZE_SHARPEN_CHROM, _l("%s %3.2f"), _(IDC_LBL_RESIZE_SHARPEN_CHROM), (x = cfgGet(IDFF_resizeSharpenChrom)) / 100.0f);
    tbrSet(IDC_TBR_RESIZE_SHARPEN_CHROM, x);
    static const int idSh[] = {IDC_TBR_RESIZE_SHARPEN_LUM, IDC_LBL_RESIZE_SHARPEN_LUM,
                               IDC_TBR_RESIZE_SHARPEN_CHROM, IDC_LBL_RESIZE_SHARPEN_CHROM,
                               IDC_TBR_RESIZE_GBLUR_LUM, IDC_LBL_RESIZE_GBLUR_LUM,
                               IDC_TBR_RESIZE_GBLUR_CHROM, IDC_LBL_RESIZE_GBLUR_CHROM, IDC_CHB_RESIZE_ACCURATE_ROUNDING, 0
                              };
    int method = cfgGet(IDFF_resizeMethodLuma);
    enable(TresizeAspectSettings::methodsProps[method].library == TresizeAspectSettings::LIB_SWSCALER, idSh);
}
Beispiel #12
0
void TconvolverPage::cfg2dlg(void)
{
    const char_t *flnm=cfgGetStr(IDFF_convolverFile);
    setDlgItemText(m_hwnd,IDC_ED_CONVOLVER_FILE,flnm);
    format2dlg(flnm);
    int x=cfgGet(IDFF_convolverMixingStrength);
    tbrSet(IDC_TBR_CONVOLVER_MIXINGSTRENGTH,x);
    setText(IDC_LBL_CONVOLVER_MIXINGSTRENGTH,_l("%s %i%%"),_(IDC_LBL_CONVOLVER_MIXINGSTRENGTH),x);
    mapping2dlg();
    adjust2dlg();
}
Beispiel #13
0
void TvolumePage::cfg2volTbr(int tbr, int lbl, int idff, int lbltran, int mult)
{
    int x = cfgGet(idff);
    if (isdb) {
        int db = ff_round(value2db(x / 100.0));
        tbrSet(tbr, mult * db);
        if (lbltran) {
            setText(lbl, _l("%s %i dB"), _(lbltran), db);
        } else {
            setText(lbl, _l("%i dB"), db);
        }
    } else {
        if (!isIn(x, 0, 300)) {
            cfgSet(idff, x = limit(x, 0, 300));
        }
        tbrSet(tbr, mult * x);
        if (lbltran) {
            setText(lbl, _l("%s %i%%"), _(lbltran), x);
        } else {
            setText(lbl, _l("%i%%"), x);
        }
    }
}
Beispiel #14
0
void TresizeAspectPage::aspect2dlg(void)
{
    int ra = cfgGet(IDFF_isAspect);
    setCheck(IDC_RBT_ASPECT_NO  , ra == 0);
    setCheck(IDC_RBT_ASPECT_KEEP, ra == 1);
    setCheck(IDC_RBT_ASPECT_USER, ra == 2);
    char_t pomS[256];
    unsigned int a1, a2;
    if (deciV->getInputDAR(&a1, &a2) == S_OK) {
        setText(IDC_RBT_ASPECT_KEEP, _l("%s %3.2f:1"), _(IDC_RBT_ASPECT_KEEP), float(a1) / a2);
    }
    int aspectI = cfgGet(IDFF_hwOverlayAspect);
    tbrSet(IDC_TBR_HWOVERLAY_ASPECT, aspectI / 256);
    tsnprintf_s(pomS, countof(pomS), _TRUNCATE, _l("%s "), _(IDC_LBL_HWOVERLAY_ASPECT));
    if (aspectI == 0) {
        strncat_s(pomS, countof(pomS), _(IDC_LBL_HWOVERLAY_ASPECT, _l("default")), _TRUNCATE);
    } else {
        strncatf(pomS, countof(pomS), _l("%3.2f:1"), float(aspectI / 65536.0));
    }
    setDlgItemText(m_hwnd, IDC_LBL_HWOVERLAY_ASPECT, pomS);
}
Beispiel #15
0
void TlevelsPage::mode2dlg(void)
{
    int mode=cfgGet(IDFF_levelsMode);
    static const int idnCurves[]= {IDC_CHB_LEVELS_SHOW_HISTOGRAM,IDC_CHB_LEVELS_SHOW_HISTOGRAM_FULL,IDC_BMP_HISTOGRAM,IDC_LBL_LEVELS_INPUT,IDC_CHB_LEVELS_INPUT_AUTO,IDC_BMP_LEVELS_IN,IDC_LBL_LEVELS_OUTPUT,IDC_BMP_LEVELS_OUT,IDC_LBL_LEVELS_GAMMA,IDC_TBR_LEVELS_GAMMA,IDC_LBL_LEVELS_POSTERIZE,IDC_TBR_LEVELS_POSTERIZE,0};
    show(mode!=5,idnCurves);
    static const int idCurves[]= {IDC_BMP_LEVELS_CURVES,IDC_LBX_LEVELS_CURVES,IDC_BT_LEVELS_CURVES_LOAD,0};
    show(mode==5,idCurves);
    if(mode==6) {
        static const int idnCurves[]= {IDC_CHB_LEVELS_SHOW_HISTOGRAM_FULL,IDC_LBL_LEVELS_POSTERIZE,IDC_TBR_LEVELS_POSTERIZE,0};
        show(false,idnCurves);
        static const int idCurves[]= {IDC_LBL_Y_MAX_DELTA,IDC_ED_Y_MAX_DELTA,IDC_UD_Y_MAX_DELTA, IDC_LBL_Y_THRESHOLD,IDC_ED_Y_THRESHOLD,IDC_UD_Y_THRESHOLD, IDC_LBL_Y_TEMPORAL,IDC_ED_Y_TEMPORAL,IDC_UD_Y_TEMPORAL,0};
        show(true,idCurves);
        setCheck(IDC_CHB_LEVELS_SHOW_HISTOGRAM_FULL,true);
        tbrSet(IDC_TBR_LEVELS_POSTERIZE,255,IDC_LBL_LEVELS_POSTERIZE);
    } else {
        static const int idnCurves[]= {IDC_LBL_Y_MAX_DELTA,IDC_ED_Y_MAX_DELTA,IDC_UD_Y_MAX_DELTA, IDC_LBL_Y_THRESHOLD,IDC_ED_Y_THRESHOLD,IDC_UD_Y_THRESHOLD, IDC_LBL_Y_TEMPORAL,IDC_ED_Y_TEMPORAL,IDC_UD_Y_TEMPORAL,0};
        show(false,idnCurves);
    }
    int rgb = cfgGet(IDFF_levelsForceRGB);
    setCheck(IDC_CHB_LEVELS_RGB, rgb);
    static const int yuvonly[] = {IDC_CHB_LEVELS_ONLYLUMA, IDC_CHB_LEVELS_SHOW_HISTOGRAM_FULL,0};
    enable(!rgb, yuvonly, false);
    map2dlg();
}
Beispiel #16
0
void TgradFunPage::cfg2dlg(void)
{
    tbrSet(IDC_TBR_GRADFUN_THRESHOLD, cfgGet(IDFF_gradFunThreshold), IDC_LBL_GRADFUN_THRESHOLD, NULL, 100.0f);
    tbrSet(IDC_TBR_GRADFUN_RADIUS, cfgGet(IDFF_gradFunRadius), IDC_LBL_GRADFUN_RADIUS, NULL, 0);
}
Beispiel #17
0
void TdctPage::quant2dlg(void)
{
    tbrSet(IDC_TBR_DCT_QUANT, cfgGet(IDFF_dctQuant), IDC_LBL_DCT_QUANT);
}
void TsubtitlesTextPage::linespacing2dlg()
{
    int ls=cfgGet(IDFF_subLinespacing);
    tbrSet(IDC_TBR_SUB_LINESPACING,ls);
    setText(IDC_LBL_SUB_LINESPACING,_l("%s %i%%"),_(IDC_LBL_SUB_LINESPACING),ls);
}
Beispiel #19
0
INT_PTR TffdshowPageEnc::msgProc(UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg) {
        case WM_HSCROLL:
            if (HWND(lParam) == GetDlgItem(m_hwnd, IDC_TBR_QUICK)) {
                if (valIdff) {
                    cfgSet(valIdff, tbrGet(IDC_TBR_QUICK));
                    quick2dlg(false);
                }
                return TRUE;
            }
            break;
        case WM_FFONCHANGE:
            if (wParam == IDFF_lang && ve) {
                ve->commonOptionChanged(IID_IffdshowEnc, IDFF_lang);
            }
            break;
        case WM_COMMAND:
            switch (LOWORD(wParam)) {
                case IDC_CBX_ENCODER:
                    if (HIWORD(wParam) == CBN_SELCHANGE) {
                        cfgSet(IDFF_enc_codecId, ((Tencoder*)cbxGetCurItemData(IDC_CBX_ENCODER))->id);
                        codec2dlg();
                        HTREEITEM hti = TreeView_GetSelection(htv);
                        if (hti) {
                            selectPage(hti2page(hti));
                        }
                        return TRUE;
                    }
                    break;
                case IDC_CBX_FOURCC:
                    if (HIWORD(wParam) == CBN_SELCHANGE) {
                        cfgSet(IDFF_enc_fourcc, (int)cbxGetCurItemData(IDC_CBX_FOURCC));
                        fourcc2dlg();
                        return TRUE;
                    }
                    break;
                case IDC_CBX_MODES:
                    if (HIWORD(wParam) == CBN_SELCHANGE) {
                        cfgSet(IDFF_enc_mode, (int)cbxGetCurItemData(IDC_CBX_MODES));
                        quick2dlg(true);
                        return TRUE;
                    }
                    break;
                case IDC_ED_QUICK:
                    if (HIWORD(wParam) == EN_CHANGE && !isSetWindowText) {
                        HWND hed = GetDlgItem(m_hwnd, LOWORD(wParam));
                        if (hed != GetFocus()) {
                            return FALSE;
                        }
                        repaint(hed);
                        switch (LOWORD(wParam)) {
                            case IDC_ED_QUICK:
                                eval(hed, valMin, valMax, valIdff);
                                tbrSet(IDC_TBR_QUICK, cfgGet(valIdff));
                                break;
                        }
                        return TRUE;
                    }
                    break;
                case IDC_BT_PRESET:
                    if (HIWORD(wParam) == BN_CLICKED) {
                        showPresets();
                        return TRUE;
                    }
                    break;
                case IDC_CHB_NOT_REGISTRY:
                    cfgSet(IDFF_notreg, getCheck(IDC_CHB_NOT_REGISTRY));
                    return TRUE;
            }
            break;
        case WM_CTLCOLOREDIT: {
            HWND hwnd = HWND(lParam);
            bool ok;
            switch (getId(hwnd)) {
                case IDC_ED_QUICK:
                    ok = eval(hwnd, valMin, valMax);
                    break;
                default:
                    return FALSE;
            }
            if (!ok) {
                HDC dc = HDC(wParam);
                SetBkColor(dc, RGB(255, 0, 0));
                return INT_PTR(getRed());
            } else {
                return FALSE;
            }
        }
        case WM_DRAWITEM:
            if (wParam == IDC_CBX_ENCODER) {
                DRAWITEMSTRUCT *dis = (DRAWITEMSTRUCT*)lParam;
                COLORREF crOldTextColor = GetTextColor(dis->hDC);
                COLORREF crOldBkColor = GetBkColor(dis->hDC);
                HBRUSH br;
                if ((dis->itemAction | ODA_SELECT) && (dis->itemState & ODS_SELECTED)) {
                    SetTextColor(dis->hDC, GetSysColor(COLOR_HIGHLIGHTTEXT));
                    SetBkColor(dis->hDC, GetSysColor(COLOR_HIGHLIGHT));
                    br = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT));
                } else {
                    br = CreateSolidBrush(crOldBkColor);
                }
                FillRect(dis->hDC, &dis->rcItem, br);
                if (int(dis->itemData) != CB_ERR) {
                    RECT r = dis->rcItem;
                    r.left += 2;
                    Tencoder *enc = (Tencoder*)dis->itemData;
                    DrawText(dis->hDC, enc->name, (int)strlen(enc->name), &r, DT_LEFT | DT_SINGLELINE | DT_VCENTER);
                    setDlgResult(TRUE);
                    r.left += 180;
                    FillRect(dis->hDC, &r, br);
                    MoveToEx(dis->hDC, r.left, r.top, NULL);
                    LineTo(dis->hDC, r.left, r.bottom);
                    SetTextColor(dis->hDC, GetSysColor(COLOR_GRAYTEXT));
                    r.left += 4;
                    char_t text[70];
                    SendMessage(hcbxE, CB_GETLBTEXT, dis->itemID, LPARAM(text));
                    DrawText(dis->hDC, text, (int)strlen(text), &r, DT_LEFT | DT_SINGLELINE | DT_VCENTER);
                }
                SetTextColor(dis->hDC, crOldTextColor);
                SetBkColor(dis->hDC, crOldBkColor);
                DeleteObject(br);
                return TRUE;
            }
            break;
    }
    return TffdshowPageBase::msgProc(uMsg, wParam, lParam);
}
Beispiel #20
0
void TffdshowPageEnc::quick2dlg(bool redraw)
{
    static const int idQuickAll[] = {IDC_LBL_ENCODER, IDC_CBX_ENCODER, IDC_LBL_FOURCC, IDC_CBX_FOURCC, IDC_LBL_MODES, IDC_CBX_MODES, IDC_LBL_QUICK, IDC_TBR_QUICK, IDC_ED_QUICK, 0};
    if (isAbout) {
        enable(false, idQuickAll);
        return;
    }
    int mode = cfgGet(IDFF_enc_mode);
    int ii = cbxFindItemData(IDC_CBX_MODES, mode);
    if (ii == CB_ERR && cbxGetItemCount(IDC_CBX_MODES) > 0) {
        ii = 0;
        mode = (int)cbxGetItemData(IDC_CBX_MODES, 0);
        cfgSet(IDFF_enc_mode, mode);
    };
    cbxSetCurSel(IDC_CBX_MODES, ii);
    static const int idQuick[] = {IDC_LBL_QUICK, IDC_ED_QUICK, IDC_TBR_QUICK, 0};
    if (ii != CB_ERR) {
        if (redraw || oldmode != mode) {
            oldmode = mode;
            const char_t *text = _l("");
            valMin = 0;
            valMax = 0;
            valIdff = 0;
            switch (oldmode) {
                case ENC_MODE::CBR:
                    text = _l("Bitrate (kbps)");
                    valIdff = IDFF_enc_bitrate1000;
                    valMin = 1;
                    valMax = 10000;
                    break;
                case ENC_MODE::VBR_QUAL:
                    text = _l("Quality");
                    valIdff = IDFF_enc_qual;
                    valMin = 0;
                    valMax = 100;
                    break;
                case ENC_MODE::VBR_QUANT:
                    text = _l("Quantizer");
                    valIdff = IDFF_enc_quant;
                    valMin = qmin;
                    valMax = qmax;
                    break;
            }
            setDlgItemText(m_hwnd, IDC_LBL_QUICK, _(IDC_LBL_QUICK, text));
            tbrSetRange(IDC_TBR_QUICK, valMin, valMax, (valMax - valMin) / 10);
        }
        if (valIdff) {
            enable(1, idQuick);
            int val = cfgGet(valIdff);
            if (!isIn(val, valMin, valMax)) {
                val = limit(val, valMin, valMax);
                cfgSet(valIdff, val);
            }
            tbrSet(IDC_TBR_QUICK, val);
            SetDlgItemInt(m_hwnd, IDC_ED_QUICK, val, FALSE);
        } else {
            enable(0, idQuick);
            tbrSet(IDC_TBR_QUICK, 0);
            setDlgItemText(m_hwnd, IDC_ED_QUICK, _l(""));
        }
    } else {
        enable(0, idQuick);
    }

    if (page && redraw) {
        selectPage(page);
    }
    if (isGraph) {
        enable(false, idQuickAll);
    }
}
Beispiel #21
0
void TQSdecoderOptionsPage::detail2dlg(void)
{
    tbrSetRange(IDC_QS_DETAIL, 0, 64, 1);
    tbrSet(IDC_QS_DETAIL, cfgGet(IDFF_QS_DETAIL), IDC_QS_DETAIL_LBL);
}
Beispiel #22
0
void TresizeAspectPage::userAspect2dlg(void)
{
    int aspectI = cfgGet(IDFF_aspectRatio);
    setText(IDC_ED_RESIZE_USER_ASPECT, _l("%3.2f"), float(aspectI / 65536.0));
    tbrSet(IDC_TBR_ASPECT_USER, aspectI / 256);
}
Beispiel #23
0
void TbitmapPage::opacity2dlg(void)
{
    int o=cfgGet(IDFF_bitmapStrength);
    tbrSet(IDC_TBR_BITMAP_OPACITY,o);
    setText(IDC_LBL_BITMAP_OPACITY,_l("%s %i%%"),_(IDC_LBL_BITMAP_OPACITY),100*o/256);
}
Beispiel #24
0
void TQSdecoderOptionsPage::denoise2dlg(void)
{
    tbrSetRange(IDC_QS_DENOISE, 0, 64, 1);
    tbrSet(IDC_QS_DENOISE, cfgGet(IDFF_QS_DENOISE), IDC_QS_DENOISE_LBL);
}