2 Copyright (C) 1999-2007 id Software, Inc. and contributors.
\r
3 For a list of contributors, see the accompanying CONTRIBUTORS file.
\r
5 This file is part of GtkRadiant.
\r
7 GtkRadiant is free software; you can redistribute it and/or modify
\r
8 it under the terms of the GNU General Public License as published by
\r
9 the Free Software Foundation; either version 2 of the License, or
\r
10 (at your option) any later version.
\r
12 GtkRadiant is distributed in the hope that it will be useful,
\r
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
15 GNU General Public License for more details.
\r
17 You should have received a copy of the GNU General Public License
\r
18 along with GtkRadiant; if not, write to the Free Software
\r
19 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\r
23 // precompiled headers
\r
26 #include <gdk/gdkkeysyms.h>
\r
27 #include <gtk/gtk.h>
\r
31 #if defined(__linux__) || defined(__APPLE__)
\r
33 // Necessary for proper boolean type declaration
\r
34 #include "qertypes.h"
\r
36 typedef void* HMODULE;
\r
37 typedef void* LPVOID;
\r
38 typedef char* LPCSTR;
\r
40 #define MB_OK 0x00000000L
\r
41 #define MB_OKCANCEL 0x00000001L
\r
42 #define MB_ABORTRETRYIGNORE 0x00000002L
\r
43 #define MB_YESNOCANCEL 0x00000003L
\r
44 #define MB_YESNO 0x00000004L
\r
45 #define MB_RETRYCANCEL 0x00000005L
\r
48 #define MB_ICONHAND 0x00000010L
\r
49 #define MB_ICONQUESTION 0x00000020L
\r
50 #define MB_ICONEXCLAMATION 0x00000030L
\r
51 #define MB_ICONASTERISK 0x00000040L
\r
53 #define MB_USERICON 0x00000080L
\r
54 #define MB_ICONWARNING MB_ICONEXCLAMATION
\r
55 #define MB_ICONERROR MB_ICONHAND
\r
56 #define MB_ICONINFORMATION MB_ICONASTERISK
\r
57 #define MB_ICONSTOP MB_ICONHAND
\r
59 #define MB_TYPEMASK 0x0000000FL
\r
60 #define MB_ICONMASK 0x000000F0L
\r
61 #define MB_DEFMASK 0x00000F00L
\r
62 #define MB_MODEMASK 0x00003000L
\r
63 #define MB_MISCMASK 0x0000C000L
\r
73 typedef struct tagRECT
\r
79 } RECT, *PRECT, *LPRECT;
\r
84 // FIXME TTimo: drop this
\r
85 extern "C" void Sys_Printf (char *text, ...);
\r
87 #include "synapse.h"
\r
88 #include "iplugin.h"
\r
89 #include "qerplugin.h"
\r
90 #include "mathlib.h"
\r
92 #include "iselectedface.h"
\r
93 #include "isurfaceplugin.h"
\r
97 // the implementation of a IWindowListener interface to use with the native UI
\r
98 // TODO: move in it's own set of files?
\r
99 // NOTE: I'm not too sure about the bool flags being any use.. they are supposed to tell if we handle the event or not
\r
100 class CWindowListener : public IWindowListener
\r
104 // Increment the number of references to this object
\r
105 void IncRef () { refCount++; }
\r
106 // Decrement the reference count
\r
107 void DecRef () { if ( --refCount <= 0 ) delete this; }
\r
108 // IWindowListener ---------------------------------------
\r
109 bool OnLButtonDown(guint32 nFlags, double x, double y);
\r
110 bool OnMButtonDown(guint32 nFlags, double x, double y) { return false; }
\r
111 bool OnRButtonDown(guint32 nFlags, double x, double y);
\r
112 bool OnLButtonUp(guint32 nFlags, double x, double y);
\r
113 bool OnMButtonUp(guint32 nFlags, double x, double y) { return false; }
\r
114 bool OnRButtonUp(guint32 nFlags, double x, double y);
\r
115 bool OnMouseMove(guint32 nFlags, double x, double y);
\r
116 bool OnKeyPressed(char *s);
\r
121 #include "2DView.h"
\r
124 float data[MAX_POINTS_ON_WINDING][2];
\r
126 #include "ControlPointsManager.h"
\r
128 extern _QERQglTable g_QglTable;
\r
129 extern _QERFuncTable_1 g_FuncTable;
\r
131 // NOTE: these are used by the CControlPointsManager classes, not very C++ish
\r
132 extern bool g_bPrefsUpdateCameraView;
\r
133 extern _QERSelectedFaceTable g_SelectedFaceTable;
\r
134 extern _QERFaceData g_CancelFaceData;
\r
136 #define Sys_Printf g_FuncTable.m_pfnSysPrintf
\r
137 #define Sys_FPrintf g_FuncTable.m_pfnSysFPrintf
\r
139 // call to validate the current changes into the editor
\r
140 extern void Textool_Validate();
\r
141 extern void Textool_Cancel();
\r
143 class CSynapseClientTexTool : public CSynapseClient
\r
146 // CSynapseClient API
\r
147 bool RequestAPI(APIDescriptor_t *pAPI);
\r
148 const char* GetInfo();
\r
150 CSynapseClientTexTool() { }
\r
151 virtual ~CSynapseClientTexTool() { }
\r
154 extern IWindow *g_pToolWnd;
\r