mirror of
https://github.com/TTimo/doom3.gpl.git
synced 2026-03-20 08:59:42 +01:00
hello world
This commit is contained in:
103
neo/tools/common/PropTree/PropTreeItemButton.cpp
Normal file
103
neo/tools/common/PropTree/PropTreeItemButton.cpp
Normal file
@@ -0,0 +1,103 @@
|
||||
// PropTreeItemButton.cpp : implementation file
|
||||
//
|
||||
// Copyright (C) 1998-2001 Scott Ramsay
|
||||
// sramsay@gonavi.com
|
||||
// http://www.gonavi.com
|
||||
//
|
||||
// This material is provided "as is", with absolutely no warranty expressed
|
||||
// or implied. Any use is at your own risk.
|
||||
//
|
||||
// Permission to use or copy this software for any purpose is hereby granted
|
||||
// without fee, provided the above notices are retained on all copies.
|
||||
// Permission to modify the code and to distribute modified code is granted,
|
||||
// provided the above notices are retained, and a notice that the code was
|
||||
// modified is included with the above copyright notice.
|
||||
//
|
||||
// If you use this code, drop me an email. I'd like to know if you find the code
|
||||
// useful.
|
||||
|
||||
//#include "stdafx.h"
|
||||
#include "../../../idlib/precompiled.h"
|
||||
#pragma hdrstop
|
||||
|
||||
#include "proptree.h"
|
||||
#include "PropTreeItemButton.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
#define BUTTON_SIZE 17
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CPropTreeItemButton
|
||||
|
||||
CPropTreeItemButton::CPropTreeItemButton() {
|
||||
mouseDown = false;
|
||||
}
|
||||
|
||||
CPropTreeItemButton::~CPropTreeItemButton() {
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CPropTreeItemButton message handlers
|
||||
|
||||
LONG CPropTreeItemButton::DrawItem( CDC* pDC, const RECT& rc, LONG x, LONG y )
|
||||
{
|
||||
CSize textSize;
|
||||
CRect textRect;
|
||||
LONG nTotal = 0;
|
||||
|
||||
nTotal = CPropTreeItem::DrawItem( pDC, rc, x, y );
|
||||
|
||||
textSize = pDC->GetOutputTextExtent( buttonText );
|
||||
|
||||
buttonRect.left = m_rc.right - ( textSize.cx + 12 + 4);
|
||||
buttonRect.top = m_rc.top + ((m_rc.bottom - m_rc.top)/2)-BUTTON_SIZE/2;
|
||||
buttonRect.right = buttonRect.left + textSize.cx + 12;
|
||||
buttonRect.bottom = buttonRect.top + BUTTON_SIZE;
|
||||
|
||||
UINT buttonStyle;
|
||||
|
||||
if ( (m_dwState & TreeItemChecked) ) {
|
||||
buttonStyle = DFCS_BUTTONPUSH | DFCS_PUSHED;
|
||||
} else {
|
||||
buttonStyle = DFCS_BUTTONPUSH;
|
||||
}
|
||||
pDC->DrawFrameControl(&buttonRect, DFC_BUTTON, buttonStyle );
|
||||
|
||||
textRect = buttonRect;
|
||||
textRect.left += 4;
|
||||
textRect.right -= 8;
|
||||
pDC->DrawText( buttonText, textRect, DT_SINGLELINE|DT_VCENTER );
|
||||
|
||||
//Adjust hit test rect to acount for window scrolling
|
||||
hitTestRect = buttonRect;
|
||||
hitTestRect.OffsetRect(0, m_pProp->GetOrigin().y);
|
||||
|
||||
return nTotal;
|
||||
}
|
||||
|
||||
void CPropTreeItemButton::DrawAttribute(CDC* pDC, const RECT& rc) {
|
||||
}
|
||||
|
||||
|
||||
LPARAM CPropTreeItemButton::GetItemValue() {
|
||||
return (LPARAM)0;
|
||||
}
|
||||
|
||||
|
||||
void CPropTreeItemButton::SetItemValue(LPARAM lParam) {
|
||||
}
|
||||
|
||||
|
||||
BOOL CPropTreeItemButton::HitButton( const POINT& pt ) {
|
||||
return hitTestRect.PtInRect( pt );
|
||||
}
|
||||
|
||||
void CPropTreeItemButton::SetButtonText( LPCSTR text ) {
|
||||
buttonText = text;
|
||||
}
|
||||
Reference in New Issue
Block a user