Changeset 1036 for trunk/src


Ignore:
Timestamp:
Sep 25, 1999, 12:47:00 AM (26 years ago)
Author:
sandervl
Message:

Cursor fixes

Location:
trunk/src
Files:
6 edited

Legend:

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

    r816 r1036  
    1 /* $Id: cvtcursor.cpp,v 1.3 1999-09-04 12:41:45 sandervl Exp $ */
     1/* $Id: cvtcursor.cpp,v 1.4 1999-09-24 22:47:00 sandervl Exp $ */
    22
    33/*
     
    5656
    5757  cursorhdr  = (BITMAPFILEHEADER2 *)malloc(cursorsize);
     58  memset(cursorhdr, 0, cursorsize);
    5859  cursorhdr->usType        = BFT_POINTER;
    5960  cursorhdr->cbSize        = sizeof(BITMAPFILEHEADER2);
     
    6869
    6970  cursorhdr->offBits       = sizeof(BITMAPFILEHEADER2) + 2*sizeof(RGB2) + offsetBits;
    70   cursorhdr->bmp2.cbFix     = sizeof(BITMAPINFOHEADER);
     71  cursorhdr->bmp2.cbFix     = sizeof(BITMAPINFOHEADER2);
    7172  cursorhdr->bmp2.cx        = (USHORT)bhdr->biWidth;
    7273  cursorhdr->bmp2.cy        = (USHORT)(bhdr->biHeight);
    7374  cursorhdr->bmp2.cPlanes   = bhdr->biPlanes;
    7475  cursorhdr->bmp2.cBitCount = bhdr->biBitCount;
     76  cursorhdr->bmp2.ulCompression   = BCA_UNCOMP;
     77  cursorhdr->bmp2.ulColorEncoding = BCE_RGB;
    7578  dprintf(("Cursor size    : %d", bhdr->biSizeImage));
    7679  dprintf(("Cursor Width   : %d", bhdr->biWidth));
  • trunk/src/kernel32/cvtcursorgrp.cpp

    r997 r1036  
    1 /* $Id: cvtcursorgrp.cpp,v 1.4 1999-09-21 08:24:53 sandervl Exp $ */
     1/* $Id: cvtcursorgrp.cpp,v 1.5 1999-09-24 22:47:00 sandervl Exp $ */
    22
    33/*
     
    3636 CursorResDir *rdir = (CursorResDir *)(chdr + 1);
    3737 int i, groupsize = 0, os2cursorsize;
    38  BITMAPARRAYFILEHEADER *bafh, *orgbafh;
     38 BITMAPARRAYFILEHEADER2 *bafh, *orgbafh;
    3939 CursorComponent       *cursorhdr;
    4040 Win32Resource         *winres;
     
    5656        rdir++;
    5757  }
    58   bafh    = (BITMAPARRAYFILEHEADER *)malloc(groupsize+chdr->cwCount*sizeof(BITMAPARRAYFILEHEADER));
     58  bafh    = (BITMAPARRAYFILEHEADER2 *)malloc(groupsize+chdr->cwCount*sizeof(BITMAPARRAYFILEHEADER2));
    5959  orgbafh = bafh;
    6060
     
    6262  for(i=0;i<chdr->cwCount;i++) {
    6363        bafh->usType    = BFT_BITMAPARRAY;
    64         bafh->cbSize    = sizeof(BITMAPARRAYFILEHEADER);
     64        bafh->cbSize    = sizeof(BITMAPARRAYFILEHEADER2);
    6565        bafh->cxDisplay = 0;
    6666        bafh->cyDisplay = 0;
     
    7575
    7676        cursorhdr = (CursorComponent *)winres->lockResource();
    77         os2cursor = ConvertCursor(cursorhdr, winres->getSize(), &os2cursorsize, (int)bafh - (int)orgbafh + sizeof(BITMAPARRAYFILEHEADER)-sizeof(BITMAPFILEHEADER));
     77        os2cursor = ConvertCursor(cursorhdr, winres->getSize(), &os2cursorsize, (int)bafh - (int)orgbafh + sizeof(BITMAPARRAYFILEHEADER2)-sizeof(BITMAPFILEHEADER));
    7878
    7979        if(os2cursor == NULL) {
     
    8585
    8686        if(i != chdr->cwCount -1) {
    87                 bafh->offNext = (int)&bafh->bfh - (int)orgbafh + os2cursorsize;
     87                bafh->offNext = (int)&bafh->bfh2 - (int)orgbafh + os2cursorsize;
    8888        }
    8989        else    bafh->offNext = 0;
    9090
    91         memcpy((char *)&bafh->bfh, os2cursor, os2cursorsize);
     91        memcpy((char *)&bafh->bfh2, os2cursor, os2cursorsize);
    9292        free(os2cursor);
    9393
    94         bafh = (BITMAPARRAYFILEHEADER *)((int)&bafh->bfh + os2cursorsize);
     94        bafh = (BITMAPARRAYFILEHEADER2 *)((int)&bafh->bfh2 + os2cursorsize);
    9595        delete winres;
    9696
  • trunk/src/user32/oslibres.cpp

    r996 r1036  
    1 /* $Id: oslibres.cpp,v 1.2 1999-09-21 08:24:04 sandervl Exp $ */
     1/* $Id: oslibres.cpp,v 1.3 1999-09-24 22:45:26 sandervl Exp $ */
    22/*
    33 * Window API wrappers for OS/2
     
    139139 POINTERINFO pointerInfo = {0};
    140140 HBITMAP     hbmColor;
     141 BITMAPARRAYFILEHEADER2 *bafh = (BITMAPARRAYFILEHEADER2 *)cursorbitmap;
    141142 BITMAPFILEHEADER2 *bfh = (BITMAPFILEHEADER2 *)cursorbitmap;
    142143 HPS         hps;
     
    147148        return 0;
    148149    }
     150    if(bafh->usType == BFT_BITMAPARRAY && bafh->cbSize == sizeof(BITMAPARRAYFILEHEADER2)) {
     151        bfh  = &bafh->bfh2;
     152    }
     153    else {//single icon
     154        bfh  = (BITMAPFILEHEADER2 *)cursorbitmap;
     155        bafh = (BITMAPARRAYFILEHEADER2 *)bfh; //for calculation bitmap offset
     156    }
    149157    //skip xor/and mask
    150158    hps = WinGetScreenPS(HWND_DESKTOP);
    151159    hbmColor = GpiCreateBitmap(hps, &bfh->bmp2, CBM_INIT,
    152                            (char *)bfh + bfh->offBits,
     160                               (char *)bafh + bfh->offBits,
    153161                               (BITMAPINFO2 *)&bfh->bmp2);
    154162    if(hbmColor == GPI_ERROR) {
  • trunk/src/user32/user32.cpp

    r1000 r1036  
    1 /* $Id: user32.cpp,v 1.28 1999-09-21 17:04:27 dengert Exp $ */
     1/* $Id: user32.cpp,v 1.29 1999-09-24 22:45:27 sandervl Exp $ */
    22
    33/*
     
    678678{
    679679#ifdef DEBUG
    680     WriteLog("USER32:  SetCursor\n");
     680    WriteLog("USER32: SetCursor %x\n", hcur);
    681681#endif
    682682    return O32_SetCursor(hcur);
  • trunk/src/user32/win32wbase.cpp

    r1031 r1036  
    1 /* $Id: win32wbase.cpp,v 1.9 1999-09-24 12:47:50 sandervl Exp $ */
     1/* $Id: win32wbase.cpp,v 1.10 1999-09-24 22:45:27 sandervl Exp $ */
    22/*
    33 * Win32 Window Base Class for OS/2
     
    13641364        case WM_CREATE:
    13651365        {
    1366                 if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == 0) {
    1367                         dprintf(("WM_CREATE returned FALSE\n"));
    1368                         return(0); //don't create window
     1366                if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == -1) {
     1367                        dprintf(("WM_CREATE returned -1\n"));
     1368                        return(-1); //don't create window
    13691369                }
    13701370                NotifyParent(Msg, wParam, lParam);
    13711371
    1372                 return(1);
     1372                return(0);
    13731373        }
    13741374        case WM_SETTEXT: //TODO: Nothing happens if passed to DefWindowProc
     
    14051405        case WM_CREATE:
    14061406        {
    1407                 if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == 0) {
    1408                         dprintf(("WM_CREATE returned FALSE\n"));
    1409                         return(0); //don't create window
     1407                if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == -1) {
     1408                        dprintf(("WM_CREATE returned -1\n"));
     1409                        return(-1); //don't create window
    14101410                }
    14111411                NotifyParent(Msg, wParam, lParam);
    14121412
    1413                 return(1);
     1413                return(0);
    14141414        }
    14151415        case WM_LBUTTONDOWN:
     
    14431443        case WM_CREATE:
    14441444        {
    1445                 if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == 0) {
    1446                         dprintf(("WM_CREATE returned FALSE\n"));
    1447                         return(0); //don't create window
     1445                if(win32wndproc(getWindowHandle(), WM_CREATE, 0, lParam) == -1) {
     1446                        dprintf(("WM_CREATE returned -1\n"));
     1447                        return(-1); //don't create window
    14481448                }
    14491449                NotifyParent(Msg, wParam, lParam);
    14501450
    1451                 return(1);
     1451                return(0);
    14521452        }
    14531453        case WM_LBUTTONDOWN:
  • trunk/src/user32/window.cpp

    r1014 r1036  
    1 /* $Id: window.cpp,v 1.6 1999-09-23 10:33:59 sandervl Exp $ */
     1/* $Id: window.cpp,v 1.7 1999-09-24 22:45:28 sandervl Exp $ */
    22/*
    33 * Win32 window apis for OS/2
     
    6868    cs.lpszClass      = className;
    6969    cs.dwExStyle      = exStyle;
    70     dprintf(("CreateWindowExA: (%d,%d) (%d,%d), %x %x", x, y, width, height, style, exStyle));
     70    dprintf(("CreateWindowExA: parent %x (%d,%d) (%d,%d), %x %x", parent, x, y, width, height, style, exStyle));
    7171
    7272    //TODO: According to the docs className can be a 16 bits atom
Note: See TracChangeset for help on using the changeset viewer.