22#ifndef MTROPOLIS_DEBUG_H
23#define MTROPOLIS_DEBUG_H
25#include "common/str.h"
26#include "common/ptr.h"
27#include "common/hashmap.h"
29#include "mtropolis/core.h"
31#define MTROPOLIS_DEBUG_VTHREAD_STACKS
33#define MTROPOLIS_DEBUG_ENABLE
34#if defined(MTROPOLIS_DEBUG_ENABLE) && !defined(MTROPOLIS_DEBUG_VTHREAD_STACKS)
36#define MTROPOLIS_DEBUG_VTHREAD_STACKS
41#ifdef MTROPOLIS_DEBUG_ENABLE
48class DebugToolWindowBase;
55 kSupportStatusPartial,
61 virtual bool declareStatic(
const char *name) = 0;
64 virtual void declareStaticContents(
const Common::String &data) = 0;
67 virtual void declareDynamic(
const char *name,
const Common::String &data) = 0;
74 virtual SupportStatus debugGetSupportStatus()
const = 0;
75 virtual const char *debugGetTypeName()
const = 0;
126 kDebugSeverityWarning,
138 kDebuggerToolSceneTree,
139 kDebuggerToolInspector,
140 kDebuggerToolStepThrough,
151 void runFrame(uint32 msec);
153 void setPaused(
bool paused);
154 bool isPaused()
const;
159 void notifyFmt(DebugSeverity severity,
const char *fmt, ...);
160 void vnotifyFmt(DebugSeverity severity,
const char *fmt, va_list args);
162 void refreshSceneStatus();
163 void complainAboutUnfinished(
Structural *structural);
165 void openToolWindow(DebuggerTool tool);
166 void closeToolWindow(DebuggerTool tool);
180 struct ToastNotification {
201struct Debuggable :
public IDebuggable {
Definition: runtime.h:3035
Definition: runtime.h:1575
Definition: runtime.h:2052
Definition: runtime.h:2195