Ignore:
Timestamp:
Dec 2, 1999, 2:37:04 PM (26 years ago)
Author:
achimha
Message:

changes from Markus

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gdi32/gdi32.cpp

    r1931 r1938  
    1 /* $Id: gdi32.cpp,v 1.18 1999-12-01 23:30:08 sandervl Exp $ */
     1/* $Id: gdi32.cpp,v 1.19 1999-12-02 13:37:04 achimha Exp $ */
    22
    33/*
     
    353353                            int nWidthSrc, int nHeightSrc, DWORD dwRop)
    354354{
    355     dprintf(("GDI32: StretchBlt Dest: (%d, %d) size (%d, %d)\n", nXOriginDest, nYOriginDest, nWidthDest, nHeightDest));
    356     dprintf(("GDI32: StretchBlt Src : (%d, %d) size (%d, %d)\n", nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc));
    357     return O32_StretchBlt(hdcDest, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest, hdcSrc, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc, dwRop);
     355  dprintf(("GDI32: StretchBlt Dest: (%d, %d) size (%d, %d)\n",
     356           nXOriginDest, nYOriginDest, nWidthDest, nHeightDest));
     357  dprintf(("GDI32: StretchBlt Src : (%d, %d) size (%d, %d)\n",
     358           nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc));
     359  if(DIBSection::getSection() != NULL)
     360  {
     361    DIBSection *dsect = DIBSection::findHDC(hdcSrc);
     362    if(dsect)
     363    {
     364      dprintf((" Do stretched DIB Blt\n"));
     365      return(dsect->BitBlt( hdcDest,
     366                            nXOriginDest, nYOriginDest, nWidthDest, nHeightDest,
     367                            nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc,
     368                            dwRop));
     369    }
     370  }
     371  return O32_StretchBlt(hdcDest, nXOriginDest, nYOriginDest, nWidthDest, nHeightDest, hdcSrc, nXOriginSrc, nYOriginSrc, nWidthSrc, nHeightSrc, dwRop);
    358372}
    359373//******************************************************************************
     
    375389int WIN32API SetStretchBltMode( HDC arg1, int  arg2)
    376390{
    377     dprintf(("GDI32: SetStretchBltMode\n"));
    378     return O32_SetStretchBltMode(arg1, arg2);
     391  dprintf(("GDI32: SetStretchBltMode %X, %x\n",arg1, arg2));
     392
     393  if(DIBSection::getSection() != NULL)
     394  {
     395    DIBSection *dsect = DIBSection::findHDC(arg1);
     396    if(dsect)
     397    {
     398      dprintf(("       - DC is DIBSection\n"));
     399    }
     400  }
     401  return O32_SetStretchBltMode(arg1, arg2);
    379402}
    380403//******************************************************************************
     
    529552        DIBSection *dsect = DIBSection::findHDC(hdcSrc);
    530553        if(dsect) {
    531                 return(dsect->BitBlt(hdcDest, arg2, arg3, arg4, arg5, arg7, arg8, arg9));
     554                return(dsect->BitBlt(hdcDest, arg2, arg3, arg4, arg5, arg7, arg8, arg4, arg5, arg9));
    532555        }
    533556    }
     
    644667HDC WIN32API CreateDCW( LPCWSTR arg1, LPCWSTR arg2, LPCWSTR arg3, const DEVMODEW * arg4)
    645668{
    646     dprintf(("GDI32: CreateDCW STUB"));
    647     // NOTE: This will not work as is (needs UNICODE support)
    648 //    return O32_CreateDC(arg1, arg2, arg3, arg4);
    649     return 0;
     669    char *astring1 = UnicodeToAsciiString((LPWSTR)arg1);
     670    char *astring2 = UnicodeToAsciiString((LPWSTR)arg2);
     671    char *astring3 = UnicodeToAsciiString((LPWSTR)arg3);
     672    char *astring4 = UnicodeToAsciiString((LPWSTR)(arg4->dmDeviceName));
     673    char *astring5 = UnicodeToAsciiString((LPWSTR)(arg4->dmFormName));
     674
     675    HDC   rc;
     676    DEVMODEA devmode;
     677
     678    dprintf(("GDI32: CreateDCW"));
     679
     680    strcpy((char*)devmode.dmDeviceName, astring4);
     681    strcpy((char*)devmode.dmFormName, astring5);
     682
     683    devmode.dmSpecVersion      = arg4->dmSpecVersion;
     684    devmode.dmDriverVersion    = arg4->dmDriverVersion;
     685    devmode.dmSize             = arg4->dmSize;
     686    devmode.dmDriverExtra      = arg4->dmDriverExtra;
     687    devmode.dmFields           = arg4->dmFields;
     688    devmode.dmOrientation      = arg4->dmOrientation;
     689    devmode.dmPaperSize        = arg4->dmPaperSize;
     690    devmode.dmPaperLength      = arg4->dmPaperLength;
     691    devmode.dmPaperWidth       = arg4->dmPaperWidth;
     692    devmode.dmScale            = arg4->dmScale;
     693    devmode.dmCopies           = arg4->dmCopies;
     694    devmode.dmDefaultSource    = arg4->dmDefaultSource;
     695    devmode.dmPrintQuality     = arg4->dmPrintQuality;
     696    devmode.dmColor            = arg4->dmColor;
     697    devmode.dmDuplex           = arg4->dmDuplex;
     698    devmode.dmYResolution      = arg4->dmYResolution;
     699    devmode.dmTTOption         = arg4->dmTTOption;
     700    devmode.dmCollate          = arg4->dmCollate;
     701    devmode.dmLogPixels        = arg4->dmLogPixels;
     702    devmode.dmBitsPerPel       = arg4->dmBitsPerPel;
     703    devmode.dmPelsWidth        = arg4->dmPelsWidth;
     704    devmode.dmPelsHeight       = arg4->dmPelsHeight;
     705    devmode.dmDisplayFlags     = arg4->dmDisplayFlags;
     706    devmode.dmDisplayFrequency = arg4->dmDisplayFrequency;
     707    devmode.dmICMMethod        = arg4->dmICMMethod;
     708    devmode.dmICMIntent        = arg4->dmICMIntent;
     709    devmode.dmMediaType        = arg4->dmMediaType;
     710    devmode.dmDitherType       = arg4->dmDitherType;
     711    devmode.dmReserved1        = arg4->dmReserved1;
     712    devmode.dmReserved2        = arg4->dmReserved2;
     713
     714    rc = O32_CreateDC(astring1,astring2,astring3,&devmode);
     715    FreeAsciiString(astring1);
     716    FreeAsciiString(astring2);
     717    FreeAsciiString(astring3);
     718    FreeAsciiString(astring4);
     719    FreeAsciiString(astring5);
     720
     721    return rc;
    650722}
    651723//******************************************************************************
     
    14541526    rc = O32_GetTextFace(arg1, arg2, astring);
    14551527    AsciiToUnicode(astring, arg3);
     1528    free(astring);
    14561529    return rc;
    14571530}
     
    26502723 *             written for versions of Windows earlier than 3.0. For Win32-based
    26512724 *             applications, use the CreateDIBPatternBrushPt function.
    2652  * Parameters: HGLOBAL hglbDIBPacked handle of device-independent bitmap
     2725 * Parameters: HGLOBAL hglbDIBPacked Identifies a global memory object containing
     2726 *             a packed DIB, which consists of a BITMAPINFO structure immediately
     2727 *             followed by an array of bytes defining the pixels of the bitmap.
    26532728 *             UINT    fuColorSpec   color table data
    26542729 * Variables :
    26552730 * Result    : TRUE / FALSE
    26562731 * Remark    :
    2657  * Status    : UNTESTED STUB
     2732 * Status    : UNTESTED
    26582733 *
    26592734 * Author    : Patrick Haller [Mon, 1998/06/15 08:00]
     2735 *             Markus Montkowski [Wen, 1999/01/12 20:00]
    26602736 *****************************************************************************/
    26612737
    2662 HBRUSH WIN32API CreateDIBPatternBrush(HGLOBAL hglbDIBPacked,
    2663                                          UINT    fuColorSpec)
    2664 {
    2665   dprintf(("GDI32: CreateDIBPatternBrush(%08xh, %08xh) not implemented.\n",
     2738HBRUSH WIN32API CreateDIBPatternBrush( HGLOBAL hglbDIBPacked,
     2739                                       UINT    fuColorSpec)
     2740{
     2741  LPVOID lpMem;
     2742  HBRUSH ret = 0;
     2743  dprintf(("GDI32: CreateDIBPatternBrush(%08xh, %08xh) \n",
    26662744           hglbDIBPacked,
    26672745           fuColorSpec));
    26682746
    2669   return (0);
     2747  lpMem = GlobalLock(hglbDIBPacked);
     2748  if(NULL!=lpMem)
     2749  {
     2750
     2751    ret = CreateDIBPatternBrushPt( lpMem,
     2752                                   fuColorSpec);
     2753    GlobalUnlock(hglbDIBPacked);
     2754  }
     2755
     2756  return (ret);
    26702757}
    26712758
Note: See TracChangeset for help on using the changeset viewer.