⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 videoio_8h-source.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 4 页
字号:
00787     <span class="keyword">virtual</span> BOOL IsOpen();00788 00791     <span class="keyword">virtual</span> BOOL Close();00792 00795     <span class="keyword">virtual</span> <a class="code" href="classPStringList.html">PStringList</a> GetDeviceNames() <span class="keyword">const</span>;00796 00799     <span class="keyword">virtual</span> BOOL EndFrame();00800 00801   <span class="keyword">protected</span>:00802     <span class="keywordtype">unsigned</span>   frameNumber;00803 };00804 00805 <span class="preprocessor">#endif // SHOULD_BE_MOVED_TO_PLUGIN</span>00806 <span class="preprocessor"></span><a name="l00809"></a><a class="code" href="classPVideoInputDevice.html">00809</a> <span class="keyword">class </span><a class="code" href="classPVideoInputDevice.html">PVideoInputDevice</a> : <span class="keyword">public</span> <a class="code" href="classPVideoDevice.html">PVideoDevice</a>00810 {00811   <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(<a class="code" href="classPVideoInputDevice.html">PVideoInputDevice</a>, <a class="code" href="classPVideoDevice.html">PVideoDevice</a>);00812 00813   <span class="keyword">public</span>:00816     <span class="comment">//PVideoInputDevice();</span>00817 <a name="l00820"></a><a class="code" href="classPVideoInputDevice.html#a0">00820</a>     <a class="code" href="classPVideoInputDevice.html#a0">~PVideoInputDevice</a>() { <a class="code" href="classPVideoInputDevice.html#a3">Close</a>(); }00821 00825     <span class="keyword">static</span> <a class="code" href="classPStringList.html">PStringList</a> <a class="code" href="classPVideoInputDevice.html#d0">GetDriverNames</a>(<a class="code" href="classPPluginManager.html">PPluginManager</a> * pluginMgr = NULL);00826 00830     <span class="keyword">static</span> <a class="code" href="classPStringList.html">PStringList</a> <a class="code" href="classPVideoInputDevice.html#d1">GetDriversDeviceNames</a>(00831                                      <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp;driverName,00832                                      <a class="code" href="classPPluginManager.html">PPluginManager</a> * pluginMgr = NULL00833                                      );00834 00838     <span class="keyword">static</span> <a class="code" href="classPVideoInputDevice.html">PVideoInputDevice</a> *<a class="code" href="classPVideoInputDevice.html#d2">CreateDevice</a>(00839                                           <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp;driverName,00840                                           <a class="code" href="classPPluginManager.html">PPluginManager</a> * pluginMgr = NULL00841                                           );00842 00843     <span class="comment">/* Return the matching video input device that corresponds to the devicename.</span>00844 <span class="comment">       So, for "fake" return a device that will generate fake video.</span>00845 <span class="comment">       For "Phillips 680 webcam" (eg) will return appropriate grabber.</span>00846 <span class="comment">       Note that Phillips will return the appropriate grabber also.</span>00847 <span class="comment">     */</span>00848     <span class="keyword">static</span> <a class="code" href="classPVideoInputDevice.html">PVideoInputDevice</a> *<a class="code" href="classPVideoInputDevice.html#d3">CreateDeviceByName</a>(<span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp;<a class="code" href="classPVideoDevice.html#n0">deviceName</a>,00849                                           <a class="code" href="classPPluginManager.html">PPluginManager</a> * pluginMgr = NULL00850                                           );00851 00855     <span class="keyword">static</span> <a class="code" href="classPVideoInputDevice.html">PVideoInputDevice</a> *<a class="code" href="classPVideoInputDevice.html#d4">CreateOpenedDevice</a>(00856                                           <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; driverName,00857                                           <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; <a class="code" href="classPVideoDevice.html#n0">deviceName</a>,00858                                           BOOL startImmediate = TRUE,00859                                           <a class="code" href="classPPluginManager.html">PPluginManager</a> * pluginMgr = NULL00860                                           );00861 00864     <span class="keyword">virtual</span> BOOL <a class="code" href="classPVideoInputDevice.html#a1">CanCaptureVideo</a>() <span class="keyword">const</span>;00865  00868     <span class="keyword">virtual</span> BOOL <a class="code" href="classPVideoInputDevice.html#a2">Open</a>(00869       <span class="keyword">const</span> <a class="code" href="classPString.html">PString</a> &amp; <a class="code" href="classPVideoDevice.html#n0">deviceName</a>,   00870       BOOL startImmediate = TRUE    00871     ) = 0;00872 <a name="l00873"></a><a class="code" href="classPVideoInputDevice.html#a3">00873</a>     <span class="keyword">virtual</span> BOOL <a class="code" href="classPVideoInputDevice.html#a3">Close</a>(00874     ) { <span class="keywordflow">return</span> TRUE; }00875 00878     <span class="keyword">virtual</span> BOOL <a class="code" href="classPVideoInputDevice.html#a4">IsCapturing</a>() = 0;00879 00885     <span class="keyword">virtual</span> PINDEX <a class="code" href="classPVideoInputDevice.html#a5">GetMaxFrameBytes</a>() = 0;00886 00889     <span class="keyword">virtual</span> BOOL <a class="code" href="classPVideoInputDevice.html#a6">GetFrame</a>(00890       <a class="code" href="classPBYTEArray.html">PBYTEArray</a> &amp; frame00891     ) = 0;00892 00895     <span class="keyword">virtual</span> BOOL <a class="code" href="classPVideoInputDevice.html#a7">GetFrameData</a>(00896       BYTE * buffer,                 00897       PINDEX * bytesReturned = NULL  00898     ) = 0;00899 00902     <span class="keyword">virtual</span> BOOL <a class="code" href="classPVideoInputDevice.html#a8">GetFrameDataNoDelay</a>(00903       BYTE * buffer,                 00904       PINDEX * bytesReturned = NULL  00905     ) = 0;00906 00909     <span class="keyword">virtual</span> BOOL <a class="code" href="classPVideoInputDevice.html#a9">TestAllFormats</a>() = 0;00910 };00911 00913 <span class="comment">//</span>00914 <span class="comment">// declare macros and structures needed for video input plugins</span>00915 <span class="comment">//</span>00916 <a name="l00917"></a><a class="code" href="classPVideoInputDevicePluginServiceDescriptor.html">00917</a> <span class="keyword">class </span><a class="code" href="classPVideoInputDevicePluginServiceDescriptor.html">PVideoInputDevicePluginServiceDescriptor</a> : <span class="keyword">public</span> <a class="code" href="classPPluginServiceDescriptor.html">PPluginServiceDescriptor</a>00918 {00919   <span class="keyword">public</span>:<a name="l00920"></a><a class="code" href="classPVideoInputDevicePluginServiceDescriptor.html#a0">00920</a>     <a class="code" href="classPVideoInputDevicePluginServiceDescriptor.html#a0">PVideoInputDevicePluginServiceDescriptor</a>(00921                      <span class="keywordtype">unsigned</span> (*_GetVersion)(),00922                <a class="code" href="classPVideoInputDevice.html">PVideoInputDevice</a> *(*_CreateInstance)(),00923                  <a class="code" href="classPStringList.html">PStringList</a> (*_GetDeviceNames)()00924      )00925     : <a class="code" href="classPPluginServiceDescriptor.html">PPluginServiceDescriptor</a>(_GetVersion),00926       <a class="code" href="classPVideoInputDevicePluginServiceDescriptor.html#m0">CreateInstance</a>(_CreateInstance),00927       <a class="code" href="classPVideoInputDevicePluginServiceDescriptor.html#m1">GetDeviceNames</a>(_GetDeviceNames)00928     { }00929 00930     <a class="code" href="classPVideoInputDevice.html">PVideoInputDevice</a> *(*CreateInstance)();00931     <a class="code" href="classPStringList.html">PStringList</a> (*<a class="code" href="classPVideoInputDevicePluginServiceDescriptor.html#m1">GetDeviceNames</a>) ();00932 };00933 00934 <a name="l00935"></a><a class="code" href="videoio_8h.html#a0">00935</a> <span class="preprocessor">#define PCREATE_VIDINPUT_SERVICE_DESCRIPTOR(className, versionFn) \</span>00936 <span class="preprocessor">PVideoInputDevice * className##_CreateInstance () \</span>00937 <span class="preprocessor">{ \</span>00938 <span class="preprocessor">  return new className; \</span>00939 <span class="preprocessor">} \</span>00940 <span class="preprocessor">\</span>00941 <span class="preprocessor">PStringList className##_GetDeviceNames () \</span>00942 <span class="preprocessor">{ \</span>00943 <span class="preprocessor">  return className::GetInputDeviceNames(); \</span>00944 <span class="preprocessor">} \</span>00945 <span class="preprocessor">\</span>00946 <span class="preprocessor">PVideoInputDevicePluginServiceDescriptor className##_descriptor(\</span>00947 <span class="preprocessor">   versionFn, \</span>00948 <span class="preprocessor">   className##_CreateInstance, \</span>00949 <span class="preprocessor">   className##_GetDeviceNames \</span>00950 <span class="preprocessor">); \</span>00951 <span class="preprocessor"></span><a name="l00952"></a><a class="code" href="videoio_8h.html#a1">00952</a> <span class="preprocessor"></span><span class="preprocessor">#define PCREATE_VIDINPUT_PLUGIN(name, className) \</span>00953 <span class="preprocessor">PCREATE_PLUGIN_VERSION_FN(name, PVideoInputDevice) \</span>00954 <span class="preprocessor">PCREATE_VIDINPUT_SERVICE_DESCRIPTOR(className, PPLUGIN_VERSION_FN(name, PVideoInputDevice)) \</span>00955 <span class="preprocessor">PCREATE_PLUGIN(name, PVideoInputDevice, &amp;className##_descriptor)</span>00956 <span class="preprocessor"></span>00958 <span class="comment">//</span>00959 <span class="comment">// declare macros and structures needed for video output plugins</span>00960 <span class="comment">//</span>00961 <a name="l00962"></a><a class="code" href="classPVideoOutputDevicePluginServiceDescriptor.html">00962</a> <span class="keyword">class </span><a class="code" href="classPVideoOutputDevicePluginServiceDescriptor.html">PVideoOutputDevicePluginServiceDescriptor</a> : <span class="keyword">public</span> <a class="code" href="classPPluginServiceDescriptor.html">PPluginServiceDescriptor</a>00963 {00964   <span class="keyword">public</span>:<a name="l00965"></a><a class="code" href="classPVideoOutputDevicePluginServiceDescriptor.html#a0">00965</a>     <a class="code" href="classPVideoOutputDevicePluginServiceDescriptor.html#a0">PVideoOutputDevicePluginServiceDescriptor</a>(00966                      <span class="keywordtype">unsigned</span> (*_GetVersion)(),00967                <a class="code" href="classPVideoOutputDevice.html">PVideoOutputDevice</a> *(*_CreateInstance)(),00968                  <a class="code" href="classPStringList.html">PStringList</a> (*_GetDeviceNames)()00969      )00970     : <a class="code" href="classPPluginServiceDescriptor.html">PPluginServiceDescriptor</a>(_GetVersion),00971       <a class="code" href="classPVideoOutputDevicePluginServiceDescriptor.html#m0">CreateInstance</a>(_CreateInstance),00972       <a class="code" href="classPVideoOutputDevicePluginServiceDescriptor.html#m1">GetDeviceNames</a>(_GetDeviceNames)00973     { }00974 00975     <a class="code" href="classPVideoOutputDevice.html">PVideoOutputDevice</a> *(*CreateInstance)();00976     <a class="code" href="classPStringList.html">PStringList</a> (*<a class="code" href="classPVideoOutputDevicePluginServiceDescriptor.html#m1">GetDeviceNames</a>) ();00977 };00978 00979 <a name="l00980"></a><a class="code" href="videoio_8h.html#a2">00980</a> <span class="preprocessor">#define PCREATE_VIDOUTPUT_SERVICE_DESCRIPTOR(className, versionFn) \</span>00981 <span class="preprocessor">PVideoOutputDevice * className##_CreateInstance () \</span>00982 <span class="preprocessor">{ \</span>00983 <span class="preprocessor">  return new className; \</span>00984 <span class="preprocessor">} \</span>00985 <span class="preprocessor">\</span>00986 <span class="preprocessor">PStringList className##_GetDeviceNames () \</span>00987 <span class="preprocessor">{ \</span>00988 <span class="preprocessor">  return className::GetOutputDeviceNames(); \</span>00989 <span class="preprocessor">} \</span>00990 <span class="preprocessor">\</span>00991 <span class="preprocessor">PVideoOutputDevicePluginServiceDescriptor className##_descriptor(\</span>00992 <span class="preprocessor">   versionFn, \</span>00993 <span class="preprocessor">   className##_CreateInstance, \</span>00994 <span class="preprocessor">   className##_GetDeviceNames \</span>00995 <span class="preprocessor">); \</span>00996 <span class="preprocessor"></span><a name="l00997"></a><a class="code" href="videoio_8h.html#a3">00997</a> <span class="preprocessor"></span><span class="preprocessor">#define PCREATE_VIDOUTPUT_PLUGIN(name, className) \</span>00998 <span class="preprocessor">PCREATE_PLUGIN_VERSION_FN(name, PVideoOutputDevice) \</span>00999 <span class="preprocessor">PCREATE_VIDOUTPUT_SERVICE_DESCRIPTOR(className, PPLUGIN_VERSION_FN(name, PVideoOutputDevice)) \</span>01000 <span class="preprocessor">PCREATE_PLUGIN(name, PVideoOutputDevice, &amp;className##_descriptor)</span>01001 <span class="preprocessor"></span>01002 <span class="preprocessor">#endif   // _PVIDEOIO</span>01003 <span class="preprocessor"></span>01004 <span class="comment">// End Of File ///////////////////////////////////////////////////////////////</span></pre></div><hr><address style="align: right;"><small>Generated on Wed Sep 29 22:44:12 2004 for PWLib by<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0 width=110 height=53></a>1.2.18 </small></address></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -