mirror of
https://github.com/electronicarts/CNC_TS_and_RA2_Mission_Editor.git
synced 2025-05-01 09:31:40 -04:00
118 lines
3.3 KiB
C++
118 lines
3.3 KiB
C++
/*
|
|
FinalSun/FinalAlert 2 Mission Editor
|
|
|
|
Copyright (C) 1999-2024 Electronic Arts, Inc.
|
|
Authored by Matthias Wagner
|
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#if !defined(AFX_VIEWOBJECTS_H__360F4320_9B82_11D3_B63B_EC44EDA1D441__INCLUDED_)
|
|
#define AFX_VIEWOBJECTS_H__360F4320_9B82_11D3_B63B_EC44EDA1D441__INCLUDED_
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif // _MSC_VER > 1000
|
|
// ViewObjects.h : Header-Datei
|
|
//
|
|
#include <afxcview.h>
|
|
|
|
#define MAKE_MASK(refVal) 1 << static_cast<int>(refVal)
|
|
|
|
enum class TreeViewTechnoType {
|
|
Set_None = -1,
|
|
Building = 0,
|
|
Infantry,
|
|
Vehicle,
|
|
Aircraft,
|
|
_Last,
|
|
_First = 0,
|
|
Count = _Last,
|
|
};
|
|
|
|
enum class TechnoTypeMask
|
|
{
|
|
ForBuilding = MAKE_MASK(TreeViewTechnoType::Building),
|
|
ForInfantry = MAKE_MASK(TreeViewTechnoType::Infantry),
|
|
ForVehicle = MAKE_MASK(TreeViewTechnoType::Vehicle),
|
|
ForAircraft = MAKE_MASK(TreeViewTechnoType::Aircraft),
|
|
};
|
|
|
|
inline bool operator&(TechnoTypeMask lhs, TechnoTypeMask rhs)
|
|
{
|
|
return static_cast<int>(lhs) & static_cast<int>(rhs);
|
|
}
|
|
inline bool operator&(TechnoTypeMask lhs, TreeViewTechnoType rhs)
|
|
{
|
|
return lhs & static_cast<TechnoTypeMask>(MAKE_MASK(rhs));
|
|
}
|
|
inline bool operator&(TreeViewTechnoType lhs, TechnoTypeMask rhs)
|
|
{
|
|
return rhs & static_cast<TechnoTypeMask>(MAKE_MASK(lhs));
|
|
}
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Ansicht CViewObjects
|
|
|
|
class CViewObjects : public CTreeView
|
|
{
|
|
protected:
|
|
CViewObjects(); // Dynamische Erstellung verwendet geschützten Konstruktor
|
|
DECLARE_DYNCREATE(CViewObjects)
|
|
|
|
// Attribute
|
|
public:
|
|
|
|
// Operationen
|
|
public:
|
|
CTreeCtrl* tree;
|
|
BOOL m_ready;
|
|
void UpdateDialog();
|
|
|
|
// Überschreibungen
|
|
// Vom Klassen-Assistenten generierte virtuelle Funktionsüberschreibungen
|
|
//{{AFX_VIRTUAL(CViewObjects)
|
|
public:
|
|
virtual void OnInitialUpdate();
|
|
protected:
|
|
virtual void OnDraw(CDC* pDC); // Überschrieben zum Zeichnen dieser Ansicht
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementierung
|
|
protected:
|
|
virtual ~CViewObjects();
|
|
#ifdef _DEBUG
|
|
virtual void AssertValid() const;
|
|
virtual void Dump(CDumpContext& dc) const;
|
|
#endif
|
|
|
|
// Generierte Nachrichtenzuordnungsfunktionen
|
|
protected:
|
|
//{{AFX_MSG(CViewObjects)
|
|
afx_msg void OnSelchanged(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
|
|
afx_msg void OnKeydown(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
private:
|
|
void HandleBrushSize(int iTile);
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.
|
|
|
|
#endif // AFX_VIEWOBJECTS_H__360F4320_9B82_11D3_B63B_EC44EDA1D441__INCLUDED_
|