Ignore:
Timestamp:
Jan 3, 2000, 9:53:50 PM (26 years ago)
Author:
cbratschi
Message:

ported all USER32 bitmaps, several bug fixes

File:
1 edited

Legend:

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

    r2290 r2309  
    1 /* $Id: loadres.cpp,v 1.13 2000-01-01 14:57:16 cbratschi Exp $ */
     1/* $Id: loadres.cpp,v 1.14 2000-01-03 20:53:49 cbratschi Exp $ */
    22
    33/*
     
    9595#ifdef DEBUG_ENABLELOG_LEVEL2
    9696    if(i) {
    97         char *astring = (char *)HEAP_strdupWtoA(GetProcessHeap(), 0, lpBuffer);
    98         dprintf(("LoadStringW from %X, id %d %s\n", hinst, wID, astring));
    99         HEAP_free(astring);
     97        char *astring = (char *)HEAP_strdupWtoA(GetProcessHeap(), 0, lpBuffer);
     98        dprintf(("LoadStringW from %X, id %d %s\n", hinst, wID, astring));
     99        HEAP_free(astring);
    100100    }
    101101#else
     
    232232}
    233233//******************************************************************************
    234 //******************************************************************************
    235 BOOL IsSystemBitmap(ULONG *id)
    236 {
    237    switch(*id)
    238    {
    239         case OBM_UPARROW_W:
    240         case OBM_DNARROW_W:
    241         case OBM_RGARROW_W:
    242         case OBM_LFARROW_W:
    243         case OBM_RESTORE_W:
    244         case OBM_RESTORED_W:
    245         case OBM_UPARROWD_W:
    246         case OBM_DNARROWD_W:
    247         case OBM_RGARROWD_W:
    248         case OBM_LFARROWD_W:
    249         case OBM_OLD_UPARROW_W:
    250         case OBM_OLD_DNARROW_W:
    251         case OBM_OLD_RGARROW_W:
    252         case OBM_OLD_LFARROW_W:
    253         case OBM_CHECK_W:
    254         case OBM_CHECKBOXES_W:
    255         case OBM_BTNCORNERS_W:
    256         case OBM_COMBO_W:
    257         case OBM_REDUCE_W:
    258         case OBM_REDUCED_W:
    259         case OBM_ZOOM_W:
    260         case OBM_ZOOMD_W:
    261         case OBM_SIZE_W:
    262         case OBM_CLOSE_W:
    263         case OBM_MNARROW_W:
    264         case OBM_UPARROWI_W:
    265         case OBM_DNARROWI_W:
    266         case OBM_RGARROWI_W:
    267         case OBM_LFARROWI_W:
    268                 return TRUE;
    269 
    270         //TODO: Not supported by Open32. Replacement may not be accurate
    271         case OBM_OLD_CLOSE_W:
    272                 *id = OBM_CLOSE_W;
    273                 return TRUE;
    274 
    275         case OBM_BTSIZE_W:
    276                 *id = OBM_SIZE_W;
    277                 return TRUE;
    278 
    279         case OBM_OLD_REDUCE_W:
    280                 *id = OBM_REDUCE_W;
    281                 return TRUE;
    282 
    283         case OBM_OLD_ZOOM_W:
    284                 *id = OBM_ZOOM_W;
    285                 return TRUE;
    286 
    287         case OBM_OLD_RESTORE_W:
    288                 *id = OBM_RESTORE_W;
    289                 return TRUE;
    290 
    291         default:
    292                 return FALSE;
    293    }
    294 }
    295 //******************************************************************************
    296234//NOTE: LR_CREATEDIBSECTION flag doesn't work (crash in GDI32)!
    297235//******************************************************************************
     
    390328 HBITMAP hBitmap = 0;
    391329
    392   if (!hinst)
    393   {
    394     if(IsSystemBitmap((ULONG *)&lpszBitmap))
    395     {
    396       hBitmap = O32_LoadBitmap(hInstanceUser32,lpszBitmap);
    397       if (!hBitmap) hBitmap = O32_LoadBitmap(hinst,lpszBitmap);
    398     } else hBitmap = 0;
    399   } else hBitmap = LoadBitmapA(hinst, lpszBitmap, 0, 0, 0);
     330  return LoadBitmapA((hinst == 0) ? hInstanceUser32:hinst,lpszBitmap,0,0,0);
    400331  dprintf(("LoadBitmapA returned %08xh\n", hBitmap));
    401332
     
    409340 HBITMAP hBitmap = 0;
    410341
    411   if (!hinst)
    412   {
    413     if(IsSystemBitmap((ULONG *)&lpszBitmap))
    414     {
    415       hBitmap = O32_LoadBitmap(hInstanceUser32,(LPCSTR)lpszBitmap);
    416       if (!hBitmap) hBitmap = O32_LoadBitmap(hinst,(LPCSTR)lpszBitmap);
    417     } else hBitmap = 0;
    418   } else
    419   {
    420     if(HIWORD(lpszBitmap) != 0)
    421       lpszBitmap = (LPWSTR)UnicodeToAsciiString((LPWSTR)lpszBitmap);
    422 
    423     hBitmap = LoadBitmapA(hinst, (LPSTR)lpszBitmap, 0, 0, 0);
    424 
    425     if(HIWORD(lpszBitmap) != 0)
    426       FreeAsciiString((LPSTR)lpszBitmap);
    427   }
     342  if(HIWORD(lpszBitmap) != 0)
     343    lpszBitmap = (LPWSTR)UnicodeToAsciiString((LPWSTR)lpszBitmap);
     344
     345  hBitmap = LoadBitmapA((hinst == 0) ? hInstanceUser32:hinst, (LPSTR)lpszBitmap, 0, 0, 0);
     346
     347  if(HIWORD(lpszBitmap) != 0)
     348    FreeAsciiString((LPSTR)lpszBitmap);
    428349
    429350  dprintf(("LoadBitmapW returned %08xh\n", hBitmap));
     
    541462//              return BITMAP_CopyBitmap(hnd);
    542463        case IMAGE_ICON:
    543                 return CopyIcon(hnd);
     464                return CopyIcon(hnd);
    544465        case IMAGE_CURSOR:
    545                 return CopyCursor(hnd);
    546 //              return CopyCursorIcon(hnd,type, desiredx, desiredy, flags);
     466                return CopyCursor(hnd);
     467//              return CopyCursorIcon(hnd,type, desiredx, desiredy, flags);
    547468        default:
    548469                dprintf(("CopyImage: Unsupported type"));
Note: See TracChangeset for help on using the changeset viewer.