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 */