Changeset 599 for trunk/src


Ignore:
Timestamp:
Aug 20, 1999, 5:03:41 PM (26 years ago)
Author:
sandervl
Message:

* empty log message *

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/kernel32/winres.cpp

    r597 r599  
    1 /* $Id: winres.cpp,v 1.10 1999-08-20 11:52:44 sandervl Exp $ */
     1/* $Id: winres.cpp,v 1.11 1999-08-20 15:03:31 sandervl Exp $ */
    22
    33/*
     
    133133  OS2ResHandle = 0;
    134134
    135   rc = DosQueryResourceSize(module->hinstance, type, id, &ressize);
     135  rc = DosQueryResourceSize(module->hinstance, orgos2type, id, &ressize);
    136136  if(rc) {
    137137    dprintf(("Win32Resource ctor: DosQueryResourceSize %x %d %d returned %X\n", module->hinstance, type, id, rc));
     
    248248            return(NULL);
    249249        }
    250         winresdata = (char *)malloc(ressize);
     250        winresdata = malloc(ressize+sizeof(WCHAR));
    251251        memcpy(winresdata, resdata, ressize);
     252        *(USHORT *)(&((char *)winresdata)[ressize]) = 0;
    252253        DosFreeResource(resdata);
    253254        return((PVOID)((ULONG)winresdata+2));   //skip length word
  • trunk/src/user32/new/loadres.cpp

    r596 r599  
    1 /* $Id: loadres.cpp,v 1.5 1999-08-20 11:52:18 sandervl Exp $ */
     1/* $Id: loadres.cpp,v 1.6 1999-08-20 15:03:41 sandervl Exp $ */
    22
    33/*
     
    1111 */
    1212#include <os2win.h>
    13 #include <string.h>
    1413#include <user32.h>
    1514#include <winres.h>
     
    3433        resstrlen = min(lstrlenW(resstring)+1, cchBuffer);
    3534        lstrcpynWtoA(lpBuffer, resstring, resstrlen);
    36         lpBuffer[cchBuffer-1] = 0;
    37         dprintf(("LoadStringA %s", lpBuffer));
     35        lpBuffer[resstrlen-1] = 0;
     36        resstrlen--;
     37        dprintf(("LoadStringA (%d) %s", resstrlen, lpBuffer));
    3838    }
    3939    delete winres;
     
    6060        resstrlen = min(lstrlenW(resstring)+1, cchBuffer);
    6161        lstrcpynW(lpBuffer, resstring, resstrlen);
    62         lpBuffer[cchBuffer-1] = 0;
     62        lpBuffer[resstrlen-1] = 0;
     63        resstrlen--;
    6364    }
    6465    delete winres;
     
    6869}
    6970//******************************************************************************
    70 //TODO: Standard windows icons!
    7171//******************************************************************************
    7272HICON WIN32API LoadIconA(HINSTANCE hinst, LPCSTR lpszIcon)
     
    7575
    7676    rc = (HICON)FindResourceA(hinst, lpszIcon, RT_ICONA);
    77     if(rc == 0) {
    78         rc = (HICON)FindResourceA(hinst, lpszIcon, RT_GROUP_ICONA);
    79     }
    8077    dprintf(("LoadIconA (%X) returned %d\n", hinst, rc));
    8178    return(rc);
    8279}
    8380//******************************************************************************
    84 //TODO: Standard windows icons!
    8581//******************************************************************************
    8682HICON WIN32API LoadIconW(HINSTANCE hinst, LPCWSTR lpszIcon)
     
    8985
    9086    rc = (HICON)FindResourceW(hinst, lpszIcon, RT_ICONW);
    91     if(rc == 0) {
    92         rc = (HICON)FindResourceW(hinst, lpszIcon, RT_GROUP_ICONW);
    93     }
    9487    dprintf(("LoadIconW (%X) returned %d\n", hinst, rc));
    9588    return(rc);
    9689}
    9790//******************************************************************************
    98 //TODO: Standard windows cursors!
    9991//******************************************************************************
    10092HCURSOR WIN32API LoadCursorA(HINSTANCE hinst, LPCSTR lpszCursor)
     
    10294 HCURSOR rc;
    10395
    104     rc = (HCURSOR) FindResourceA(hinst, lpszCursor, RT_CURSORA);
     96    if((int)lpszCursor >> 16 != 0) {//convert string name identifier to numeric id
     97         dprintf(("LoadCursor %s\n", lpszCursor));
     98         lpszCursor = (LPCSTR)ConvertNameId(hinst, (char *)lpszCursor);
     99    }
     100    else dprintf(("LoadCursor %d\n", (int)lpszCursor));
     101
     102    rc = O32_LoadCursor(hinst, lpszCursor);
    105103
    106104    dprintf(("LoadCursor from %X returned %d\n", hinst, rc));
     
    108106}
    109107//******************************************************************************
    110 //TODO: Standard windows cursors!
     108//******************************************************************************
     109HBITMAP WIN32API LoadBitmapA(HINSTANCE hinst, LPCSTR lpszBitmap)
     110{
     111 HBITMAP rc;
     112
     113  if((int)lpszBitmap >> 16 != 0)
     114  {  //convert string name identifier to numeric id
     115    dprintf(("lpszBitmap [%s]\n",
     116             lpszBitmap));
     117   
     118    lpszBitmap = (LPCSTR)ConvertNameId(hinst,
     119                                       (char *)lpszBitmap);
     120  }
     121  else
     122    dprintf(("lpszBitmap %08xh\n",
     123             (int)lpszBitmap));
     124
     125  rc = O32_LoadBitmap(hinst, lpszBitmap);
     126
     127  dprintf(("LoadBitmapA returned %08xh\n",
     128           rc));
     129 
     130  return(rc);
     131}
     132//******************************************************************************
     133//******************************************************************************
     134HBITMAP WIN32API LoadBitmapW(HINSTANCE hinst, LPCWSTR lpszBitmap)
     135{
     136 char   *astring = NULL;
     137 HBITMAP rc;
     138
     139    if((int)lpszBitmap >> 16 != 0) {//convert string name identifier to numeric id
     140         astring = UnicodeToAsciiString((LPWSTR)lpszBitmap);
     141         dprintf(("lpszBitmap %s\n", astring));
     142
     143         lpszBitmap = (LPWSTR)ConvertNameId(hinst, (char *)astring);
     144    }
     145    else dprintf(("lpszBitmap %d\n", (int)lpszBitmap));
     146
     147    rc = O32_LoadBitmap(hinst, (char *)lpszBitmap);
     148    if(astring)
     149        FreeAsciiString(astring);
     150
     151    dprintf(("LoadBitmapW returned %d\n", rc));
     152    return(rc);
     153}
     154//******************************************************************************
    111155//******************************************************************************
    112156HCURSOR WIN32API LoadCursorW(HINSTANCE hinst, LPCWSTR lpszCursor)
    113157{
     158 char   *astring = NULL;
    114159 HCURSOR rc;
    115160
    116     rc = (HCURSOR) FindResourceW(hinst, lpszCursor, RT_CURSORW);
    117 
    118     dprintf(("LoadCursorW from %X returned %d\n", hinst, rc));
    119     return(rc);
    120 }
    121 //******************************************************************************
    122 //TODO: Standard windows bitmaps!
    123 //******************************************************************************
    124 HBITMAP WIN32API LoadBitmapA(HINSTANCE hinst, LPCSTR lpszBitmap)
    125 {
    126  HBITMAP rc;
    127 
    128     rc = (HBITMAP) FindResourceA(hinst, lpszBitmap, RT_BITMAPA);
    129 
    130     dprintf(("LoadBitmapA from %X returned %d\n", hinst, rc));
    131     return(rc);
    132 }
    133 //******************************************************************************
    134 //TODO: Standard windows bitmaps!
    135 //******************************************************************************
    136 HBITMAP WIN32API LoadBitmapW(HINSTANCE hinst, LPCWSTR lpszBitmap)
    137 {
    138  HBITMAP rc;
    139 
    140     rc = (HBITMAP) FindResourceW(hinst, lpszBitmap, RT_BITMAPW);
    141 
    142     dprintf(("LoadBitmapW from %X returned %d\n", hinst, rc));
     161    if((int)lpszCursor >> 16 != 0) {//convert string name identifier to numeric id
     162         astring = UnicodeToAsciiString((LPWSTR)lpszCursor);
     163         dprintf(("lpszCursor %s\n", astring));
     164         lpszCursor = (LPWSTR)ConvertNameId(hinst, (char *)astring);
     165    }
     166    else dprintf(("lpszCursor %d\n", (int)lpszCursor));
     167
     168    rc = O32_LoadCursor(hinst, (char *)lpszCursor);
     169    if(astring)
     170        FreeAsciiString(astring);
     171
     172    dprintf(("LoadCursorW returned %d\n", rc));
    143173    return(rc);
    144174}
Note: See TracChangeset for help on using the changeset viewer.