Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members

plressrc.h

00001 /*
00002 /--------------------------------------------------------------------
00003 |
00004 |      $Id: plressrc_8h-source.html,v 1.2 2004/09/15 15:26:32 uzadow Exp $
00005 |
00006 |      Copyright (c) 1996-2002 Ulrich von Zadow
00007 |
00008 \--------------------------------------------------------------------
00009 */
00010 
00011 #ifndef INCL_RESSRC
00012 #define INCL_RESSRC
00013 
00014 #ifndef INCL_PLDATASRC
00015 #include "pldatasrc.h"
00016 #endif
00017 #include "plpaintlibdefs.h"
00018 
00019 #ifdef _WINDOWS
00020   // TODO: This is really just to define HANDLE. 
00021   #define WIN32_LEAN_AND_MEAN  /* Prevent including <winsock*.h> in <windows.h> */
00022   #define VC_EXTRALEAN  // Exclude rarely-used stuff from Windows headers
00023   #include <windows.h>
00024 #endif
00025 
00026 //! This is a class which takes a windows resource as a source of
00027 //! picture data.
00028 class PLResourceSource : public PLDataSource
00029 {
00030 public:
00031   //!
00032   PLResourceSource
00033     ();
00034 
00035   //!
00036   virtual ~PLResourceSource
00037     ();
00038 
00039   //!
00040   virtual int Open
00041     ( HINSTANCE lh_ResInst, int ResourceID,
00042       const char * pResType = NULL
00043     );
00044 
00045   //!
00046   virtual void Close
00047     ();
00048 
00049   virtual PLBYTE * ReadNBytes
00050     ( int n
00051     );
00052 
00053   //! Read but don't advance file pointer.
00054   virtual PLBYTE * GetBufferPtr
00055     ( int MinBytesInBuffer
00056     );
00057 
00058   //! This is a legacy routine that interferes with progress notifications.
00059   //! Don't call it!
00060   virtual PLBYTE * ReadEverything
00061     ();
00062 
00063   //!
00064   virtual void Seek
00065     ( int n
00066     );
00067     
00068 private:
00069   HRSRC   m_hRsrc;
00070   HGLOBAL m_hGlobal;
00071   PLBYTE * m_pCurPos;
00072   PLBYTE * m_pStartPos;
00073 };
00074 
00075 #endif
00076 /*
00077 /--------------------------------------------------------------------
00078 |
00079 |      $Log: plressrc_8h-source.html,v $
00079 |      Revision 1.2  2004/09/15 15:26:32  uzadow
00079 |      Linux compatibility changes, doc update.
00079 |
00080 |      Revision 1.6  2004/09/11 12:41:37  uzadow
00081 |      removed plstdpch.h
00082 |
00083 |      Revision 1.5  2004/08/20 19:54:45  uzadow
00084 |      no message
00085 |
00086 |      Revision 1.4  2003/08/03 12:03:22  uzadow
00087 |      Added unicode support; fixed some header includes.
00088 |
00089 |      Revision 1.3  2002/03/31 13:36:42  uzadow
00090 |      Updated copyright.
00091 |
00092 |      Revision 1.2  2001/10/06 22:03:26  uzadow
00093 |      Added PL prefix to basic data types.
00094 |
00095 |      Revision 1.1  2001/09/16 19:03:23  uzadow
00096 |      Added global name prefix PL, changed most filenames.
00097 |
00098 |      Revision 1.5  2000/01/16 20:43:18  anonymous
00099 |      Removed MFC dependencies
00100 |
00101 |      Revision 1.4  2000/01/11 22:07:11  Ulrich von Zadow
00102 |      Added instance handle parameter.
00103 |
00104 |      Revision 1.3  1999/11/02 21:20:14  Ulrich von Zadow
00105 |      AfxFindResourceHandle statt AfxGetInstanceHandle
00106 |      verwendet.
00107 |
00108 |
00109 \--------------------------------------------------------------------
00110 */

Generated on Mon Sep 13 16:16:40 2004 for paintlib by doxygen 1.3.2