Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

plmemsrc.cpp

Go to the documentation of this file.
00001 /*
00002 /--------------------------------------------------------------------
00003 |
00004 |      $Id: plmemsrc.cpp,v 1.1 2004/05/21 21:02:52 maxx Exp $
00005 |      Memory Data Source Class
00006 |
00007 |      This is a class which takes a memory region as a source of
00008 |      picture data.
00009 |      Original author: Patrick Strömstedt.
00010 |
00011 |      Copyright (c) 1996-1998 Ulrich von Zadow
00012 |
00013 \--------------------------------------------------------------------
00014 */
00015 
00016 #include "plstdpch.h"
00017 
00018 #include "plmemsrc.h"
00019 #include "plexcept.h"
00020 
00021 
00022 PLMemSource::PLMemSource()
00023   : PLDataSource (NULL), // No progress notification nessesary when
00024                         // reading from memory.
00025     m_pCurPos(NULL)
00026 {
00027 }
00028 
00029 PLMemSource::~PLMemSource
00030     ()
00031 {
00032   if (m_pCurPos)
00033     Close();
00034 }
00035 
00036 int PLMemSource::Open (unsigned char *pek, int size)
00037 {
00038   PLDataSource::Open ("Mem", size);
00039   m_pCurPos = pek;
00040   return 0;
00041 }
00042 
00043 void PLMemSource::Close
00044     ()
00045 {
00046   m_pCurPos = NULL;
00047   PLDataSource::Close();
00048 }
00049 
00050 
00051 PLBYTE * PLMemSource::ReadNBytes
00052     ( int n
00053     )
00054 {
00055   PLDataSource::ReadNBytes(n);
00056 
00057   m_pCurPos += n;
00058   return m_pCurPos-n;
00059 }
00060 
00061 
00062 PLBYTE * PLMemSource::ReadEverything
00063     ()
00064 {
00065   return m_pCurPos;  // ;-)
00066 }
00067 
00068 // Read but don't advance file pointer.
00069 PLBYTE * PLMemSource::GetBufferPtr
00070     ( int MinBytesInBuffer
00071     )
00072 {
00073   return m_pCurPos;
00074 }
00075 
00076 /*
00077 /--------------------------------------------------------------------
00078 |
00079 |      $Log: plmemsrc.cpp,v $
00080 |      Revision 1.1  2004/05/21 21:02:52  maxx
00081 |      Initial Version of vuVolume, moderatly changed to make it compile on my windows and linux machine.
00082 |
00083 |      Revision 1.1  2002/11/13 01:58:21  mspindle
00084 |      *** empty log message ***
00085 |
00086 |      Revision 1.3  2001/10/16 17:12:26  uzadow
00087 |      Added support for resolution information (Luca Piergentili)
00088 |
00089 |      Revision 1.2  2001/10/06 22:37:08  uzadow
00090 |      Linux compatibility.
00091 |
00092 |      Revision 1.1  2001/09/16 19:03:22  uzadow
00093 |      Added global name prefix PL, changed most filenames.
00094 |
00095 |      Revision 1.2  2001/02/04 14:31:52  uzadow
00096 |      Member initialization list cleanup (Erik Hoffmann).
00097 |
00098 |      Revision 1.1  2000/03/17 10:51:38  Ulrich von Zadow
00099 |      no message
00100 |
00101 |
00102 \--------------------------------------------------------------------
00103 */

Generated on Wed Dec 15 21:20:30 2004 for vuVolume by  doxygen 1.3.9.1