libopenraw

rawfile.h

00001 /*
00002  * libopenraw - rawfile.h
00003  *
00004  * Copyright (C) 2007-2008 Hubert Figuiere
00005  *
00006  * This library is free software: you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public License
00008  * as published by the Free Software Foundation, either version 3 of
00009  * the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library.  If not, see
00018  * <http://www.gnu.org/licenses/>.
00019  */
00020 
00021 
00022 #ifndef __LIBOPENRAW_RAWFILE_H_
00023 #define __LIBOPENRAW_RAWFILE_H_
00024 
00025 #include <libopenraw/types.h>
00026 #include <libopenraw/consts.h>
00027 #include <libopenraw/rawdata.h>
00028 #include <libopenraw/thumbnails.h>
00029 #include <libopenraw/metadata.h>
00030 #include <libopenraw/bitmapdata.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035 
00036 typedef struct _RawFile *ORRawFileRef;
00037 
00042 const char **
00043 or_get_file_extensions();
00044 
00045 ORRawFileRef
00046 or_rawfile_new(const char* filename, or_rawfile_type type);
00047 
00048 ORRawFileRef
00049 or_rawfile_new_from_memory(const uint8_t *buffer, uint32_t len, or_rawfile_type type);
00050 
00051 or_error
00052 or_rawfile_release(ORRawFileRef rawfile);
00053 
00054 or_rawfile_type
00055 or_rawfile_get_type(ORRawFileRef rawfile);
00056 
00058 or_rawfile_typeid
00059 or_rawfile_get_typeid(ORRawFileRef rawfile);
00060 
00061 or_error
00062 or_rawfile_get_thumbnail(ORRawFileRef rawfile, uint32_t preferred_size,
00063                          ORThumbnailRef thumb);
00064 
00065 or_error
00066 or_rawfile_get_rawdata(ORRawFileRef rawfile, ORRawDataRef rawdata, 
00067                            uint32_t options);
00068 
00073 or_error
00074 or_rawfile_get_rendered_image(ORRawFileRef rawfile, ORBitmapDataRef rawdata,
00075                   uint32_t options);
00076 
00077 
00083 int32_t
00084 or_rawfile_get_orientation(ORRawFileRef rawfile);
00085 
00086 #if 0
00087 
00091 ORConstMetaValueRef
00092 or_rawfile_get_metavalue(ORRawFileRef rawfile, int32_t meta_index);
00093 
00099 XmpPtr
00100 or_rawfile_get_xmp(ORRawFileRef rawfile);
00101 
00102 #endif
00103 
00104 #ifdef __cplusplus
00105 }
00106 #endif
00107 
00108 #endif
00109 /*
00110   Local Variables:
00111   mode:c++
00112   c-file-style:"stroustrup"
00113   c-file-offsets:((innamespace . 0))
00114   indent-tabs-mode:nil
00115   fill-column:80
00116   End:
00117 */