00001 //========================================================================== 00018 //-------------------------------------------------------------------------- 00019 // 00020 // libfg - Frame Grabber interface for Linux 00021 // Copyright (c) 2002, 2003 Gavin Baker 00022 // 00023 // This library is free software; you can redistribute it and/or 00024 // modify it under the terms of the GNU Lesser General Public 00025 // License as published by the Free Software Foundation; either 00026 // version 2.1 of the License, or (at your option) any later version. 00027 // 00028 // This library is distributed in the hope that it will be useful, 00029 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00030 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00031 // Lesser General Public License for more details. 00032 // 00033 // You should have received a copy of the GNU Lesser General Public 00034 // License along with this library; if not, write to the Free Software 00035 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00036 // or obtain a copy from the GNU website at http://www.gnu.org/ 00037 // 00038 //========================================================================== 00039 00040 #ifndef __FRAME_H__ 00041 #define __FRAME_H__ 00042 00043 00044 //-------------------------------------------------------------------------- 00054 //-------------------------------------------------------------------------- 00055 00056 typedef struct 00057 { 00058 int width; 00059 int height; 00060 int depth; 00061 int format; 00062 void* data; 00063 00064 } FRAME; 00065 00066 00067 //-------------------------------------------------------------------------- 00071 //-------------------------------------------------------------------------- 00072 00073 typedef struct 00074 { 00075 char red; 00076 char green; 00077 char blue; 00078 } FRAME_RGB; 00079 00080 00081 //-------------------------------------------------------------------------- 00094 //-------------------------------------------------------------------------- 00095 00096 FRAME* frame_new( int width, int height, int format ); 00097 00098 00099 //-------------------------------------------------------------------------- 00105 //-------------------------------------------------------------------------- 00106 00107 void frame_release( FRAME* fr ); 00108 00109 00110 //-------------------------------------------------------------------------- 00116 //-------------------------------------------------------------------------- 00117 00118 void* frame_get_data( FRAME* fr ); 00119 00120 00121 //-------------------------------------------------------------------------- 00127 //-------------------------------------------------------------------------- 00128 00129 int frame_get_size( FRAME* fr ); 00130 00131 00132 //-------------------------------------------------------------------------- 00138 //-------------------------------------------------------------------------- 00139 00140 int frame_get_width( FRAME* fr ); 00141 00142 00143 //-------------------------------------------------------------------------- 00149 //-------------------------------------------------------------------------- 00150 00151 int frame_get_height( FRAME* fr ); 00152 00153 00154 //-------------------------------------------------------------------------- 00161 //-------------------------------------------------------------------------- 00162 00163 int frame_save( FRAME* fr, const char* filename ); 00164 00165 //========================================================================== 00166 00167 #endif /* __FRAME_H__ */