Changeset 27

Show
Ignore:
Timestamp:
06/28/04 00:21:34 (4 years ago)
Author:
brad
Message:

Incorporated Yuriy's changes from 2004.6.24 (and merged with some that I had locally).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/0.1/src/dwt/conversion_notes.txt

    r25 r27  
    11 
     2================================================================== 
    23 
    34System.arraycopy  
    45 - implemented in dwt.util.system 
    56  
     7================================================================== 
     8 
    69 a instanceof b 
    710  - if ( cast(b) a ) { is instance } else { is not } 
     11   
     12================================================================== 
     13 
     14classes in Java become structs in D 
     15 
     16See LOGFONT in dwt.internal.win32.types 
     17 
     18================================================================== 
     19 
     20 
     21 
     22 
     23 
     24  
  • branches/0.1/src/dwt/graphics/gc.d

    r24 r27  
    277277    auto byte[] bmi = new byte[BITMAPINFOHEADER.sizeof + (OS.IsWinCE ? 12 : 0)]; 
    278278    BITMAPINFOHEADER* bmiHeader = cast(BITMAPINFOHEADER*) &bmi[0]; 
    279     bmiHeader.biSize = BITMAPINFOHEADER.size
     279    bmiHeader.biSize = BITMAPINFOHEADER.sizeof
    280280    bmiHeader.biWidth = width; 
    281281    bmiHeader.biHeight = -height; 
     
    671671void drawBitmap(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, bit simple) { 
    672672    BITMAP bm; 
    673     OS.GetObject(srcImage.handle, BITMAP.size, &bm); 
     673    OS.GetObject(srcImage.handle, BITMAP.sizeof, &bm); 
    674674    int imgWidth = bm.bmWidth; 
    675675    int imgHeight = bm.bmHeight; 
     
    888888            // Set the few fields necessary to get the RGB data out 
    889889            // win32 is freaking scary: the colours go right after the bitmap info header in memory 
    890             auto byte[] buffer = new byte[BITMAPINFOHEADER.size + numColors * 4]; 
     890            auto byte[] buffer = new byte[BITMAPINFOHEADER.sizeof + numColors * 4]; 
    891891            BITMAPINFOHEADER* bmiHeader = cast(BITMAPINFOHEADER*)&buffer[0]; 
    892892 
    893             bmiHeader.biSize = BITMAPINFOHEADER.size
     893            bmiHeader.biSize = BITMAPINFOHEADER.sizeof
    894894            bmiHeader.biPlanes = bm.bmPlanes; 
    895895            bmiHeader.biBitCount = bm.bmBitsPixel; 
     
    16561656    /* Use GradientFill if supported, only on Windows 98, 2000 and newer */ 
    16571657    if (!OS.IsWinCE) { 
    1658         auto byte[] pMesh = new byte[GRADIENT_RECT.size + TRIVERTEX.size * 2]; 
     1658        auto byte[] pMesh = new byte[GRADIENT_RECT.sizeof + TRIVERTEX.sizeof * 2]; 
    16591659        GRADIENT_RECT* gradientRect = cast(GRADIENT_RECT*)pMesh; 
    1660         TRIVERTEX* trivertex = cast(TRIVERTEX*)(&pMesh[0] + GRADIENT_RECT.size); 
     1660        TRIVERTEX* trivertex = cast(TRIVERTEX*)(&pMesh[0] + GRADIENT_RECT.sizeof); 
    16611661 
    16621662         /*int hHeap = OS.GetProcessHeap(); 
     
    20402040    int hPen = OS.GetCurrentObject(handle, OS.OBJ_PEN); 
    20412041    LOGPEN logPen; 
    2042     OS.GetObject(hPen, LOGPEN.size, &logPen); 
     2042    OS.GetObject(hPen, LOGPEN.sizeof, &logPen); 
    20432043    switch (logPen.lopnStyle) { 
    20442044        case OS.PS_SOLID:       return DWT.LINE_SOLID; 
     
    20672067    int hPen = OS.GetCurrentObject(handle, OS.OBJ_PEN); 
    20682068    LOGPEN logPen; 
    2069     OS.GetObject(hPen, LOGPEN.size, &logPen); 
     2069    OS.GetObject(hPen, LOGPEN.sizeof, &logPen); 
    20702070    return logPen.lopnSize.x; 
    20712071} 
     
    23542354    int hPen = OS.GetCurrentObject(handle, OS.OBJ_PEN); 
    23552355    LOGPEN logPen; 
    2356     OS.GetObject(hPen, LOGPEN.size, &logPen); 
     2356    OS.GetObject(hPen, LOGPEN.sizeof, &logPen); 
    23572357    OS.SetTextColor(handle, color.handle); 
    23582358    int newPen = OS.CreatePen(logPen.lopnStyle, logPen.lopnSize.x, color.handle); 
     
    23882388    int hPen = OS.GetCurrentObject(handle, OS.OBJ_PEN); 
    23892389    LOGPEN logPen; 
    2390     OS.GetObject(hPen, LOGPEN.size, &logPen); 
     2390    OS.GetObject(hPen, LOGPEN.sizeof, &logPen); 
    23912391    if (logPen.lopnStyle == style) return; 
    23922392    OS.SetBkMode (handle, style == OS.PS_SOLID ? OS.OPAQUE : OS.TRANSPARENT); 
     
    24132413    int hPen = OS.GetCurrentObject(handle, OS.OBJ_PEN); 
    24142414    LOGPEN logPen; 
    2415     OS.GetObject(hPen, LOGPEN.size, &logPen); 
     2415    OS.GetObject(hPen, LOGPEN.sizeof, &logPen); 
    24162416    if (logPen.lopnSize.x == lineWidth) return; 
    24172417    int newPen = OS.CreatePen(logPen.lopnStyle, lineWidth, logPen.lopnColor); 
     
    24672467        wchar SPACE = ' '; 
    24682468//      OS.GetTextExtentPoint32(handle, SPACE, SPACE.length(), size); 
    2469         OS.GetTextExtentPoint32W(handle, &SPACE, wchar.size, &size); 
     2469        OS.GetTextExtentPoint32W(handle, &SPACE, wchar.sizeof, &size); 
    24702470        return new Point(0, size.height); 
    24712471    } else { 
     
    25392539        SIZE size; 
    25402540//      OS.GetTextExtentPoint32(handle, SPACE, SPACE.length(), size); 
    2541         OS.GetTextExtentPoint32W(handle, &SPACE, wchar.size, &size); 
     2541        OS.GetTextExtentPoint32W(handle, &SPACE, wchar.sizeof, &size); 
    25422542        return new Point(0, size.height); 
    25432543    } 
  • branches/0.1/src/dwt/graphics/image.d

    r24 r27  
    284284            this.type = srcImage.type; 
    285285 
    286             auto byte[] buffer = new byte[BITMAPINFOHEADER.size + uint.size * 2]; // enough room for the header and two colour entries 
     286            auto byte[] buffer = new byte[BITMAPINFOHEADER.sizeof + uint.sizeof * 2]; // enough room for the header and two colour entries 
    287287            BITMAPINFOHEADER* bmih = cast(BITMAPINFOHEADER*)&buffer[0]; 
    288             uint* palette = cast(uint*)&buffer[0] + BITMAPINFOHEADER.size
    289  
    290             bmih.biSize = BITMAPINFOHEADER.size
     288            uint* palette = cast(uint*)&buffer[0] + BITMAPINFOHEADER.sizeof
     289 
     290            bmih.biSize = BITMAPINFOHEADER.sizeof
    291291            bmih.biWidth = r.width; 
    292292            bmih.biHeight = r.height; 
     
    789789    auto byte[] bmi; 
    790790    if (isDirect) { 
    791         bmi = new byte[BITMAPINFOHEADER.size + (useBitfields ? 12 : 0)]; 
     791        bmi = new byte[BITMAPINFOHEADER.sizeof + (useBitfields ? 12 : 0)]; 
    792792    } else { 
    793         bmi = new byte[BITMAPINFOHEADER.size + rgbs.length * 4]; 
     793        bmi = new byte[BITMAPINFOHEADER.sizeof + rgbs.length * 4]; 
    794794    } 
    795795 
    796796    BITMAPINFOHEADER* bmiHeader = cast(BITMAPINFOHEADER*) &bmi[0]; 
    797     bmiHeader.biSize = BITMAPINFOHEADER.size
     797    bmiHeader.biSize = BITMAPINFOHEADER.sizeof
    798798    bmiHeader.biWidth = width; 
    799799    bmiHeader.biHeight = -height; 
     
    943943    //  Compute the background color 
    944944    BITMAP bm; 
    945     OS.GetObject(handle, BITMAP.size, &bm); 
     945    OS.GetObject(handle, BITMAP.sizeof, &bm); 
    946946    int hdcMem = OS.CreateCompatibleDC(hDC); 
    947947    int hOldObject = OS.SelectObject(hdcMem, handle); 
     
    10141014        case DWT.BITMAP: 
    10151015            BITMAP bm; 
    1016             OS.GetObject(handle, BITMAP.size, &bm); 
     1016            OS.GetObject(handle, BITMAP.sizeof, &bm); 
    10171017            return new Rectangle(0, 0, bm.bmWidth, bm.bmHeight); 
    10181018 
     
    10261026                if (hBitmap == 0) hBitmap = info.hbmMask; 
    10271027                BITMAP bm; 
    1028                 OS.GetObject(hBitmap, BITMAP.size, &bm); 
     1028                OS.GetObject(hBitmap, BITMAP.sizeof, &bm); 
    10291029                if (hBitmap == info.hbmMask) bm.bmHeight /= 2; 
    10301030                if (info.hbmColor != 0) OS.DeleteObject(info.hbmColor); 
     
    10671067            if (hBitmap == 0) hBitmap = info.hbmMask; 
    10681068 
    1069             OS.GetObject(hBitmap, BITMAP.size, &bm); 
     1069            OS.GetObject(hBitmap, BITMAP.sizeof, &bm); 
    10701070            depth = bm.bmPlanes * bm.bmBitsPixel; 
    10711071            width = bm.bmWidth; 
     
    10761076            //  Create the BITMAPINFO 
    10771077 
    1078             auto byte[] bmi = new byte[BITMAPINFOHEADER.size + numColors * 4]; 
     1078            auto byte[] bmi = new byte[BITMAPINFOHEADER.sizeof + numColors * 4]; 
    10791079            BITMAPINFOHEADER* bmiHeader = cast(BITMAPINFOHEADER*)&bmi[0]; 
    1080             bmiHeader.biSize = BITMAPINFOHEADER.size
     1080            bmiHeader.biSize = BITMAPINFOHEADER.sizeof
    10811081            bmiHeader.biWidth = width; 
    10821082            bmiHeader.biHeight = -height; 
     
    11541154 
    11551155                //  First color black, second color white 
    1156                 int offset = BITMAPINFOHEADER.size
     1156                int offset = BITMAPINFOHEADER.sizeof
    11571157                bmi[offset + 4] = bmi[offset + 5] = bmi[offset + 6] = cast(byte)0xFF; 
    11581158                bmi[offset + 7] = 0; 
     
    12131213        case DWT.BITMAP: { 
    12141214            //  Get the basic BITMAP information 
    1215             OS.GetObject(handle, BITMAP.size, &bm); 
     1215            OS.GetObject(handle, BITMAP.sizeof, &bm); 
    12161216            depth = bm.bmPlanes * bm.bmBitsPixel; 
    12171217            width = bm.bmWidth; 
     
    12501250            if (isDib) { 
    12511251                dib = new DIBSECTION(); 
    1252                 OS.GetObject(handle, DIBSECTION.size, dib); 
     1252                OS.GetObject(handle, DIBSECTION.sizeof, dib); 
    12531253            } 
    12541254            //  Calculate number of colors 
     
    12651265            BITMAPINFOHEADER* bmiHeader = null; 
    12661266            if (!isDib) { 
    1267                 bmi = new byte[BITMAPINFOHEADER.size + numColors * 4]; 
     1267                bmi = new byte[BITMAPINFOHEADER.sizeof + numColors * 4]; 
    12681268                bmiHeader = cast(BITMAPINFOHEADER*)&bmi[0]; 
    1269                 bmiHeader.biSize = BITMAPINFOHEADER.size
     1269                bmiHeader.biSize = BITMAPINFOHEADER.sizeof
    12701270                bmiHeader.biWidth = width; 
    12711271                bmiHeader.biHeight = -height; 
     
    15571557        auto byte[] bmi; 
    15581558        if (i.palette.isDirect) 
    1559         bmi = new byte[BITMAPINFOHEADER.size + (useBitfields ? 12 : 0)]; 
     1559        bmi = new byte[BITMAPINFOHEADER.sizeof + (useBitfields ? 12 : 0)]; 
    15601560        else 
    1561         bmi = new byte[BITMAPINFOHEADER.size + rgbs.length * 4]; 
     1561        bmi = new byte[BITMAPINFOHEADER.sizeof + rgbs.length * 4]; 
    15621562 
    15631563    BITMAPINFOHEADER* bmiHeader = cast(BITMAPINFOHEADER*)&bmi[0]; 
    1564     bmiHeader.biSize = BITMAPINFOHEADER.size
     1564    bmiHeader.biSize = BITMAPINFOHEADER.sizeof
    15651565    bmiHeader.biWidth = i.width; 
    15661566    bmiHeader.biHeight = -i.height; 
     
    15721572 
    15731573        //  Set the rgb colors into the bitmap info 
    1574     int offset = BITMAPINFOHEADER.size
     1574    int offset = BITMAPINFOHEADER.sizeof
    15751575    if (i.palette.isDirect) { 
    15761576        if (useBitfields) { 
     
    19341934    //  Change the background color in the image 
    19351935    BITMAP bm; 
    1936     OS.GetObject(handle, BITMAP.size, &bm); 
     1936    OS.GetObject(handle, BITMAP.sizeof, &bm); 
    19371937    int hdcMem = OS.CreateCompatibleDC(hDC); 
    19381938    OS.SelectObject(hdcMem, handle); 
  • branches/0.1/src/dwt/internal/win32/os.d

    r26 r27  
    2929    import dwt.internal.win32.types; 
    3030} 
    31  
    32 //version = Unicode; 
    3331 
    3432public class OS { 
     
    4543    static int IsSP; 
    4644    static int IsDBLocale; 
    47      
    4845    const int IsUnicode = 1; 
    49      
    5046    static int WIN32_MAJOR, WIN32_MINOR; 
    5147 
     
    13961392static int CreateFontIndirect (int lplf) { 
    13971393    if (IsUnicode) 
    1398            return CreateFontIndirectW (lplf); 
     1394            return CreateFontIndirectW (cast(LOGFONTW*)lplf); 
    13991395        else 
    1400            return CreateFontIndirectA (lplf); 
     1396        return CreateFontIndirectA (cast(LOGFONTA*)lplf); 
    14011397} 
    14021398 
    14031399static static int CreateFontIndirect (LOGFONT* lplf) { 
    14041400    if (IsUnicode) 
    1405            return CreateFontIndirectW (lplf); 
     1401            return CreateFontIndirectW (cast(LOGFONTW*)lplf); 
    14061402        else 
    1407            return CreateFontIndirectA (lplf); 
    1408 } 
    1409  
    1410  
    1411  
    1412 static int CreateWindowEx (int dwExStyle, TCHAR lpClassName, TCHAR lpWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int hWndParent, int hMenu, int hInstance, CREATESTRUCT lpParam) { 
     1403        return CreateFontIndirectA (cast(LOGFONTA*)lplf); 
     1404} 
     1405 
     1406 
     1407 
     1408static int CreateWindowEx (int dwExStyle, TCHAR lpClassName, TCHAR lpWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int hWndParent, int hMenu, int hInstance, CREATESTRUCT* lpParam) { 
    14131409    if (IsUnicode) { 
    14141410        return CreateWindowExW (dwExStyle, w_str(lpClassName), w_str(lpWindowName), dwStyle, X, Y, nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam); 
     
    14401436static int DragQueryFile (int hDrop, int iFile, TCHAR lpszFile, int cch) { 
    14411437    if (IsUnicode) { 
    1442         char [] lpszFile1 = lpszFile == null ? null : lpszFile.chars
     1438        wchar* lpszFile1 = w_str(lpszFile)
    14431439        return DragQueryFileW (hDrop, iFile, lpszFile1, cch); 
    14441440    } 
    1445     byte [] lpszFile1 = lpszFile == null ? null : lpszFile.bytes
     1441    char* lpszFile1 = c_str(lpszFile)
    14461442    return DragQueryFileA (hDrop, iFile, lpszFile1, cch); 
    14471443} 
     
    14971493static int ExtractIconEx (TCHAR lpszFile, int nIconIndex, int [] phiconLarge, int [] phiconSmall, int nIcons) { 
    14981494    if (IsUnicode) { 
    1499         char [] lpszFile1 = lpszFile == null ? null : lpszFile.chars
     1495        wchar* lpszFile1 = w_str(lpszFile)
    15001496        return ExtractIconExW (lpszFile1, nIconIndex, phiconLarge, phiconSmall, nIcons); 
    15011497    } 
    1502     byte [] lpszFile1 = lpszFile == null ? null : lpszFile.bytes
     1498    char* lpszFile1 = c_str(lpszFile)
    15031499    return ExtractIconExA (lpszFile1, nIconIndex, phiconLarge, phiconSmall, nIcons); 
    15041500} 
     
    15061502static bool ExtTextOut(int hdc, int X, int Y, int fuOptions, RECT* lprc, TCHAR lpString, int cbCount, int[] lpDx) { 
    15071503    if (IsUnicode) { 
    1508         char [] lpString1 = lpString == null ? null : lpString.chars
     1504        wchar* lpString1 = w_str(lpString)
    15091505        return ExtTextOutW (hdc, X, Y, fuOptions, lprc, lpString1, cbCount, lpDx); 
    15101506    } 
    1511     byte [] lpString1 = lpString == null ? null : lpString.bytes
     1507    char* lpString1 = c_str(lpString)
    15121508    return ExtTextOutA (hdc, X, Y, fuOptions, lprc, lpString1, cbCount, lpDx); 
    15131509} 
     
    15151511static int FindWindow (TCHAR lpClassName, TCHAR lpWindowName) { 
    15161512    if (IsUnicode) { 
    1517         char [] lpClassName1 = lpClassName == null ? null : lpClassName.chars
    1518         char [] lpWindowName1 = lpWindowName == null ? null : lpWindowName.chars
     1513        wchar* lpClassName1 = w_str(lpClassName)
     1514        wchar* lpWindowName1 = w_str(lpWindowName)
    15191515        return FindWindowW (lpClassName1, lpWindowName1); 
    15201516    } 
    1521     byte [] lpClassName1 = lpClassName == null ? null : lpClassName.bytes
    1522     byte [] lpWindowName1 = lpWindowName == null ? null : lpWindowName.bytes
     1517    char* lpClassName1 = c_str(lpClassName)
     1518    char* lpWindowName1 = c_str(lpWindowName)
    15231519    return FindWindowA (lpClassName1, lpWindowName1); 
    15241520} 
     
    15301526 
    15311527 
    1532 static int GetCharacterPlacement (int hdc, TCHAR lpString, int nCount, int nMaxExtent, GCP_RESULTS lpResults, int dwFlags) { 
    1533     if (IsUnicode) { 
    1534         char [] lpString1 = lpString == null ? null : lpString.chars
     1528static int GetCharacterPlacement (int hdc, TCHAR lpString, int nCount, int nMaxExtent, GCP_RESULTS* lpResults, int dwFlags) { 
     1529    if (IsUnicode) { 
     1530        wchar* lpString1 = w_str(lpString)
    15351531        return GetCharacterPlacementW (hdc, lpString1, nCount, nMaxExtent, lpResults, dwFlags); 
    15361532    } 
    1537     byte [] lpString1 = lpString == null ? null : lpString.bytes
     1533    char* lpString1 = c_str(lpString)
    15381534    return GetCharacterPlacementA (hdc, lpString1, nCount, nMaxExtent, lpResults, dwFlags); 
    15391535} 
     
    15571553static int GetClipboardFormatName (int format, TCHAR lpszFormatName, int cchMaxCount) { 
    15581554    if (IsUnicode) { 
    1559         char [] lpszFormatName1 = lpszFormatName == null ? null : lpszFormatName.chars
     1555        wchar* lpszFormatName1 = w_str(lpszFormatName)
    15601556        return GetClipboardFormatNameW (format, lpszFormatName1, cchMaxCount); 
    15611557    } 
    1562     byte [] lpszFormatName1 = lpszFormatName == null ? null : lpszFormatName.bytes
     1558    char* lpszFormatName1 = c_str(lpszFormatName)
    15631559    return GetClipboardFormatNameA (format, lpszFormatName1, cchMaxCount); 
    15641560} 
     
    15661562static int GetKeyNameText (int lParam, TCHAR lpString, int nSize) { 
    15671563    if (IsUnicode) { 
    1568         char [] lpString1 = lpString == null ? null : lpString.chars
     1564        wchar* lpString1 = w_str(lpString)
    15691565        return GetKeyNameTextW (lParam, lpString1, nSize); 
    15701566    } 
    1571     byte [] lpString1 = lpString == null ? null : lpString.bytes
     1567    char* lpString1 = c_str(lpString)
    15721568    return GetKeyNameTextA (lParam, lpString1, nSize); 
    15731569} 
     
    15951591static int GetModuleHandle (TCHAR lpModuleName) { 
    15961592    if (IsUnicode) { 
    1597         char [] lpModuleName1 = lpModuleName == null ? null : lpModuleName.chars
     1593        wchar* lpModuleName1 = w_str(lpModuleName)
    15981594        return GetModuleHandleW (lpModuleName1); 
    15991595    } 
    1600     byte [] lpModuleName1 = lpModuleName == null ? null : lpModuleName.bytes
     1596    char* lpModuleName1 = c_str(lpModuleName)
    16011597    return GetModuleHandleA (lpModuleName1); 
    16021598} 
     
    16171613} 
    16181614 
    1619 static int GetObject (int hgdiobj, int cbBuffer, LOGBRUSH lpvObject) { 
     1615static int GetObject (int hgdiobj, int cbBuffer, LOGBRUSH* lpvObject) { 
    16201616    if (IsUnicode) return GetObjectW (hgdiobj, cbBuffer, lpvObject); 
    16211617    return GetObjectA (hgdiobj, cbBuffer, lpvObject); 
     
    16371633 
    16381634 
    1639 static bool GetOpenFileName (OPENFILENAME lpofn) { 
     1635static bool GetOpenFileName (OPENFILENAME* lpofn) { 
    16401636    if (IsUnicode) return GetOpenFileNameW (lpofn); 
    16411637    return GetOpenFileNameA (lpofn); 
     
    16441640static int GetProfileString (TCHAR lpAppName, TCHAR lpKeyName, TCHAR lpDefault, TCHAR lpReturnedString, int nSize) { 
    16451641    if (IsUnicode) { 
    1646         char [] lpAppName1 = lpAppName == null ? null : lpAppName.chars
    1647         char [] lpKeyName1 = lpKeyName == null ? null : lpKeyName.chars
    1648         char [] lpDefault1 = lpDefault == null ? null : lpDefault.chars
    1649         char [] lpReturnedString1 = lpReturnedString == null ? null : lpReturnedString.chars
     1642        wchar* lpAppName1 = w_str(lpAppName)
     1643        wchar* lpKeyName1 = w_str(lpKeyName)
     1644        wchar* lpDefault1 = w_str(lpDefault)
     1645        wchar* lpReturnedString1 = w_str(lpReturnedString)
    16501646        return GetProfileStringW (lpAppName1, lpKeyName1, lpDefault1, lpReturnedString1, nSize); 
    16511647    } 
    1652     byte [] lpAppName1 = lpAppName == null ? null : lpAppName.bytes
    1653     byte [] lpKeyName1 = lpKeyName == null ? null : lpKeyName.bytes
    1654     byte [] lpDefault1 = lpDefault == null ? null : lpDefault.bytes
    1655     byte [] lpReturnedString1 = lpReturnedString == null ? null : lpReturnedString.bytes
     1648    char* lpAppName1 = c_str(lpAppName)
     1649    char* lpKeyName1 = c_str(lpKeyName)
     1650    char* lpDefault1 = c_str(lpDefault)
     1651    char* lpReturnedString1 = c_str(lpReturnedString)
    16561652    return GetProfileStringA (lpAppName1, lpKeyName1, lpDefault1, lpReturnedString1, nSize); 
    16571653} 
    16581654 
    1659 static bool GetSaveFileName (OPENFILENAME lpofn) { 
     1655static bool GetSaveFileName (OPENFILENAME* lpofn) { 
    16601656    if (IsUnicode) return GetSaveFileNameW (lpofn); 
    16611657    return GetSaveFileNameA (lpofn); 
    16621658} 
    16631659 
    1664 static bool GetTextExtentPoint32 (int hdc, TCHAR lpString, int cbString, SIZE lpSize) { 
    1665     if (IsUnicode) { 
    1666         char [] lpString1 = lpString == null ? null : lpString.chars
     1660static bool GetTextExtentPoint32 (int hdc, TCHAR lpString, int cbString, SIZE* lpSize) { 
     1661    if (IsUnicode) { 
     1662        wchar* lpString1 = w_str(lpString)
    16671663        return GetTextExtentPoint32W (hdc, lpString1, cbString, lpSize); 
    16681664    } 
    1669     byte [] lpString1 = lpString == null ? null : lpString.bytes
     1665    char* lpString1 = c_str(lpString)
    16701666    return GetTextExtentPoint32A (hdc, lpString1, cbString, lpSize); 
    16711667} 
     
    18541850} 
    18551851 
    1856 static int RegEnumKeyEx (int hKey, int dwIndex, TCHAR lpName, int [] lpcName, int [] lpReserved, TCHAR lpClass, int [] lpcClass, FILETIME lpftLastWriteTime) { 
    1857     if (IsUnicode) { 
    1858         char [] lpName1 = lpName == null ? null : lpName.chars
    1859         char [] lpClass1 = lpClass == null ? null : lpClass.chars
     1852static int RegEnumKeyEx (int hKey, int dwIndex, TCHAR lpName, int [] lpcName, int [] lpReserved, TCHAR lpClass, int [] lpcClass, FILETIME* lpftLastWriteTime) { 
     1853    if (IsUnicode) { 
     1854        wchar* lpName1 = w_str(lpName)
     1855        wchar* lpClass1 = w_str(lpClass)
    18601856        return RegEnumKeyExW (hKey, dwIndex, lpName1, lpcName, lpReserved, lpClass1, lpcClass, lpftLastWriteTime); 
    18611857    } 
    1862     byte [] lpName1 = lpName == null ? null : lpName.bytes
    1863     byte [] lpClass1 = lpClass == null ? null : lpClass.bytes
     1858    char* lpName1 = c_str(lpName)
     1859    char* lpClass1 = c_str(lpClass)
    18641860    return RegEnumKeyExA (hKey, dwIndex, lpName1, lpcName, lpReserved, lpClass1, lpcClass, lpftLastWriteTime); 
    18651861} 
     
    18721868static int RegisterClipboardFormat (TCHAR lpszFormat) { 
    18731869    if (IsUnicode) { 
    1874         char [] lpszFormat1 = lpszFormat == null ? null : lpszFormat.chars
     1870        wchar* lpszFormat1 = w_str(lpszFormat)
    18751871        return RegisterClipboardFormatW (lpszFormat1); 
    18761872    } 
    1877     byte [] lpszFormat1 = lpszFormat == null ? null : lpszFormat.bytes
     1873    char* lpszFormat1 = c_str(lpszFormat)
    18781874    return RegisterClipboardFormatA (lpszFormat1); 
    18791875} 
     
    18811877static int RegOpenKeyEx (int hKey, TCHAR lpSubKey, int ulOptions, int samDesired, int[] phkResult) { 
    18821878    if (IsUnicode) { 
    1883         char [] lpSubKey1 = lpSubKey == null ? null : lpSubKey.chars
     1879        wchar* lpSubKey1 = w_str(lpSubKey)
    18841880        return RegOpenKeyExW (hKey, lpSubKey1, ulOptions, samDesired, phkResult); 
    18851881    } 
    1886     byte [] lpSubKey1 = lpSubKey == null ? null : lpSubKey.bytes
     1882    char* lpSubKey1 = c_str(lpSubKey)
    18871883    return RegOpenKeyExA (hKey, lpSubKey1, ulOptions, samDesired, phkResult); 
    18881884} 
     
    18951891static int RegQueryValueEx (int hKey, TCHAR lpValueName, int lpReserved, int[] lpType, TCHAR lpData, int[] lpcbData) { 
    18961892    if (IsUnicode) { 
    1897         char [] lpValueName1 = lpValueName == null ? null : lpValueName.chars
    1898         char [] lpData1 = lpData == null ? null : lpData.chars
     1893        wchar* lpValueName1 = w_str(lpValueName)
     1894        wchar* lpData1 = w_str(lpData)
    18991895        return RegQueryValueExW (hKey, lpValueName1, lpReserved, lpType, lpData1, lpcbData); 
    19001896    } 
    1901     byte [] lpValueName1 = lpValueName == null ? null : lpValueName.bytes
    1902     byte [] lpData1 = lpData == null ? null : lpData.bytes
     1897    char* lpValueName1 = c_str(lpValueName)
     1898    char* lpData1 = c_str(lpData)
    19031899    return RegQueryValueExA (hKey, lpValueName1, lpReserved, lpType, lpData1, lpcbData); 
    19041900} 
     
    19061902static int SendMessage (int hWnd, int Msg, int wParam, TCHAR lParam) { 
    19071903    if (IsUnicode) { 
    1908         char [] lParam1 = lParam == null ? null : lParam.chars
     1904        wchar* lParam1 = w_str(lParam)
    19091905        return SendMessageW (hWnd, Msg, wParam, lParam1); 
    19101906    } 
    1911     byte [] lParam1 = lParam == null ? null : lParam.bytes
     1907    char* lParam1 = c_str(lParam)
    19121908    return SendMessageA (hWnd, Msg, wParam, lParam1); 
    19131909} 
     
    20152011static bool SetWindowText (int hWnd, TCHAR lpString) { 
    20162012    if (IsUnicode) { 
    2017         char [] lpString1 = lpString == null ? null : lpString.chars
     2013        wchar* lpString1 = w_str(lpString)
    20182014        return SetWindowTextW (hWnd, lpString1); 
    20192015    } 
    2020     byte [] lpString1 = lpString == null ? null : lpString.bytes
     2016    char* lpString1 = c_str(lpString)
    20212017    return SetWindowTextA (hWnd, lpString1); 
    20222018} 
    20232019 
    20242020static int SHBrowseForFolder (BROWSEINFO* lpbi) { 
    2025     if (IsUnicode) return SHBrowseForFolderW (lpbi); 
     2021    if (IsUnicode) return SHBrowseForFolderW(lpbi); 
    20262022    return SHBrowseForFolderA (lpbi); 
    20272023} 
    20282024 
    20292025static bool ShellExecuteEx (SHELLEXECUTEINFO* lpExecInfo) { 
    2030     if (IsUnicode) return ShellExecuteExW (lpExecInfo); 
     2026    if (IsUnicode) return ShellExecuteExW(lpExecInfo); 
    20312027    return ShellExecuteExA (lpExecInfo); 
    20322028} 
     
    20342030static bool SHGetPathFromIDList (int pidl, TCHAR pszPath) { 
    20352031    if (IsUnicode) { 
    2036         char [] pszPath1 = pszPath == null ? null : pszPath.chars
     2032        wchar* pszPath1 = w_str(pszPath)
    20372033        return SHGetPathFromIDListW (pidl, pszPath1); 
    20382034    } 
    2039     byte [] pszPath1 = pszPath == null ? null : pszPath.bytes
     2035    char* pszPath1 = c_str(pszPath)
    20402036    return SHGetPathFromIDListA (pidl, pszPath1); 
    20412037} 
    20422038 
    20432039static int StartDoc (int hdc, DOCINFO* lpdi) { 
    2044     if (IsUnicode) return StartDocW (hdc, lpdi); 
     2040    if (IsUnicode) return StartDocW(hdc, lpdi); 
    20452041    return StartDocA (hdc, lpdi); 
    20462042} 
    20472043 
    20482044static bool SystemParametersInfo (int uiAction, int uiParam, RECT* pvParam, int fWinIni) { 
    2049     if (IsUnicode) return SystemParametersInfoW (uiAction, uiParam, pvParam, fWinIni); 
     2045    if (IsUnicode) return SystemParametersInfoW(uiAction, uiParam, pvParam, fWinIni); 
    20502046    return SystemParametersInfoA (uiAction, uiParam, pvParam, fWinIni); 
    20512047} 
    20522048 
    2053 static bool SystemParametersInfo (int uiAction, int uiParam, NONCLIENTMETRICS pvParam, int fWinIni) { 
    2054     if (IsUnicode) return SystemParametersInfoW (uiAction, uiParam, cast(NONCLIENTMETRICSW)pvParam, fWinIni); 
    2055     return SystemParametersInfoA (uiAction, uiParam, cast(NONCLIENTMETRICSA)pvParam, fWinIni); 
     2049static bool SystemParametersInfo (int uiAction, int uiParam, NONCLIENTMETRICS* pvParam, int fWinIni) { 
     2050    if (IsUnicode) return SystemParametersInfoW (uiAction, uiParam, cast(NONCLIENTMETRICSW*)pvParam, fWinIni); 
     2051    return SystemParametersInfoA (uiAction, uiParam, cast(NONCLIENTMETRICSA*)pvParam, fWinIni); 
    20562052} 
    20572053 
     
    20682064static bool UnregisterClass (TCHAR lpClassName, int hInstance) { 
    20692065    if (IsUnicode) { 
    2070         char [] lpClassName1 = lpClassName == null ? null : lpClassName.chars
    2071         return UnregisterClassW (lpClassName1, hInstance); 
    2072     } 
    2073     byte [] lpClassName1 = lpClassName == null ? null : lpClassName.bytes
     2066        wchar* lpClassName1 = w_str(lpClassName)
     2067        return UnregisterClassW(lpClassName1, hInstance); 
     2068    } 
     2069    char* lpClassName1 = c_str(lpClassName)
    20742070    return UnregisterClassA (lpClassName1, hInstance); 
    20752071} 
     
    21642160    int DispatchMessageW (MSG lpmsg); 
    21652161    int DispatchMessageA (MSG lpmsg); 
     2162//    int DispatchMessageW (MSG* lpmsg); 
     2163//    int DispatchMessageA (MSG* lpmsg); 
    21662164    bool DragDetect (int hwnd, POINT pt); 
    21672165    void DragFinish (int hDrop); 
    2168     int DragQueryFileA (int hDrop, int iFile, byte[] lpszFile, int cch); 
    2169     int DragQueryFileW (int hDrop, int iFile, char[] lpszFile, int cch); 
     2166    int DragQueryFileA (int hDrop, int iFile, char* lpszFile, int cch); 
     2167    int DragQueryFileW (int hDrop, int iFile, wchar* lpszFile, int cch); 
    21702168    bool DrawEdge (int hdc, RECT* qrc, int edge, int grfFlags); 
    21712169    bool DrawFocusRect (int hDC, RECT* lpRect); 
     
    21962194    int ExpandEnvironmentStringsW (wchar* lpSrc, wchar* lsDst, int nSize); 
    21972195    int ExpandEnvironmentStringsA (char* lpSrc, char* lsDst, int nSize); 
    2198     bool ExtTextOutW(int hdc, int X, int Y, int fuOptions, RECT* lprc, wchar[] lpString, int cbCount, int[] lpDx); 
    2199     bool ExtTextOutA(int hdc, int X, int Y, int fuOptions, RECT* lprc, char[] lpString, int cbCount, int[] lpDx); 
     2196    bool ExtTextOutW(int hdc, int X, int Y, int fuOptions, RECT* lprc, wchar* lpString, int cbCount, int[] lpDx); 
     2197    bool ExtTextOutA(int hdc, int X, int Y, int fuOptions, RECT* lprc, char* lpString, int cbCount, int[] lpDx); 
    22002198    int ExtractIconExW (wchar* lpszFile, int nIconIndex, int [] phiconLarge, int [] phiconSmall, int nIcons); 
    22012199    int ExtractIconExA (char* lpszFile, int nIconIndex, int [] phiconLarge, int [] phiconSmall, int nIcons); 
     
    22112209    bool GetCharABCWidthsA (int hdc, int iFirstChar, int iLastChar, int [] lpabc); 
    22122210    bool GetCharABCWidthsW (int hdc, int iFirstChar, int iLastChar, int [] lpabc); 
    2213     //int GetCharacterPlacementW(int hdc, char[] lpString, int nCount, int nMaxExtent, GCP_RESULTS lpResults, int dwFlags); 
    2214     //int GetCharacterPlacementA(int hdc, byte[] lpString, int nCount, int nMaxExtent, GCP_RESULTS lpResults, int dwFlags); 
     2211    int GetCharacterPlacementW(int hdc, wchar* lpString, int nCount, int nMaxExtent, GCP_RESULTS* lpResults, int dwFlags); 
     2212    int GetCharacterPlacementA(int hdc, char* lpString, int nCount, int nMaxExtent, GCP_RESULTS* lpResults, int dwFlags); 
    22152213    bool GetCharWidthA (int hdc, int iFirstChar, int iLastChar, int [] lpBuffer); 
    22162214    bool GetCharWidthW (int hdc, int iFirstChar, int iLastChar, int [] lpBuffer); 
     
    22192217    bool GetClientRect (int hWnd, RECT* lpRect); 
    22202218    int GetClipboardData (int uFormat); 
    2221     int GetClipboardFormatNameA (int format, byte[] lpszFormatName, int cchMaxCount); 
    2222     int GetClipboardFormatNameW (int format, char[] lpszFormatName, int cchMaxCount); 
     2219    int GetClipboardFormatNameA (int format, char* lpszFormatName, int cchMaxCount); 
     2220    int GetClipboardFormatNameW (int format, wchar* lpszFormatName, int cchMaxCount); 
    22232221    int GetClipBox (int hdc, RECT* lprc); 
    22242222    int GetClipRgn (int hdc, int hrgn); 
     
    22732271    int GetObjectA (int hgdiobj, int cbBuffer, void* lpvObject); 
    22742272    int GetObjectW (int hgdiobj, int cbBuffer, void* lpvObject); 
    2275     /*int GetObjectA (int hgdiobj, int cbBuffer, BITMAP lpvObject); 
    2276     int GetObjectW (int hgdiobj, int cbBuffer, BITMAP lpvObject); 
     2273    int GetObjectA (int hgdiobj, int cbBuffer, BITMAP* lpvObject); 
     2274    int GetObjectW (int hgdiobj, int cbBuffer, BITMAP* lpvObject); 
    22772275    int GetObjectA (int hgdiobj, int cbBuffer, DIBSECTION* lpvObject); 
    22782276    int GetObjectW (int hgdiobj, int cbBuffer, DIBSECTION* lpvObject); 
    2279     int GetObjectA (int hgdiobj, int cbBuffer, LOGBRUSH lpvObject); 
    2280     int GetObjectW (int hgdiobj, int cbBuffer, LOGBRUSH lpvObject); 
    2281     int GetObjectA (int hgdiobj, int cbBuffer, LOGFONTA lpvObject); 
    2282     int GetObjectW (int hgdiobj, int cbBuffer, LOGFONTW lpvObject); 
    2283     int GetObjectA (int hgdiobj, int cbBuffer, LOGPEN lpvObject); 
    2284     int GetObjectW (int hgdiobj, int cbBuffer, LOGPEN lpvObject);*/ 
    2285     //bool GetOpenFileNameW (OPENFILENAME* lpofn); 
    2286     //bool GetOpenFileNameA (OPENFILENAME* lpofn); 
     2277    int GetObjectA (int hgdiobj, int cbBuffer, LOGBRUSH* lpvObject); 
     2278    int GetObjectW (int hgdiobj, int cbBuffer, LOGBRUSH* lpvObject); 
     2279    int GetObjectA (int hgdiobj, int cbBuffer, LOGFONTA* lpvObject); 
     2280    int GetObjectW (int hgdiobj, int cbBuffer, LOGFONTW* lpvObject); 
     2281    int GetObjectA (int hgdiobj, int cbBuffer, LOGPEN* lpvObject); 
     2282    int GetObjectW (int hgdiobj, int cbBuffer, LOGPEN* lpvObject); 
     2283    bool GetOpenFileNameW (OPENFILENAME* lpofn); 
     2284    bool GetOpenFileNameA (OPENFILENAME* lpofn); 
    22872285    int GetPaletteEntries (int hPalette, int iStartIndex, int nEntries, byte[] logPalette); 
    22882286    int GetParent (int hWnd); 
     
    22952293    int GetRgnBox (int hrgn, RECT* lprc); 
    22962294    int GetROP2 (int hdc); 
    2297     //bool GetSaveFileNameW (OPENFILENAME* lpofn); 
    2298     //bool GetSaveFileNameA (OPENFILENAME* lpofn); 
     2295    bool GetSaveFileNameW (OPENFILENAME* lpofn); 
     2296    bool GetSaveFileNameA (OPENFILENAME* lpofn); 
    22992297    bool GetScrollInfo (int hwnd, int flags, SCROLLINFO* info); 
    23002298    int GetStockObject (int fnObject); 
     
    23622360    bool ImmSetOpenStatus (int hIMC, bool fOpen); 
    23632361    void InitCommonControls (); 
    2364     //bool InitCommonControlsEx (INITCOMMONCONTROLSEX lpInitCtrls); 
     2362    bool InitCommonControlsEx (INITCOMMONCONTROLSEX lpInitCtrls); 
    23652363    bool InsertMenuW (int hMenu, int uPosition, int uFlags, int uIDNewItem, wchar* lpNewItem); 
    23662364    bool InsertMenuA (int hMenu, int uPosition, int uFlags, int uIDNewItem, char* lpNewItem); 
     
    24852483    int RegisterClassW (WNDCLASS* lpWndClass); 
    24862484    int RegisterClassA (WNDCLASS* lpWndClass); 
    2487     //int RegEnumKeyExW (int hKey, int dwIndex, wchar* lpName, int [] lpcName, int [] lpReserved, wchar* lpClass, int [] lpcClass, FILETIME lpftLastWriteTime); 
    2488     int RegisterClipboardFormatA (byte[] lpszFormat); 
    2489     int RegisterClipboardFormatW (char[] lpszFormat); 
    2490     int RegOpenKeyExW (int hKey, char[] lpSubKey, int ulOptions, int samDesired, int[] phkResult); 
     2485    int RegEnumKeyExW (int hKey, int dwIndex, wchar* lpName, int [] lpcName, int [] lpReserved, wchar* lpClass, int [] lpcClass, FILETIME* lpftLastWriteTime); 
     2486    int RegisterClipboardFormatA (char* lpszFormat); 
     2487    int RegisterClipboardFormatW (wchar* lpszFormat); 
     2488    int RegOpenKeyExW (int hKey, wchar* lpSubKey, int ulOptions, int samDesired, int[] phkResult); 
    24912489    int RegQueryInfoKeyW (int hKey, int lpClass, int[] lpcbClass, int lpReserved, int[] lpSubKeys, int[] lpcbMaxSubKeyLen, int[] lpcbMaxClassLen, int[] lpcValues, int[] lpcbMaxValueNameLen, int[] lpcbMaxValueLen, int[] lpcbSecurityDescriptor, int lpftLastWriteTime); 
    2492     int RegQueryValueExW (int hKey, char[] lpValueName, int lpReserved, int[] lpType, wchar* lpData, int[] lpcbData); 
    2493     //int RegEnumKeyExA (int hKey, int dwIndex, char* lpName, int [] lpcName, int [] lpReserved, char* lpClass, int [] lpcClass, FILETIME lpftLastWriteTime); 
    2494     int RegOpenKeyExA (int hKey, byte[] lpSubKey, int ulOptions, int samDesired, int[] phkResult); 
     2490    int RegQueryValueExW (int hKey, wchar* lpValueName, int lpReserved, int[] lpType, wchar* lpData, int[] lpcbData); 
     2491    int RegEnumKeyExA (int hKey, int dwIndex, char* lpName, int [] lpcName, int [] lpReserved, char* lpClass, int [] lpcClass, FILETIME* lpftLastWriteTime); 
     2492    int RegOpenKeyExA (int hKey, char* lpSubKey, int ulOptions, int samDesired, int[] phkResult); 
    24952493    int RegQueryInfoKeyA (int hKey, int lpClass, int[] lpcbClass, int lpReserved, int[] lpSubKeys, int[] lpcbMaxSubKeyLen, int[] lpcbMaxClassLen, int[] lpcValues, int[] lpcbMaxValueNameLen, int[] lpcbMaxValueLen, int[] lpcbSecurityDescriptor, int lpftLastWriteTime); 
    2496     int RegQueryValueExA (int hKey, byte[] lpValueName, int lpReserved, int[] lpType, char* lpData, int[] lpcbData); 
     2494    int RegQueryValueExA (int hKey, char* lpValueName, int lpReserved, int[] lpType, char* lpData, int[] lpcbData); 
    24972495    bool ReleaseCapture (); 
    24982496    int ReleaseDC (int hWnd, int hDC); 
     
    25052503    int SelectPalette(int hDC, int hpal, bool bForceBackground); 
    25062504 
    2507     int SendMessageW (int hWnd, int msg, int wparam, int lparam); 
    2508     int SendMessageA (int hWnd, int msg, int wparam, int lparam); 
     2505//    int SendMessageW (int hWnd, int msg, int wparam, int lparam); 
     2506//    int SendMessageA (int hWnd, int msg, int wparam, int lparam); 
    25092507 
    25102508    // D doesn't allow extern(Windows) functions to be overloaded in this manner 
    2511     /*int SendMessageW (int hWnd, int Msg, int [] wParam, int [] lParam); 
     2509//    /* 
     2510    int SendMessageW (int hWnd, int Msg, int [] wParam, int [] lParam); 
    25122511    int SendMessageW (int hWnd, int Msg, int [] wParam, int lParam); 
    25132512    int SendMessageW (int hWnd, int Msg, int wParam, wchar* lParam); 
     
    25152514    int SendMessageW (int hWnd, int Msg, int wParam, short [] lParam); 
    25162515    int SendMessageW (int hWnd, int Msg, int wParam, int lParam); 
    2517     int SendMessageW (int hWnd, int Msg, int wParam, LVCOLUMN lParam); 
     2516    int SendMessageW (int hWnd, int Msg, int wParam, LVCOLUMN* lParam); 
    25182517    int SendMessageW (int hWnd, int Msg, int wParam, LVHITTESTINFO* lParam); 
    2519     int SendMessageW (int hWnd, int Msg, int wParam, LVITEM lParam); 
     2518    int SendMessageW (int hWnd, int Msg, int wParam, LVITEM* lParam); 
    25202519    int SendMessageW (int hWnd, int Msg, int wParam, REBARBANDINFO* lParam); 
    25212520    int SendMessageW (int hWnd, int Msg, int wParam, RECT* lParam); 
    2522     int SendMessageW (int hWnd, int Msg, int wParam, TBBUTTON lParam); 
     2521    int SendMessageW (int hWnd, int Msg, int wParam, TBBUTTON* lParam); 
    25232522    int SendMessageW (int hWnd, int Msg, int wParam, TBBUTTONINFO* lParam); 
    2524     int SendMessageW (int hWnd, int Msg, int wParam, TCITEM lParam); 
     2523    int SendMessageW (int hWnd, int Msg, int wParam, TCITEM* lParam); 
    25252524    int SendMessageW (int hWnd, int Msg, int wParam, TOOLINFO* lParam); 
    25262525    int SendMessageW (int hWnd, int Msg, int wParam, TVHITTESTINFO* lParam); 
     
    25442543    int SendMessageA (int hWnd, int Msg, int wParam, TVHITTESTINFO* lParam); 
    25452544    int SendMessageA (int hWnd, int Msg, int wParam, TVINSERTSTRUCT* lParam); 
    2546     int SendMessageA (int hWnd, int Msg, int wParam, TVITEM* lParam);*/ 
     2545    int SendMessageA (int hWnd, int Msg, int wParam, TVITEM* lParam); 
     2546//    */ 
    25472547 
    25482548    int SetActiveWindow (int hWnd); 
     
    25842584    int SetWindowsHookExW (int idHook, int lpfn,  int hMod,  int dwThreadId); 
    25852585    int SetWindowsHookExA (int idHook, int lpfn,  int hMod,  int dwThreadId); 
    2586     //int SHBrowseForFolderW (BROWSEINFO* lpbi); 
    2587     //int SHBrowseForFolderA (BROWSEINFO* lpbi); 
    2588     bool SHCreateMenuBar(SHMENUBARINFO* pmb); 
     2586    int SHBrowseForFolderW (BROWSEINFO* lpbi); 
     2587    int SHBrowseForFolderA (BROWSEINFO* lpbi); 
     2588    //bool SHCreateMenuBar(SHMENUBARINFO* pmb); 
    25892589    //bool SHHandleWMSettingChange (int hwnd, int wParam, int lParam, SHACTIVATEINFO* psai); 
    25902590    //int SHRecognizeGesture(SHRGINFO* shrg); 
    25912591    void SHSendBackToFocusWindow (int uMsg, int wp, int lp); 
    25922592    bool SHSipPreference (int hwnd, int st); 
    2593     //bool ShellExecuteExW (SHELLEXECUTEINFO* lpExecInfo); 
    2594     //bool ShellExecuteExA (SHELLEXECUTEINFO* lpExecInfo); 
     2593    bool ShellExecuteExW (SHELLEXECUTEINFO* lpExecInfo); 
     2594    bool ShellExecuteExA (SHELLEXECUTEINFO* lpExecInfo); 
    25952595    int SHGetMalloc (int [] ppMalloc); 
    25962596    bool SHGetPathFromIDListW (int pidl, wchar* pszPath); 
     
    26022602    bool ShowWindow (int hWnd, int nCmdShow); 
    26032603    //bool SipGetInfo (SIPINFO* pSipInfo); 
    2604     //int StartDocW (int hdc, DOCINFO* lpdi); 
    2605     //int StartDocA (int hdc, DOCINFO* lpdi); 
     2604    int StartDocW (int hdc, DOCINFO* lpdi); 
     2605    int StartDocA (int hdc, DOCINFO* lpdi); 
    26062606    int StartPage (int hdc); 
    26072607    bool StretchBlt (int hdcDest, int nXOriginDest, int nYOriginDest, int nWidthDest, int nHeightDest, int hdcSrc, int nXOriginSrc, int nYOriginSrc, int nWidthSrc, int nHeightSrc, int dwRop); 
     
    26102610    int SystemParametersInfoW(int uiAction, int uiParam, int pvParam, int fWinIni); 
    26112611 
    2612     /*bool SystemParametersInfoW (int uiAction, int uiParam, RECT* pvParam, int fWinIni); 
     2612    bool SystemParametersInfoW (int uiAction, int uiParam, RECT* pvParam, int fWinIni); 
    26132613    bool SystemParametersInfoA (int uiAction, int uiParam, RECT* pvParam, int fWinIni); 
    26142614    bool SystemParametersInfoW (int uiAction, int uiParam, NONCLIENTMETRICSW* pvParam, int fWinIni); 
    26152615    bool SystemParametersInfoA (int uiAction, int uiParam, NONCLIENTMETRICSA* pvParam, int fWinIni); 
    26162616    bool SystemParametersInfoW (int uiAction, int uiParam, int[] pvParam, int fWinIni); 
    2617     bool SystemParametersInfoA (int uiAction, int uiParam, int[] pvParam, int fWinIni);*/ 
     2617    bool SystemParametersInfoA (int uiAction, int uiParam, int[] pvParam, int fWinIni); 
    26182618 
    26192619    int ToAscii (int uVirtKey, int uScanCode, char* lpKeyState, short [] lpChar, int uFlags); 
  • branches/0.1/src/dwt/internal/win32/types.d

    r26 r27  
    108108} 
    109109 
    110 struct LOGBRUSH { 
     110 
    111111    int lbStyle; 
    112112    int lbColor; 
     
    391391} 
    392392 
     393 
     394 
     395 
     396 
     397 
     398 
     399 
     400 
     401 
     402 
     403 
     404 
     405 
    393406struct ACCEL { 
    394407    byte fVirt; 
     
    487500    alias LOGFONTA LOGFONT; 
    488501} 
     502 
     503 
     504 
     505 
     506 
     507 
     508 
     509 
     510 
     511 
     512 
     513 
     514 
     515 
     516 
     517 
     518 
     519 
    489520 
    490521struct LOGFONTA { 
     
    527558 
    528559 
     560 
     561 
     562 
     563 
     564 
     565 
     566 
     567 
     568 
     569 
     570 
     571 
     572 
     573 
     574 
     575 
     576 
     577 
     578 
     579 
     580 
     581 
     582 
     583 
     584 
     585 
     586 
     587 
     588 
     589 
     590 
     591 
     592 
     593 
     594 
     595 
     596 
     597 
    529598// Yay D for not sucking 
    530599alias int LRESULT; 
  • branches/0.1/src/dwt/util/string.d

    r15 r27  
    7777    schar[] toString(uint u) //to a string of memory 
    7878    { 
    79         schar[uint.size * 3] buffer; 
     79        schar[uint.sizeof * 3] buffer; 
    8080        int ndigits; 
    8181        schar c; 
     
    104104        if(s2.length < l) 
    105105            l = s2.length; 
    106         result = memcmp(s1, s2, l * schar.size); 
     106