// ========================================
+namespace scene
+{
+ class Node;
+}
+
class ModuleObserver;
+#include "signal/signalfwd.h"
+#include "windowobserver.h"
+#include "math/vector.h"
+
+typedef SignalHandler3<const WindowVector&, ButtonIdentifier, ModifierFlags> MouseEventHandler;
+typedef SignalFwd<MouseEventHandler>::handler_id_type MouseEventHandlerId;
+
+enum VIEWTYPE
+{
+ YZ = 0,
+ XZ = 1,
+ XY = 2
+};
+
// the radiant core API
struct _QERFuncTable_1
{
const char* (*getGameName)();
const char* (*getGameMode)();
+ const char* (*getMapName)();
+ scene::Node& (*getMapWorldEntity)();
+ float (*getGridSize)();
+
const char* (*getGameDescriptionKeyValue)(const char* key);
const char* (*getRequiredGameDescriptionKeyValue)(const char* key);
void (*attachGameModeObserver)(ModuleObserver& observer);
void (*detachGameModeObserver)(ModuleObserver& observer);
+ MouseEventHandlerId (*XYWindowMouseDown_connect)(const MouseEventHandler& handler);
+ void (*XYWindowMouseDown_disconnect)(MouseEventHandlerId id);
+ VIEWTYPE (*XYWindow_getViewType)();
+ Vector3 (*XYWindow_windowToWorld)(const WindowVector& position);
+ const char* (*TextureBrowser_getSelectedShader)();
+
// GTK+ functions
PFN_QERAPP_MESSAGEBOX m_pfnMessageBox;
PFN_QERAPP_FILEDIALOG m_pfnFileDialog;