Ignore:
Timestamp:
Jul 17, 1999, 2:49:41 PM (26 years ago)
Author:
cbratschi
Message:

USER32 API

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/user32/new/user32.cpp

    r321 r322  
    1 /* $Id: user32.cpp,v 1.3 1999-07-17 11:52:22 sandervl Exp $ */
     1/* $Id: user32.cpp,v 1.4 1999-07-17 12:49:41 cbratschi Exp $ */
    22
    33/*
     
    3030#include <stdlib.h>
    3131#include <string.h>
     32#include <oslibwin.h>
    3233
    3334//undocumented stuff
     
    186187BOOL WIN32API MessageBeep( UINT arg1)
    187188{
     189    INT flStyle;
     190
    188191#ifdef DEBUG
    189192    WriteLog("USER32:  MessageBeep\n");
    190193#endif
    191 /*
     194
    192195    switch (arg1)
    193196    {
    194197      case 0xFFFFFFFF:
    195         DosBeep(500,50);
     198        OSLibDosBeep(500,50);
    196199        return TRUE;
    197200      case MB_ICONASTERISK:
    198         return WinAlarm(HWND_DESKTOP,WA_ERROR);
     201        flStyle = WA_NOTE;
     202        break;
    199203      case MB_ICONEXCLAMATION:
    200         return WinAlaram(HWND_DESKTOP,WA_WARNING);
     204        flStyle = WA_WARNING;
     205        break;
    201206      case MB_ICONHAND:
    202207      case MB_ICONQUESTION:
    203208      case MB_OK:
    204         return WinAlaram(HWND_DESKTOP,WA_NOTE);
     209        flStyle = WA_NOTE;
     210        break;
    205211      default:
    206         return WinAlarm(HWND_DESKTOP,WA_ERROR); //CB: should be right
     212        flStyle = WA_ERROR; //CB: should be right
     213        break;
    207214    }
    208 */
    209     return O32_MessageBeep(arg1);
     215    return OSLibWinAlarm(HWND_DESKTOP,flStyle);
    210216}
    211217//******************************************************************************
     
    224230{
    225231    dprintf(("USER32:  GetWindowTextLength\n"));
    226     //return WinQueryWindowTextLength(arg1);
     232    //win32 to OS/2 handle
     233    //return OSLibWinQueryWindowTextLength(arg1);
    227234    return O32_GetWindowTextLength(arg1);
    228235}
     
    232239{
    233240    dprintf(("USER32:  GetWindowTextA\n"));
    234     //return WinQueryWindowText(arg1,arg3,arg2);
     241    //win32 to OS/2 handle
     242    //return OSLibWinQueryWindowText(arg1,arg3,arg2);
    235243    return O32_GetWindowText(arg1, arg2, arg3);
    236244}
     
    259267{
    260268    dprintf(("USER32:  GetNextDlgTabItem\n"));
     269    //get next WS_TABSTOP
    261270    return O32_GetNextDlgTabItem(arg1, arg2, arg3);
    262271}
    263272//******************************************************************************
    264273//******************************************************************************
    265 //******************************************************************************
    266 //******************************************************************************
    267274HWND WIN32API GetFocus(void)
    268275{
    269276//    dprintf(("USER32:  GetFocus\n"));
    270     //return WinQueryFocus(HWND_DESKTOP);
     277    //return OS2LibWinQueryFocus(HWND_DESKTOP);
    271278    return O32_GetFocus();
    272279}
     
    276283{
    277284 HWND rc;
    278 
     285    //return OSLibWinWindowFromID(arg1,arg2);
    279286    rc = O32_GetDlgItem(arg1, arg2);
    280287    dprintf(("USER32:  GetDlgItem %d returned %d\n", arg2, rc));
     
    286293{
    287294    dprintf(("USER32:  GetDlgCtrlID\n"));
     295    //return OSLibWinQueryWindowUShort(arg1,QWS_ID);
     296    //use internal ID -> DWORD
    288297    return O32_GetDlgCtrlID(arg1);
    289298}
     
    304313
    305314  dprintf(("USER32:  EnumThreadWindows\n"));
     315  //replace
    306316  rc = O32_EnumThreadWindows(dwThreadId, callback->GetOS2Callback(), (LPARAM)callback);
    307317  if(callback)
     
    316326
    317327    dprintf(("USER32:  EndDialog\n"));
     328    //return OSLibDismissDialog(arg1,arg2);
    318329    rc = O32_EndDialog(arg1, arg2);
    319330    return(rc);
     
    321332//******************************************************************************
    322333//******************************************************************************
    323 BOOL WIN32API OffsetRect( PRECT arg1, int arg2, int  arg3)
     334BOOL WIN32API OffsetRect( PRECT lprc, int x, int  y)
    324335{
    325336#ifdef DEBUG
     
    327338#endif
    328339    //CB: inc values
    329     // todo
    330     return O32_OffsetRect(arg1, arg2, arg3);
    331 }
    332 //******************************************************************************
    333 //******************************************************************************
    334 BOOL WIN32API CopyRect( PRECT arg1, const RECT * arg2)
     340    if (lprc)
     341    {
     342      lprc->left   += x;
     343      lprc->right  += x;
     344      lprc->top    += y;
     345      lprc->bottom += y;
     346
     347      return TRUE;
     348    } else return FALSE;
     349}
     350//******************************************************************************
     351//******************************************************************************
     352BOOL WIN32API CopyRect( PRECT lprcDst, const RECT * lprcSrc)
    335353{
    336354//    ddprintf(("USER32:  CopyRect\n"));
    337     //memcpy();
    338     return O32_CopyRect(arg1, arg2);
    339 }
    340 //******************************************************************************
    341 // Not implemented by Open32 (5-31-99 Christoph Bratschi)
     355    if (!lprcDst || !lprcSrc) return FALSE;
     356
     357    memcpy(lprcDst,lprcSrc,sizeof(RECT));
     358
     359    return TRUE;
     360}
     361//******************************************************************************
    342362//******************************************************************************
    343363BOOL WIN32API CheckDlgButton( HWND arg1, int arg2, UINT  arg3)
     
    346366    WriteLog("USER32:  CheckDlgButton\n");
    347367#endif
    348 //    return O32_CheckDlgButton(arg1, arg2, arg3);
     368    //CB: set button state
    349369    return (BOOL)SendDlgItemMessageA(arg1,arg2,BM_SETCHECK,arg3,0);
    350370}
     
    354374{
    355375    dprintf(("USER32:  SetFocus\n"));
    356     //return WinSetFocus(HWND_DESKTOP,arg1);
     376    //return OSLibWinSetFocus(HWND_DESKTOP,arg1);
    357377    return O32_SetFocus(arg1);
    358378}
     
    364384    WriteLog("USER32:  ReleaseDC\n");
    365385#endif
    366     //return WinReleasePS(arg2);
     386    //return OSLibWinReleasePS(arg2);
    367387    return O32_ReleaseDC(arg1, arg2);
    368388}
     
    376396    else    WriteLog("USER32:  InvalidateRect for window %X NULL, %d\n", arg1, arg3);
    377397#endif
    378     //return WinInvalidateRect(arg1,arg2,arg3);
     398    //return OSLibWinInvalidateRect(arg1,arg2,arg3);
    379399    return O32_InvalidateRect(arg1, arg2, arg3);
    380400}
     
    386406    WriteLog("USER32:  GetUpdateRect\n");
    387407#endif
     408    // OSLibWinQueryUpdateRect(arg1,arg2);
     409    // translate top,bottom
    388410    return O32_GetUpdateRect(arg1, arg2, arg3);
    389411}
     
    394416 HDC hdc;
    395417
    396    //hdc = WinGetPS(arg1);
     418   //hdc = OSLibWinGetPS(arg1);
    397419   hdc = O32_GetDC(arg1);
    398420#ifdef DEBUG
     
    408430    WriteLog("USER32:  GetDCEx\n");
    409431#endif
    410     //return GetDC(arg1);
     432    //return OSLibGetDC(arg1);
    411433    //change values
    412434    return O32_GetDCEx(arg1, arg2, arg3);
     
    419441    WriteLog("USER32:  EndPaint\n");
    420442#endif
    421     //return WinEndPaint(arg2->hdc);
     443    //return OSLibWinEndPaint(arg2->hdc);
    422444    return O32_EndPaint(arg1, arg2);
    423445}
     
    429451{
    430452    dprintf(("USER32: BeginPaint %X\n", arg2));
    431     //return WinBeginPaint(arg1,);
     453    //return OSLibWinBeginPaint(arg1,);
    432454    //CB: emulate
    433455    return O32_BeginPaint(arg1, arg2);
     
    441463   switch(arg1) {
    442464    case SM_CXICONSPACING: //TODO: size of grid cell for large icons
    443         //rc = WinQuerySysValue(HWND_DESKTOP,SV_CXICON);
     465        //rc = OSLibWinQuerySysValue(HWND_DESKTOP,SV_CXICON);
    444466        //CB: better: return standard windows icon size
    445         //rc = 32;
    446         rc = O32_GetSystemMetrics(SM_CXICON);
     467        rc = 32;
    447468        break;
    448469    case SM_CYICONSPACING:
    449         rc = O32_GetSystemMetrics(SM_CYICON);
     470        //read SM_CXICONSPACING comment
     471        rc = 32;
    450472        break;
    451473    case SM_PENWINDOWS:
     
    559581    WriteLog("USER32:  KillTimer\n");
    560582#endif
     583    //WinStopTimer
    561584    return O32_KillTimer(arg1, arg2);
    562585}
     
    568591    WriteLog("USER32:  InflateRect\n");
    569592#endif
     593    //don't know how Win32 handles this
    570594    return O32_InflateRect(arg1, arg2, arg3);
    571595}
     
    590614 UINT rc;
    591615
     616    //WinQueryDlgItemText(arg1,arg2,arg4,arg3);
    592617    rc = O32_GetDlgItemText(arg1, arg2, arg3, arg4);
    593618#ifdef DEBUG
     
    605630    WriteLog("USER32:  ShowCursor\n");
    606631#endif
     632    //WinShowCursor(HWND_DESKTOP,arg1); //not the same
    607633    return O32_ShowCursor(arg1);
    608634}
    609635//******************************************************************************
    610636//******************************************************************************
    611 BOOL WIN32API SetRect( PRECT arg1, int arg2, int arg3, int arg4, int  arg5)
     637BOOL WIN32API SetRect( PRECT lprc, int nLeft, int nTop, int nRight, int  nBottom)
    612638{
    613639#ifdef DEBUG
    614640    WriteLog("USER32:  SetRect\n");
    615641#endif
    616     return O32_SetRect(arg1, arg2, arg3, arg4, arg5);
     642
     643    lprc->left   = nLeft;
     644    lprc->top    = nTop;
     645    lprc->right  = nRight;
     646    lprc->bottom = nBottom;
     647
     648    return TRUE;
    617649}
    618650//******************************************************************************
     
    623655    WriteLog("USER32:  SetDlgItemInt\n");
    624656#endif
     657    //get item text and translate to int
    625658    return O32_SetDlgItemInt(arg1, arg2, arg3, arg4);
    626659}
     
    632665    WriteLog("USER32:  SetDlgItemText to %s\n", arg3);
    633666#endif
     667    //WinSetDlgItemText(arg1,arg2,arg3);
    634668    return O32_SetDlgItemText(arg1, arg2, arg3);
    635669}
     
    651685////    WriteLog("USER32:  TranslateAccelerator\n");
    652686#endif
     687    //WinTranslateAccel();
     688    //get hab, translate
    653689    return O32_TranslateAccelerator(arg1, arg2, arg3);
    654690}
     
    660696    WriteLog("USER32:  SubtractRect");
    661697#endif
     698    // how?
    662699    return O32_SubtractRect(arg1, arg2, arg3);
    663700}
Note: See TracChangeset for help on using the changeset viewer.