summaryrefslogblamecommitdiffstats
path: root/private/mvdm/wow32/wctlm32.c
blob: a60218a8fb8aa133f2f2e93830d9a68397dcc599 (plain) (tree)







































































































































































































































                                                                               
    case EM_GETSEL:             //                          0x00B0
    case EM_SETSEL:             //                          0x00B1
    case EM_GETRECT:             //                         0x00B2
    case EM_SETRECT:             //                         0x00B3
    case EM_SETRECTNP:             //                       0x00B4
    case EM_SCROLL:             //                          0x00B5
    case EM_LINESCROLL:             //                      0x00B6
    case EM_GETMODIFY:             //                       0x00B8
    case EM_SETMODIFY:             //                       0x00B9
    case EM_GETLINECOUNT:             //                    0x00BA
    case EM_LINEINDEX:             //                       0x00BB
    case EM_SETHANDLE:             //                       0x00BC
    case EM_GETHANDLE:             //                       0x00BD
    case EM_GETTHUMB:             //                        0x00BE
    case EM_LINELENGTH:             //                      0x00C1
    case EM_REPLACESEL:             //                      0x00C2
    case EM_SETFONT:             //                         0x00C3
    case EM_GETLINE:             //                         0x00C4
    case EM_LIMITTEXT:             //                       0x00C5
    case EM_CANUNDO:             //                         0x00C6
    case EM_UNDO:             //                            0x00C7
    case EM_FMTLINES:             //                        0x00C8
    case EM_LINEFROMCHAR:             //                    0x00C9
    case EM_SETWORDBREAK:             //                    0x00CA
    case EM_SETTABSTOPS:             //                     0x00CB
    case EM_SETPASSWORDCHAR:             //                 0x00CC
    case EM_EMPTYUNDOBUFFER:             //                 0x00CD
    case EM_GETFIRSTVISIBLE:             //                 0x00CE
    case EM_SETREADONLY:             //                     0x00CF
    case EM_MSGMAX:             //                          0x00D0
        return ThunkEMMsg32(hwnd, uMsg, uParam, lParam,
                                pwMsgNew, pwParamNew, plParamNew);

    case SBM_SETPOS:             //                         0x00E0
    case SBM_GETPOS:             //                         0x00E1
    case SBM_SETRANGE:             //                       0x00E2
    case SBM_GETRANGE:             //                       0x00E3
    case SBM_ENABLE_ARROWS:             //                  0x00E4
        return ThunkSBMMsg32(hwnd, uMsg, uParam, lParam,
                                 pwMsgNew, pwParamNew, plParamNew);


    case BM_GETCHECK:             //                        0x00F0
    case BM_SETCHECK:             //                        0x00F1
    case BM_GETSTATE:             //                        0x00F2
    case BM_SETSTATE:             //                        0x00F3
    case BM_SETSTYLE:             //                        0x00F4
        return ThunkBMMsg32(hwnd, uMsg, uParam, lParam,
                                 pwMsgNew, pwParamNew, plParamNew);



    case CB_GETEDITSEL:             //                      0x0140
    case CB_LIMITTEXT:             //                       0x0141
    case CB_SETEDITSEL:             //                      0x0142
    case CB_ADDSTRING:             //                       0x0143
    case CB_DELETESTRING:             //                    0x0144
    case CB_DIR:             //                             0x0145
    case CB_GETCOUNT:             //                        0x0146
    case CB_GETCURSEL:             //                       0x0147
    case CB_GETLBTEXT:             //                       0x0148
    case CB_GETLBTEXTLEN:             //                    0x0149
    case CB_INSERTSTRING:             //                    0x014A
    case CB_RESETCONTENT:             //                    0x014B
    case CB_FINDSTRING:             //                      0x014C
    case CB_SELECTSTRING:             //                    0x014D
    case CB_SETCURSEL:             //                       0x014E
    case CB_SHOWDROPDOWN:             //                    0x014F
    case CB_GETITEMDATA:             //                     0x0150
    case CB_SETITEMDATA:             //                     0x0151
    case CB_GETDROPPEDCONTROLRECT:             //           0x0152
    case CB_SETITEMHEIGHT:             //                   0x0153
    case CB_GETITEMHEIGHT:             //                   0x0154
    case CB_SETEXTENDEDUI:             //                   0x0155
    case CB_GETEXTENDEDUI:             //                   0x0156
    case CB_GETDROPPEDSTATE:             //                 0x0157
    case CB_MSGMAX:             //                          0x0158
        return ThunkCBMsg32(hwnd, uMsg, uParam, lParam,
                                 pwMsgNew, pwParamNew, plParamNew);



    case LB_ADDSTRING:             //                       0x0180
    case LB_INSERTSTRING:             //                    0x0181
    case LB_DELETESTRING:             //                    0x0182
    case LB_RESETCONTENT:             //                    0x0184
    case LB_SETSEL:             //                          0x0185
    case LB_SETCURSEL:             //                       0x0186
    case LB_GETSEL:             //                          0x0187
    case LB_GETCURSEL:             //                       0x0188
    case LB_GETTEXT:             //                         0x0189
    case LB_GETTEXTLEN:             //                      0x018A
    case LB_GETCOUNT:             //                        0x018B
    case LB_SELECTSTRING:             //                    0x018C
    case LB_DIR:             //                             0x018D
    case LB_GETTOPINDEX:             //                     0x018E
    case LB_FINDSTRING:             //                      0x018F
    case LB_GETSELCOUNT:             //                     0x0190
    case LB_GETSELITEMS:             //                     0x0191
    case LB_SETTABSTOPS:             //                     0x0192
    case LB_GETHORIZONTALEXTENT:             //             0x0193
    case LB_SETHORIZONTALEXTENT:             //             0x0194
    case LB_SETCOLUMNWIDTH:             //                  0x0195
    case LB_SETTOPINDEX:             //                     0x0197
    case LB_GETITEMRECT:             //                     0x0198
    case LB_GETITEMDATA:             //                     0x0199
    case LB_SETITEMDATA:             //                     0x019A
    case LB_SELITEMRANGE:             //                    0x019B
    case LB_SETITEMHEIGHT:             //                   0x01A0
    case LB_GETITEMHEIGHT:             //                   0x01A1
    case LBCB_CARETON:                 //                   0x01A3
    case LBCB_CARETOFF:                //                   0x01A4
    case LB_MSGMAX:             //                          0x01A5
        return ThunkLBMsg32(hwnd, uMsg, uParam, lParam,
                                 pwMsgNew, pwParamNew, plParamNew);


BOOL ThunkEMMsg32(HWND hwnd, UINT uMsg, UINT uParam, LONG lParam,
                  PWORD pwMsgNew, PWORD pwParamNew, PLONG plParamNew)
{
    // case EM_GETSEL:             //                          0x00B0
    // case EM_SETSEL:             //                          0x00B1
    // case EM_GETRECT:             //                         0x00B2
    // case EM_SETRECT:             //                         0x00B3
    // case EM_SETRECTNP:             //                       0x00B4
    // case EM_SCROLL:             //                          0x00B5
    // case EM_LINESCROLL:             //                      0x00B6
    // case EM_GETMODIFY:             //                       0x00B8
    // case EM_SETMODIFY:             //                       0x00B9
    // case EM_GETLINECOUNT:             //                    0x00BA
    // case EM_LINEINDEX:             //                       0x00BB
    // case EM_SETHANDLE:             //                       0x00BC
    // case EM_GETHANDLE:             //                       0x00BD
    // case EM_GETTHUMB:             //                        0x00BE
    // case EM_LINELENGTH:             //                      0x00C1
    // case EM_REPLACESEL:             //                      0x00C2
    // case EM_SETFONT:             //                         0x00C3
    // case EM_GETLINE:             //                         0x00C4
    // case EM_LIMITTEXT:             //                       0x00C5
    // case EM_CANUNDO:             //                         0x00C6
    // case EM_UNDO:             //                            0x00C7
    // case EM_FMTLINES:             //                        0x00C8
    // case EM_LINEFROMCHAR:             //                    0x00C9
    // case EM_SETWORDBREAK:             //                    0x00CA
    // case EM_SETTABSTOPS:             //                     0x00CB
    // case EM_SETPASSWORDCHAR:             //                 0x00CC
    // case EM_EMPTYUNDOBUFFER:             //                 0x00CD
    // case EM_GETFIRSTVISIBLE:             //                 0x00CE
    // case EM_SETREADONLY:             //                     0x00CF
    // case EM_MSGMAX:             //                          0x00D0


    *pwMsgNew = WM_USER + (uMsg - EM_GETSEL); // EM_GETSEL is the base

    switch(uMsg) {
        case EM_GETSEL:             //                          0x00B0
            *pwParamNew = (WORD)0;
            *plParamNew = (LONG)0;
            break;

        case EM_SETSEL:             //                          0x00B1
            LOW(*plParamNew) = (WORD)((SHORT)uParam);
            HIW(*plParamNew) = (WORD)((SHORT)lParam);
            break;

        case EM_GETRECT:             //                         0x00B2
            *plParamNew = GlobalAllocLock16(GMEM_MOVEABLE,
                                                     sizeof(RECT16), NULL);
            if (!(*plParamNew))
                return FALSE;

            break;

        case EM_SETRECT:             //                         0x00B3
        case EM_SETRECTNP:             //                       0x00B4
            if (lParam) {
                *plParamNew = GlobalAllocLock16(GMEM_MOVEABLE,
                                                         sizeof(RECT16), NULL);
                if (!(*plParamNew))
                    return FALSE;
                putrect16((VPRECT16)*plParamNew, (LPRECT)lParam);
            }
            break;

        case EM_LINESCROLL:             //                      0x00B6
            LOW(*plParamNew) = (WORD)(uParam);
            HIW(*plParamNew) = (WORD)(lParam);
            break;

        case EM_SETHANDLE:             //                       0x00BC
        case EM_GETHANDLE:             //                       0x00BD
            LOGDEBUG(0, "ThunkEMMsg32:EM_xxxHANDLE - What to do\n");
            break;

        case EM_REPLACESEL:             //                      0x00C2
            if (lParam) {
                INT cb;

                cb = strlen((LPSZ)lParam+1);
                *plParamNew = GlobalAllocLock16(GMEM_MOVEABLE, cb, NULL);
                if (!(*plParamNew))
                    return FALSE;
                putstr16((VPSZ16)*plParamNew, (LPSZ)lParam, cb);
            }
            break;

        case EM_SETFONT:             //                         0x00C3
            LOGDEBUG(0, "ThunkEMMsg32:EM_SETFONT - What to do\n");
            break;

        case EM_GETLINE:             //                         0x00C4
*************************************

        case EM_SETWORDBREAK:             //                    0x00CA
            LOGDEBUG(0, "ThunkEMMsg32:EM_SETWORDBREAK - What to do\n");
            break;

        case EM_SETTABSTOPS:             //                     0x00CB
            if (wParam != 0) {
                *plParamNew = GlobalAllocLock16(GMEM_MOVEABLE,
                                                  wParam * sizeof(WORD), NULL);
                if (!(*plParamNew))
                    return FALSE;
**********************putrect16((VPRECT16)*plParamNew, (LPRECT)lParam);
            }
            break;

    }

    return TRUE;
}