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

phImageWindow Class Reference
[DisplayThread Safe]

#include <phImageWindow.h>

Inheritance diagram for phImageWindow:

phThread phCondition phMutex phObject phFLImageWindow phGDIImageWindow phNetImageWindow phSDLImageWindow phX11ImageWindow List of all members.

Detailed Description

todo.

There are three classes of methods for controlling image windows:

  1. Public callable methods
    These methods simply call down to the private method which is implemented in an inheriting child class. This allows the private_ methods to stay in C++ private scope.
  2. Private API specific methods that are called from the Public methods
    These are methods which can either call GUI methods or are responsible for signalling the image window thread to perform an action. The image window thread then calls the GUI methods. Before the private method is called, the 'this' object is locked to provide exclusive access. The lock can be released in the private method if waiting on the image window thread is necessary; this prevents deadlocks. It should be assumed that the lock was acquired if the private_ method was called.
  3. GUI methods that are called from the inheriting child class
    These implement specifc GUI functionality directly without communication between two threads. A gui_ method should lock itself and not expect the 'this' mutex to have been acquired. However, it is possible that it could have been acquired.

Todo:
add fitToImage

Definition at line 65 of file phImageWindow.h.

Public Member Functions

 phImageWindow (int32_t x, int32_t y, uint32_t w, uint32_t h, char *title, uint32_t flags=phNOFLAG)
virtual ~phImageWindow ()
virtual void show ()
virtual void hide ()
virtual int redraw ()
virtual int update ()
virtual int resize (uint32_t w, uint32_t h)
virtual int move (int32_t x, int32_t y)
virtual int isOpen ()=0
const char * getTitle ()
virtual int setTitle (const char *title)
virtual int setMinSize (const phUSize &s)
virtual int setMinSize (uint32_t w, uint32_t h)
virtual phUSize getMinSize ()
virtual uint32_t getWidth ()
virtual uint32_t getHeight ()
virtual phUSize getSize ()
virtual int32_t getX ()
virtual int32_t getY ()
virtual phPoint getLocation ()
virtual phImagegetImage ()
virtual int setFormats (uint32_t formats)
uint32_t getFormats ()
float getFps ()

Protected Member Functions

virtual int private_show ()=0
virtual int private_hide ()=0
virtual int private_redraw ()=0
virtual int private_update ()=0
virtual int private_resize (uint32_t w, uint32_t h)=0
virtual int private_move (int32_t x, int32_t y)=0
virtual int private_minsize (uint32_t min_w, uint32_t min_h)=0
int tickFrame ()

Protected Attributes

phTimeInterval m_timer
int32_t m_frames
float m_fps
uint32_t m_min_width
uint32_t m_min_height
int32_t m_x
int32_t m_y
uint32_t m_w
uint32_t m_h
phImage m_image
uint32_t m_formats
char * m_title
uint32_t m_title_size


The documentation for this class was generated from the following files:



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:55 2007 for phission by  doxygen 1.4.4