Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

phGDIImageWindow.h

Go to the documentation of this file.
00001 /* ---------------------------------------------------------------------------
00002     Phission : 
00003         Realtime Vision Processing System
00004     
00005     Copyright (C) 2003-2006 Philip D.S. Thoren (pthoren@cs.uml.edu)
00006     University of Massachusetts at Lowell,
00007     Laboratory for Artificial Intelligence and Robotics
00008     
00009     This file is part of Phission.
00010 
00011     Phission is free software; you can redistribute it and/or modify
00012     it under the terms of the GNU Lesser General Public License as published by
00013     the Free Software Foundation; either version 2 of the License, or
00014     (at your option) any later version.
00015 
00016     Phission is distributed in the hope that it will be useful,
00017     but WITHOUT ANY WARRANTY; without even the implied warranty of
00018     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019     GNU Lesser General Public License for more details.
00020 
00021     You should have received a copy of the GNU Lesser General Public License
00022     along with Phission; if not, write to the Free Software
00023     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00024 
00025  ---------------------------------------------------------------------------*/
00026 #ifndef _PHGDIIMAGEWINDOW_H
00027 #define _PHGDIIMAGEWINDOW_H
00028 
00029 #include <phImageWindow.h>
00030 
00031 /* ------------------------------------------------------------------------- */
00037 /* ------------------------------------------------------------------------- */
00038 typedef struct phGDIWindowInfo_t        *phGDIWindowInfo;
00039 typedef struct phGDIHandlerParameters_t *phGDIHandlerParameters;
00040 
00041 /* ------------------------------------------------------------------------- */
00046 PHAPI(class) phGDIImageWindow : public phImageWindow
00047 {
00048 private:
00049     int32_t m_frames;
00050 
00051     phGDIWindowInfo m_info;
00052 
00053     int m_show_first;
00054     int init_window     ();
00055     int destroy_window  ();
00056     int alloc_bitmap    ();
00057     int free_bitmap     ();
00058     int verify_bitmap   ( int forced_realloc = 0 );
00059 
00060     int m_minimized;
00061 
00062     /* Display settings */
00063     int     set_display_info();
00064     int     reset_display_info();
00065     int32_t m_planes;
00066     int32_t m_bitspixel;
00067     int32_t m_bitdepth;
00068     int32_t m_dib_bitdepth;
00069     int32_t m_dib_depth;
00070     int32_t m_red_mask;
00071     int32_t m_green_mask;
00072     int32_t m_blue_mask;
00073     int32_t m_red_smask;
00074     int32_t m_green_smask;
00075     int32_t m_blue_smask;
00076 
00077     int32_t m_red_shift;
00078     int32_t m_green_shift;
00079     int32_t m_blue_shift;
00080 
00081     void   *m_palette;
00082 
00083     /* Overloading the pure virtual functions from phImageWindow */
00084     /* These functions merely send an event to be handled by the 
00085      * event thread. If the event thread isn't running, then these
00086      * will likely do nothing. */
00087     virtual int private_show();
00088     virtual int private_hide();
00089 
00090     virtual int private_redraw  ();
00091     virtual int private_update  ();
00092     virtual int private_resize  ( uint32_t w,     uint32_t h    );
00093     virtual int private_move    ( int32_t  x,     int32_t  y    );
00094     virtual int private_minsize ( uint32_t min_w, uint32_t min_h);
00095 
00096     int gui_show();
00097     int gui_hide();
00098 
00099     int gui_redraw  ();
00100     int gui_update  ();
00101     int gui_resize  ( uint32_t w,     uint32_t h     );
00102     int gui_move    ( int32_t  x,     int32_t  y     );
00103     int gui_minsize ( uint32_t min_w, uint32_t min_h );
00104    
00105     /* phThread stuff & wakeups */
00106     int sendWakeup();
00107     virtual int wakeup  ();
00108     virtual int cleanup ();
00109     virtual int run     ();
00110  
00111 public:
00112     phGDIImageWindow( int32_t  x, int32_t  y,
00113                       uint32_t w, uint32_t h,
00114                       char    *title,
00115                       uint32_t flags = phNOFLAG );
00116     virtual ~phGDIImageWindow();
00117 
00118    
00119     int64_t handle_message(phGDIHandlerParameters params);
00120    
00121     virtual int isOpen();
00122 
00123     virtual int setTitle(const char *title);
00124 };
00125  /* end \addtogroup Display */
00127 
00128 #endif /* _PHGDIIMAGEWINDOW_H */




Copyright (C) 2002 - 2007 Philip D.S. Thoren ( pthoren@users.sourceforge.net )
University Of Massachusetts at Lowell
Robotics Lab
SourceForge.net Logo

Generated on Sat Jun 16 02:44:03 2007 for phission by  doxygen 1.4.4