|
// ----------------------------------------------------------------------------
//
// Definition of the Class SliceO_Window
//
// ----------------------------------------------------------------------------
class SLICEO_DB SliceO_Window {
private:
unsigned short m_class_id ;
public:
unsigned short Class_Id_Get( void ) ;
unsigned short Class_Class_Get( void ) ;
public:
// --------------- Constructors -------------------------------
SliceO_Window( void) ;
~SliceO_Window( void ) ;
private:
unsigned short m_index ; // index of this window (0...MAX_WINDOW-1)
unsigned char m_display_mode ; // MODE_ALL / MODE_ONE / MODE_3D
unsigned int m_module ;
public:
unsigned int m_module_2D ;
unsigned int m_module_3D ;
unsigned short Id_Get( void ) ;
void Id_Set( unsigned short ) ;
unsigned char Mode_Get( void ) ;
void Mode_Set( unsigned char mode ) ;
unsigned int Module_Get( void ) ;
void Module_Set( unsigned int mode ) ;
public:
unsigned char m_on_off ; // 0 if off
unsigned char m_visible ; // 1 if displayed
UInt64 m_flag_update_a ;
UInt64 m_flag_update_b ;
UInt64 m_flag_redraw ;
unsigned short m_dim_x ; // --- window's dimensions ---
unsigned short m_dim_y ;
Color m_color ;
//private:
Boxs box_box ; // - outside box (include the decoration)
// --- tools for the 2D windows ---
Valuators val_x ; // - horizontal slider under the image
Valuators val_y ; // - vertical slider on the right side
Boxs box_inside ; // - inside box (only the OpenGL graphic)
// --- tools for the 3D windows ---
Matrix m_3D_transfo ;
Matrix m_3D_modelview_clip ;
Matrix m_3D_projection_clip ;
float m_3D_FOV ;
Vect m_3D_camera ;
Vect m_3D_up ;
Vect m_3D_viewport_org ;
Vect m_3D_viewport_dim ;
float m_3D_scale ;
Point_3D m_3D_center ;
// --- associated Windows window ---
HWND m_wind_border ; // - window: including outside decoration
HWND m_wind_draw ; // - window: only the internal graphic region
public:
// ====================================================================
// === System transformations (Wnd to Inf) ===
// ====================================================================
Point_2D Inf_2_Wnd( Point_2D ) ;
Point_2D Wnd_2_Inf( Point_2D ) ;
Region_2D Inf_2_Wnd( Region_2D ) ;
Region_2D Wnd_2_Inf( Region_2D ) ;
} ;
|