Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#ifndef CHOREOWIDGET_H
#define CHOREOWIDGET_H
#ifdef _WIN32
#pragma once
#endif
#include <mxtk/mx.h>
class CChoreoView; class CChoreoScene; class CChoreoWidgetDrawHelper;
//-----------------------------------------------------------------------------
// Purpose: CChoreoWidgets are mxWindows that we show in the Choreography view area
// so that we can manipulate them with the mouse. The widgets follow the scene
// hierarchy of actors/channels/events, without having to hang off of the underlying
// data. They are just for the UI.
//-----------------------------------------------------------------------------
class CChoreoWidget { public: // memory handling, uses calloc so members are zero'd out on instantiation
void *operator new( size_t stAllocateBlock ); void operator delete( void *pMem );
CChoreoWidget( CChoreoWidget *parent ); virtual ~CChoreoWidget( void );
// All widgets implement these pure virtuals
// Called to force a widget to create its children based on the scene data
virtual void Create( void ) = 0; // Force widget to redo layout of self and any children
virtual void Layout( RECT& rc ) = 0; // Redraw the widget
virtual void redraw( CChoreoWidgetDrawHelper& drawHelper ) = 0; // Don't overdraw background
virtual bool PaintBackground( void ) { return false; }; // Determine height to reserver for widget ( Actors can be expanded or collapsed, e.g. )
virtual int GetItemHeight( void );
virtual void LocalToScreen( int& mx, int& my );
virtual bool IsSelected( void ); virtual void SetSelected( bool selected );
virtual void setBounds( int x, int y, int w, int h ); virtual int x( void ); virtual int y( void ); virtual int w( void ); virtual int h( void ); virtual CChoreoWidget *getParent( void ); virtual void setVisible( bool visible ); virtual bool getVisible( void );
virtual void getBounds( RECT& bounds ); virtual RECT &getBounds( void );
// Globally accessible scene and view pointers
static CChoreoScene *m_pScene; static CChoreoView *m_pView;
private: bool m_bSelected; bool m_bVisible;
RECT m_rcBounds;
protected: CChoreoWidget *m_pParent; };
#endif // CHOREOWIDGET_H
|