Files
firestorm/Gameleap/code/mw4/Tools/LabRat/ChildFrm.h
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

274 lines
4.6 KiB
C++

// ChildFrm.h : interface of the CChildFrame class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined (CHILDFRM_H)
# define CHILDFRM_H
class CChildFrame;
#define MAX_WIDTH 1280
#define MAX_HEIGHT 1280
# if !defined (STYLE_HPP)
# include "style.hpp"
# endif
#include "LabRat.h"
#include "LabRatview.h"
#include "comboview.h"
#include "logicview.h"
#include "timeview.h"
#include "nameview.h"
#include "valueview.h"
#include "LabRatdoc.h"
#include "lranlyzr.hpp"
#include "traceline.hpp"
#define MINUTE 60.0f
#define SECOND 1.0f
#define MILLISECOND 1.e-3f
#define MICROSECOND 1.e-6f
#if defined (SUPPORT_NANOSECOND)
# define NANOSECOND 1.e-9f
#endif
#define DIVISIONS 20
#define PIXELS_PER_DIVISION 50
#if defined (SUPPORT_NANOSECOND)
# define SCALES_COUNT 5
#else
# define SCALES_COUNT 4
#endif
#if defined (SUPPORT_NANOSECOND)
static float SCALES[SCALES_COUNT] =
{NANOSECOND, MICROSECOND, MILLISECOND, SECOND, MINUTE};
static char *SCALES_TEXT[SCALSE_COUNT] =
{"ns", "us", "ms", "s", "m"}
#else
static float SCALES[SCALES_COUNT] =
{MICROSECOND, MILLISECOND, SECOND, MINUTE};
static char *SCALES_TEXT[SCALES_COUNT] =
{"us", "ms", "s", "m"};
#endif
#define SCALE_STEP_COUNT 9
static int SCALE_STEP[SCALE_STEP_COUNT] =
{1,2,5,10,20,50,100,200,500};
#if defined (SUPPORT_NANOSECOND)
enum {
Nanosecond = 0,
Microsecond = 1,
Millisecond = 2,
Second = 3,
Minute = 4
};
#else
enum {
Nanosecond = -1,
Microsecond = 0,
Millisecond = 1,
Second = 2,
Minute = 3
};
#endif
class ViewedTime
{
public:
Time
startTime,
endTime,
timeToPixel,
pixelToTime,
pixelsPerDivision,
startTimeSel,
endTimeSel;
int
secondEnum,
step;
ViewedTime()
{startTime = 0.0f; endTime = 0.0f;
timeToPixel = 0.0f; pixelToTime = 0.0f;
pixelsPerDivision = 0; secondEnum = 0; step = 0;
startTimeSel = 0.0f;endTimeSel = 0.0f;}
};
class CChildFrame : public CMDIChildWnd
{
DECLARE_DYNCREATE(CChildFrame)
public:
CChildFrame();
// Attributes
public:
enum {
MoveMode,
ZoomMode,
SelectMode,
};
int currentMode;
CBitmap *screenBitmap;
CSize bitmapSize;
CSplitterWnd m_wndSplitter;
CSplitterWnd m_wndSplitter2;
CComboView *comboView;
CTimeView *timeView;
CNameView *nameView;
CValueView *valueView;
CLogicView *logicView;
CRect
timeSize,
nameSize,
valueSize,
logicSize;
ViewedTime
viewedTime;
CObArray *traceListArray;
int traceCount;
CLabRatDoc
*document;
TraceAnalyzerRegistry
analyzerRegistry;
// User prefs
int borderSize;
int boxMinimum;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CChildFrame)
public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
protected:
virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CChildFrame();
void SaveSize(void);
void FrameTimeSpan(
Time time_span,
int screen_size
);
void SetTime(void);
void
OnInitialUpdate(void);
void
SetComboBox(int step_enum, int second_enum);
void Draw(CWnd *window_pointer = NULL);
void DrawCRect(CRect rectangle, MY_RGB color);
void DrawLine(
CPoint from_point,
CPoint to_point,
MY_RGB color,
int thickness
);
void DrawLine(
Time from_time,
Time to_time,
int from_value,
int to_value,
int offset,
MY_RGB color,
int thickness
);
void DrawBox(
Time from_time,
Time to_time,
int to_value,
int from_value,
int offset,
MY_RGB color
);
void DrawText(
CString text,
Time time,
int height,
MY_RGB color
);
void DrawTextLeft(
CString text,
Time time,
int height,
MY_RGB color
);
void DrawText(
CString text,
int x,
int height,
MY_RGB color
);
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CChildFrame)
afx_msg void OnUpdateViewZoom(CCmdUI* pCmdUI);
afx_msg void OnViewZoom();
afx_msg void OnUpdateViewMove(CCmdUI* pCmdUI);
afx_msg void OnViewMove();
afx_msg void OnViewSelect();
afx_msg void OnUpdateViewSelect(CCmdUI* pCmdUI);
afx_msg void OnEnableBug();
afx_msg void OnUpdateEnableBug(CCmdUI* pCmdUI);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
#endif