source: svn/trunk/zas_dstar/hal/include/dsthal_photoview.h @ 2

Last change on this file since 2 was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
File size: 2.6 KB
Line 
1#ifndef __DSTHAL_PHOTOVIEW_H__
2#define __DSTHAL_PHOTOVIEW_H__
3
4#if defined __cplusplus
5extern "C" {
6#endif
7
8
9#define ThumbnailResoltuion 180
10#define JpegResolution 1366
11
12#define ThumbnailFrameSize 200
13
14typedef enum
15{
16        En_IFD_0,
17        En_ExifIFD,
18        En_GPSIFD,
19        En_Interoperability, 
20        En_IFD_1,
21        En_UnknownIFD
22} En_IFDState; 
23
24
25typedef struct ExifInfo
26{
27        DS_U16 ExifTagNumber;
28        DS_U16 DataFormat;
29        DS_U32 nComponent;
30        DS_U32 OffsetData;
31        char * EntryValue; 
32
33        struct  ExifInfo *next;
34        DS_U16   ThumbnailWidth;
35        DS_U16   ThumbnailHeight;
36        char**  ThumbnailImage;
37
38        En_IFDState en_IfdState;
39        DS_U32  entAddr; 
40        DS_U8    ThumbnailFreed;
41}   ExifInfo; 
42
43
44typedef struct JpgFileInfo
45{
46        char Name[256];
47        DS_U16 Index;
48        DS_U32 JpgFileSize;
49        time_t JpgModiTime;
50        DS_U32 ImgWidthSize;    // jpg ³Êºñ
51        DS_U32 ImgHeightSize;           // jpg ³ô?Ì
52        DS_U8  RotationInfo;    // rotation Á¤º¸
53        ExifInfo *exifInfo;
54        struct JpgFileInfo *prev;
55        struct JpgFileInfo *next;
56        DS_U32 pitch;
57        DS_U8  JpegRotateInfo;
58        DS_U8  ThmRotateInfo;
59        DS_U8  NoDraw;
60}JpgFileInfo;
61
62DS_U16 get_thumbnail_pitch(void);
63
64int JpegDec(DS_BOOL get_exif_info, char *ThumbFN, char b_GetThumbnail, JpgFileInfo *pfile);
65
66typedef enum
67{
68        MoveUp,
69        MoveDown,
70        MoveLeft,
71        MoveRight
72}Direction;
73
74typedef enum
75{
76        ZoomIn,
77        ZoomOut
78}ZoomStatus;
79
80typedef enum
81{
82        EnRotate0,
83        EnRotate90,
84        EnRotate180,
85        EnRotate270, 
86        EnRotateEnd
87}EnRotate;
88
89typedef enum JpegMsgID
90{
91        JPEG_MSG_USB_STATUS=0,
92        JPEG_MSG_FILE_LIST_STATUS,
93        JPEG_MSG_JPEG_DECODE_STATUS,
94}JpegMsgID;
95
96typedef enum Status_MsgID
97{
98        STATUS_MSG_USB_UN_MOUNT_COMPLETE = 0,
99        STATUS_MSG_USB_UN_MOUNT_FAILED,
100        STATUS_MSG_USB_MOUNT_COMPLETE,
101        STATUS_MSG_USB_MOUNT_FAILED,
102        STATUS_MSG_FILE_LIST_COMPLETE,
103        STATUS_MSG_FILE_LIST_UNCOMPLETE,
104}Status_MsgID;
105
106typedef struct JpegEvent
107{
108        JpegMsgID msgID;
109}JpegEvent;
110
111typedef struct JpegEvent_Usb
112{
113        JpegEvent mID;
114        Status_MsgID UsbStatus; // 0: UnMount Succes, 1: UnMount Failed, 2: Mount Success, 3: Mount Failed
115       
116}JpegEvent_Usb;
117
118typedef struct JpegEvent_FileList
119{
120        JpegEvent mID;
121        Status_MsgID FileListStatus;    // 4: File List Complete
122        DS_U32 JpgFileNum;      // Jpg file number
123}JpegEvent_FileList;
124
125typedef struct JpegEvent_JpegDec
126{
127        JpegEvent mID;
128        DS_U32 CurProgress;     
129}JpegEvent_JpegDec;
130
131typedef struct tag_UsbEvMsg
132{
133        Status_MsgID cmd;
134} UsbEvMsg;
135
136void dhl_set_jpeg_callback(void(*func)(JpegEvent*));
137
138typedef enum
139{
140        ExifByte = 1,
141        ExifAscii,
142        ExifShort,
143        ExifLong,
144        ExifRational,
145        ExifUndefined = 7,
146        ExifSLong = 9,
147        ExifSRational 
148} ExifType;
149
150typedef enum{
151        en_NoThumbnail,
152        en_ThumbnailExist,
153        en_ThumbnailFree,
154        en_ThumbnailKeepIt
155}enThumbImageFlag;
156
157#if defined __cplusplus
158}
159#endif
160
161
162#endif
Note: See TracBrowser for help on using the repository browser.