Скачиваний:
28
Добавлен:
02.05.2014
Размер:
3.51 Кб
Скачать
// TextureDoc.cpp : implementation of the CTextureDoc class
//

#include "stdafx.h"
#include "Texture.h"

#include "TextureView.h"
#include "TextureDoc.h"

#define MAXPALCOLORS 256

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CTextureDoc

IMPLEMENT_DYNCREATE(CTextureDoc, CDocument)

BEGIN_MESSAGE_MAP(CTextureDoc, CDocument)
	//{{AFX_MSG_MAP(CTextureDoc)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTextureDoc construction/destruction

CTextureDoc::CTextureDoc()
{
}

CTextureDoc::~CTextureDoc()
{
}

BOOL CTextureDoc::OnNewDocument()
{
	if (!CDocument::OnNewDocument())
		return FALSE;

	return TRUE;
}



/////////////////////////////////////////////////////////////////////////////
// CTextureDoc serialization

void CTextureDoc::Serialize(CArchive& ar)
{
/*  CFile *pFile;
  WORD nNumColors;
  DWORD dwLen, dwDWMasks;
  HANDLE hbi;
  BITMAPFILEHEADER bfh;
  BITMAPINFOHEADER bih;
  BITMAPCOREHEADER bch;
  LPRGBQUAD          lprgbq;
  LPBITMAPINFOHEADER lpbih;

	if (ar.IsStoring())
	{
	}
	else
	{
    pFile = ar.GetFile();
    dwLen = pFile->GetLength();
    pFile->Seek(0L, (UINT)SEEK_CUR);
    pFile->Read(&bfh, sizeof(BITMAPFILEHEADER));
    if(bfh.bfType != 0x4D42)
      return;
    pFile->Read(&bih, sizeof(BITMAPFILEHEADER));
    
    if(INT)bih.biSize) != sizeof (BITMAPINFOHEADER))
      // Здесь можно вставить дополнительные проверки
      // на формат файлов Presentation Manager
      return;
    }
*/        /*  Fill in some default values if they are zero */
/*    if(bih.biSizeImage == 0){
      bih.biSizeImage =
        ((((DWORD)bih.biWidth * bih.biBitCount) * bih.biHeight) +
                31) >> 5) << 2;
    }

    if(bih.biClrUsed == 0)
      if(bih->biBitCount > 8)
        bih.biClrUsed = 0;
      else
        bih.biClrUsed = (1 << lpbch->bcBitCount);

    // Выделяем память для структуры BITMAPINFO и
    // таблицы цветов
    if((bih.biBitCount == 16) || (bih.biBitCount == 32))
      dwDWMasks = sizeof(DWORD) * 3;
    hbi = GlobalAlloc(GPTR,
       (LONG)bih.biSize + bih.biClrUsed * sizeof(RGBQUAD) + dwDWMasks);
    if(!hbi)
      return;
    lpbih = (LPBITMAPINFOHEADER)hbi;
    *lpbih = bih;
*/
    /* Get a pointer to the color table */
/*    lprgbq = (LPRGBQUAD)((LPSTR)lpbih + bih.biSize);
    if(bih.biClrUsed){
      pFile->Read((LPSTR)lprgbq,
                  (UINT)bih.biClrUsed * sizeof(RGBQUAD));
    }
    else
      if(dwDWMasks)
        pFile->Read((LPSTR)lprgbq, dwDWMasks);

    if(bfh.bfOffBits != 0L){
      pFile->Seek(bf.bfOffBits, (UINT)SEEK_CUR);
    }
    
    //pFile->Read(&bfh.bfType, sizeof(WORD));
    //pFile->Read(&bfh.bfSize, sizeof(DWORD)*3);
	}
*/
}

/////////////////////////////////////////////////////////////////////////////
// CTextureDoc diagnostics

#ifdef _DEBUG
void CTextureDoc::AssertValid() const
{
	CDocument::AssertValid();
}

void CTextureDoc::Dump(CDumpContext& dc) const
{
	CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CTextureDoc commands


BOOL CTextureDoc::OnOpenDocument(LPCTSTR lpszPathName) 
{
	if (!CDocument::OnOpenDocument(lpszPathName))
		return FALSE;

  return TRUE;
}
Соседние файлы в папке Texture