1 #ifndef MODES_H 2 #define MODES_H 3 4 // CHDK Camera Mode interface 5 6 // Note: used in modules and platform independent code. 7 // Do not add platform dependent stuff in here (#ifdef/#endif compile options or camera dependent values) 8 9 /******************************************************************/ 10 11 typedef struct { 12 unsigned short hackmode; // platform independent mode values from MODE_xxx enum 13 unsigned short canonmode; // PROPCASE_SHOOTING_MODE value 14 } CapturemodeMap; 15 16 /******************************************************************/ 17 18 #define MODE_SHOOTING_MASK 0x00FF 19 20 #define MODE_MASK 0x0300 21 #define MODE_REC 0x0100 22 #define MODE_PLAY 0x0200 23 24 #define MODE_SCREEN_MASK 0x0C00 25 #define MODE_SCREEN_OPENED 0x0400 26 #define MODE_SCREEN_ROTATED 0x0800 27 28 #define MODE_DISABLE_RAW 0x1000 // Set in modemap to disable RAW / DNG for shooting mode 29 30 /* capture mode constants. These are in their own header for easier sed processing*/ 31 #include "modelist.h" 32 33 // converted large macro to function in platform/generic/shooting.c (philmoz July 2011) 34 extern int mode_is_video(int); 35 #define MODE_IS_VIDEO(m) mode_is_video(m) 36 37 extern int mode_get(); 38 39 /******************************************************************/ 40 41 #endif