Fawkes API  Fawkes Development Version
image_display.h
1 
2 /***************************************************************************
3  * image_display.h - widget to display an image based on SDL
4  *
5  * Created: Mon Nov 05 13:49:20 2007
6  * Copyright 2007 Tim Niemueller [www.niemueller.de]
7  *
8  ****************************************************************************/
9 
10 /* This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version. A runtime exception applies to
14  * this software (see LICENSE.GPL_WRE file mentioned below for details).
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU Library General Public License for more details.
20  *
21  * Read the full text in the LICENSE.GPL_WRE file in the doc directory.
22  */
23 
24 #ifndef __FIREVISION_FVWIDGETS_IMAGE_DISPLAY_H_
25 #define __FIREVISION_FVWIDGETS_IMAGE_DISPLAY_H_
26 
27 #include <fvutils/color/colorspaces.h>
28 
29 typedef struct SDL_Surface SDL_Surface;
30 typedef struct SDL_Overlay SDL_Overlay;
31 typedef struct SDL_Rect SDL_Rect;
32 
33 namespace firevision {
34 #if 0 /* just to make Emacs auto-indent happy */
35 }
36 #endif
37 
39 {
40  public:
41  ImageDisplay(unsigned int width, unsigned int height, const char* title = 0);
42  ~ImageDisplay();
43 
44  void show(colorspace_t colorspace, unsigned char *buffer);
45  void show(unsigned char *yuv422_planar_buffer);
46 
47  void process_events(unsigned int max_num_events = 10);
48  void loop_until_quit();
49 
50  private:
51  SDL_Surface *_surface;
52  SDL_Overlay *_overlay;
53  SDL_Rect *_rect;
54 
55  unsigned int _width;
56  unsigned int _height;
57 };
58 
59 } // end namespace firevision
60 
61 #endif
Simple image display.
Definition: image_display.h:38
void process_events(unsigned int max_num_events=10)
Process a few SDL events.
void loop_until_quit()
Process SDL events until quit.
void show(colorspace_t colorspace, unsigned char *buffer)
Show image from given colorspace.
ImageDisplay(unsigned int width, unsigned int height, const char *title=0)
Constructor.