Esempio n. 1
0
//--------------------------------------------------------------------------
void SndObjGetFmt(BYTE *lpMem,LOADPATH lPath, LOADHANDLE lBlock, LOADHANDLE lID,
                  LPSNDMIXFORMAT lpFmt, LPDWORD lpLengthData)
{
    void *pf = 0;
    char nameBuf[MAX_PATH];
    _WAVHEADER wavHeader;

    LPPACKEDFILE lpPf=NULL;
    if(lpMem) {
        COPYMEMORY(&wavHeader,lpMem,sizeof(wavHeader));
    }
    else {
        if(lBlock[0]=='\0') {
            BuildFullPath(nameBuf,lPath, lID,sndDriveContext,SNDIDEXT);
            pf=fopen(nameBuf,"rb");
            ASSERTFILE(pf,nameBuf);
            fread(&wavHeader, 1, sizeof( _WAVHEADER ), pf);
        }
        else {
            BuildFullPath(nameBuf,lPath, lBlock, sndDriveContext,SNDBLOCKEXT); // 'c' ??
            lpPf=PkPackInit(nameBuf, 1, NULL);
            ASSERTFILE(lpPf,nameBuf);
            BuildFullPath(nameBuf,NULL, lID, sndDriveContext,SNDIDEXT);
            pf=Pkfopen(lpPf,nameBuf,"rb");
            ASSERTFILE(pf,nameBuf);
            Pkfread(&wavHeader, 1, sizeof( _WAVHEADER ), pf);
        }
    }
    lpFmt->nSamplesPerSec=wavHeader.dwSamplesPerSec;
    lpFmt->wBitsPerSample=wavHeader.wBitsPerSample;
    lpFmt->nChannels=wavHeader.wChannels;
    *lpLengthData=wavHeader.dwDataLength;
    if (!lpMem) {
        if (lBlock[0]=='\0' && pf)
            fclose(pf);
        else {
            if (pf) Pkfclose(pf);
            PkPackClose(lpPf);
        }
    }
    return;
}
Esempio n. 2
0
size_t Memfread(void *ptr, size_t size, size_t n, LPMEMFILE lpMemFile)
{
    size_t rval=0;
    size_t memRead=0;
    void *readPtr;

    if(lpMemFile!=NULL && !lpMemFile->eof) {
        readPtr=lpMemFile->lpMem+lpMemFile->poscur;
        memRead=n*size;
        rval=n;

        if(lpMemFile->poscur+ memRead>= lpMemFile->size) {
            memRead=lpMemFile->size-lpMemFile->poscur;
            rval=memRead/size;
            lpMemFile->eof=1;
            lpMemFile->poscur=lpMemFile->size;
        }
        else
            lpMemFile->poscur+=memRead;
        COPYMEMORY(ptr,readPtr,memRead);
    }
    return rval;
}
Esempio n. 3
0
void WndData::SaveWindowData
  (
  )

  {
  COLORREF  clrFG, clrBG;
  WORD     pattern[8];

  OWndLaySetTitle             (m_oiWnd,  m_szTitle);
  OWndLaySetInitialClientRect (m_oiWnd, &m_rcInitClient);
  OWndLaySetHasTitleBar       (m_oiWnd, (m_style & WF_TITLEBAR)      ? TRUE : FALSE);
  OWndLaySetHasSysmenu        (m_oiWnd, (m_style & WF_SYSMENU)       ? TRUE : FALSE);
  OWndLaySetHasMaxbutton      (m_oiWnd, (m_style & WF_MAXBUTTON)     ? TRUE : FALSE);
  OWndLaySetHasMinbutton      (m_oiWnd, (m_style & WF_MINBUTTON)     ? TRUE : FALSE);
  OWndLaySetHasHScroll        (m_oiWnd, (m_style & WF_HORZSCROLL)    ? TRUE : FALSE);
  OWndLaySetHasVScroll        (m_oiWnd, (m_style & WF_VERTSCROLL)    ? TRUE : FALSE);
  OWndLaySetHasResizeFrame    (m_oiWnd, (m_style & WF_RESIZEBORDER)  ? TRUE : FALSE);
  OWndLaySetHasDialogFrame    (m_oiWnd, (m_style & WF_DIALOGFRAME)   ? TRUE : FALSE);
  OWndLaySetIsModal           (m_oiWnd, (m_style & WF_MODAL)         ? TRUE : FALSE);
  OWndLaySetIsPopup           (m_oiWnd, (m_style & WF_ALWAYSONTOP)   ? TRUE : FALSE);
  OWndLaySetIsInitVisible     (m_oiWnd, (m_style & WF_INITVISIBLE)   ? TRUE : FALSE);
  OWndLaySetDrawsSmooth       (m_oiWnd, (m_style & WF_DRAWSMOOTH)    ? TRUE : FALSE);
  OWndLaySetQuitsOnClose      (m_oiWnd, (m_style & WF_QUITONCLOSE)   ? TRUE : FALSE);
  OWndLaySetInitialWindowState(m_oiWnd,  m_nInitCmdShow);
  OWndLaySetMaxSize           (m_oiWnd,  m_ptMaxSize);
  OWndLaySetHasMaxSize        (m_oiWnd,  m_fLimitMaxSize);
  OWndLaySetMinSize           (m_oiWnd,  m_ptMinSize);
  OWndLaySetScrollSize        (m_oiWnd,  m_ptScrollSize);
  OWndLaySetMenuBarID         (m_oiWnd,  m_oiMenu);

  // save the colors and pattern
  clrFG = m_fill.GetTrueFGColor();
  clrBG = m_fill.GetTrueBGColor();
  COPYMEMORY(pattern, FillAttrib::GetFillPattern(-1, &m_fill), sizeof(pattern));
  OWndLaySetColorsAndPattern(m_oiWnd, clrBG, clrFG, clrBG, clrFG, pattern, sizeof(pattern));
  }