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.
164 lines
3.9 KiB
164 lines
3.9 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose:
|
||
|
//
|
||
|
// $NoKeywords: $
|
||
|
//=============================================================================//
|
||
|
#include <stdio.h>
|
||
|
#include "choreowidget.h"
|
||
|
#include "choreoview.h"
|
||
|
|
||
|
// Static elements
|
||
|
CChoreoScene *CChoreoWidget::m_pScene = NULL;
|
||
|
CChoreoView *CChoreoWidget::m_pView = NULL;
|
||
|
|
||
|
static int widgets = 0;
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// CChoreoWidget new/delete
|
||
|
// All fields in the object are all initialized to 0.
|
||
|
//-----------------------------------------------------------------------------
|
||
|
void *CChoreoWidget::operator new( size_t stAllocateBlock )
|
||
|
{
|
||
|
widgets++;
|
||
|
// call into engine to get memory
|
||
|
Assert( stAllocateBlock != 0 );
|
||
|
return calloc( 1, stAllocateBlock );
|
||
|
};
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose:
|
||
|
// Input : *pMem -
|
||
|
//-----------------------------------------------------------------------------
|
||
|
void CChoreoWidget::operator delete( void *pMem )
|
||
|
{
|
||
|
widgets--;
|
||
|
// set the memory to a known value
|
||
|
int size = _msize( pMem );
|
||
|
memset( pMem, 0xfe, size );
|
||
|
|
||
|
// get the engine to free the memory
|
||
|
free( pMem );
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: Construct widget, all widgets clip their children and brethren
|
||
|
// Input : *parent -
|
||
|
//-----------------------------------------------------------------------------
|
||
|
CChoreoWidget::CChoreoWidget( CChoreoWidget *parent )
|
||
|
{
|
||
|
m_bSelected = false;
|
||
|
m_pParent = parent;
|
||
|
m_bVisible = true;
|
||
|
|
||
|
m_rcBounds.left = m_rcBounds.right = m_rcBounds.top = m_rcBounds.bottom = 0;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose:
|
||
|
//-----------------------------------------------------------------------------
|
||
|
CChoreoWidget::~CChoreoWidget( void )
|
||
|
{
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose: Default implementation, just return base row height
|
||
|
//-----------------------------------------------------------------------------
|
||
|
int CChoreoWidget::GetItemHeight( void )
|
||
|
{
|
||
|
return m_pView->GetRowHeight();
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose:
|
||
|
// Input : mx -
|
||
|
// my -
|
||
|
//-----------------------------------------------------------------------------
|
||
|
void CChoreoWidget::LocalToScreen( int& mx, int& my )
|
||
|
{
|
||
|
/*
|
||
|
HWND wnd = (HWND)getHandle();
|
||
|
if ( !wnd )
|
||
|
return;
|
||
|
|
||
|
POINT pt;
|
||
|
pt.x = (short)mx;
|
||
|
pt.y = (short)my;
|
||
|
|
||
|
ClientToScreen( wnd, &pt );
|
||
|
|
||
|
mx = pt.x;
|
||
|
my = pt.y;
|
||
|
*/
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose:
|
||
|
// Output : Returns true on success, false on failure.
|
||
|
//-----------------------------------------------------------------------------
|
||
|
bool CChoreoWidget::IsSelected( void )
|
||
|
{
|
||
|
return m_bSelected;
|
||
|
}
|
||
|
|
||
|
//-----------------------------------------------------------------------------
|
||
|
// Purpose:
|
||
|
// Input : selected -
|
||
|
//-----------------------------------------------------------------------------
|
||
|
void CChoreoWidget::SetSelected( bool selected )
|
||
|
{
|
||
|
m_bSelected = selected;
|
||
|
}
|
||
|
|
||
|
void CChoreoWidget::setBounds( int x, int y, int w, int h )
|
||
|
{
|
||
|
m_rcBounds.left = x;
|
||
|
m_rcBounds.right = x + w;
|
||
|
m_rcBounds.top = y;
|
||
|
m_rcBounds.bottom = y + h;
|
||
|
}
|
||
|
|
||
|
int CChoreoWidget::x( void )
|
||
|
{
|
||
|
return m_rcBounds.left;
|
||
|
}
|
||
|
|
||
|
int CChoreoWidget::y( void )
|
||
|
{
|
||
|
return m_rcBounds.top;
|
||
|
}
|
||
|
|
||
|
int CChoreoWidget::w( void )
|
||
|
{
|
||
|
return m_rcBounds.right - m_rcBounds.left;
|
||
|
}
|
||
|
|
||
|
int CChoreoWidget::h( void )
|
||
|
{
|
||
|
return m_rcBounds.bottom - m_rcBounds.top;
|
||
|
}
|
||
|
|
||
|
CChoreoWidget *CChoreoWidget::getParent( void )
|
||
|
{
|
||
|
return m_pParent;
|
||
|
}
|
||
|
|
||
|
void CChoreoWidget::setVisible( bool visible )
|
||
|
{
|
||
|
m_bVisible = visible;
|
||
|
}
|
||
|
|
||
|
bool CChoreoWidget::getVisible( void )
|
||
|
{
|
||
|
return m_bVisible;
|
||
|
}
|
||
|
|
||
|
void CChoreoWidget::getBounds( RECT& bounds )
|
||
|
{
|
||
|
bounds = m_rcBounds;
|
||
|
}
|
||
|
|
||
|
RECT &CChoreoWidget::getBounds( void )
|
||
|
{
|
||
|
return m_rcBounds;
|
||
|
}
|