ArDrone SDK 1.8 added
[mardrone] / mardrone / ARDrone_SDK_Version_1_8_20110726 / Examples / Linux / Navigation / Sources / ihm / ihm_stages_o_gtk.h
1 #ifndef _IHM_STAGES_O_GTK_H
2 #define _IHM_STAGES_O_GTK_H
3
4 #include <config.h>
5 #include <VP_Api/vp_api_thread_helper.h>
6 #ifdef PC_USE_VISION
7 #    include <Vision/vision_tracker_engine.h>
8 #    include <Vision/vision_patch_detect.h>
9 #        include <VLIB/video_controller.h>
10 #        include <ardrone_tool/Video/vlib_stage_decode.h>
11 #endif
12
13 #define NUM_MAX_SCREEN_POINTS (DEFAULT_NB_TRACKERS_WIDTH * DEFAULT_NB_TRACKERS_HEIGHT)
14
15 #ifdef PC_USE_VISION
16 typedef struct _vp_stages_draw_trackers_config_t {
17
18   int32_t         num_points;
19   uint32_t        locked[NUM_MAX_SCREEN_POINTS];
20   screen_point_t  points[NUM_MAX_SCREEN_POINTS];
21
22   uint32_t         detected;
23   patch_ogb_type_t type[4];
24   screen_point_t   patch_center[4];
25   uint32_t         width[4];
26   uint32_t         height[4];
27
28   vlib_stage_decoding_config_t * last_decoded_frame_info;
29
30 } vp_stages_draw_trackers_config_t;
31
32 void set_draw_trackers_config(vp_stages_draw_trackers_config_t* cfg);
33 #endif
34
35 typedef  struct _vp_stages_gtk_config_ {
36   int max_width;
37   int max_height;
38   int rowstride;
39   void * last_decoded_frame_info;
40 }  vp_stages_gtk_config_t;
41
42 void update_vision( void );
43
44 void *ihm_stages_vision(void *data);
45
46 PROTO_THREAD_ROUTINE(ihm_stages_vision, data);
47
48 #endif // _IHM_STAGES_O_GTK_H