apply misc fixes from Markus Fischer and Rambetter
[xonotic/netradiant.git] / plugins / surface_heretic2 / surfdlg_plugin.h
1 /*
2 Copyright (c) 2001, Loki software, inc.
3 All rights reserved.
4
5 Redistribution and use in source and binary forms, with or without modification, 
6 are permitted provided that the following conditions are met:
7
8 Redistributions of source code must retain the above copyright notice, this list 
9 of conditions and the following disclaimer.
10
11 Redistributions in binary form must reproduce the above copyright notice, this
12 list of conditions and the following disclaimer in the documentation and/or
13 other materials provided with the distribution.
14
15 Neither the name of Loki software nor the names of its contributors may be used 
16 to endorse or promote products derived from this software without specific prior 
17 written permission. 
18
19 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' 
20 AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
21 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
22 DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY 
23 DIRECT,INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 
24 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 
25 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 
26 ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
27 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 
28 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
29 */
30
31 #ifndef _SURFDLG_PLUGIN_H_
32 #define _SURFDLG_PLUGIN_H_
33
34 #ifdef __linux__
35
36 typedef void* HMODULE;
37 typedef void* LPVOID;
38 typedef char* LPCSTR;
39
40 #endif // __linux__
41
42 #include "qerplugin.h"
43 #include "synapse.h"
44 #include "iselectedface.h"
45 #include "iundo.h"
46 #include "ishaders.h"
47 #include "mathlib.h"
48 #include "missing.h"
49 #include "idata.h"
50
51 #include "isurfaceplugin.h"
52
53 class SurfaceDialog : public IPluginTexdef
54 {
55         int refCount;
56 public:
57         // Increment the number of references to this object
58         void IncRef () { refCount++; }
59         // Decrement the reference count
60         void DecRef () { if ( --refCount <= 0 ) delete this; }
61 };
62
63 extern _QERFuncTable_1  g_FuncTable;
64 extern _QERUndoTable g_UndoTable;
65 extern _QERAppSurfaceTable g_AppSurfaceTable;
66 extern _QERSelectedFaceTable g_SelectedFaceTable;
67 extern _QERShadersTable g_ShadersTable;
68 extern _QERAppShadersTable g_AppShadersTable;
69 extern _QERAppDataTable g_AppDataTable;
70
71 #define GetSelectedFaceCount g_SelectedFaceTable.m_pfnGetSelectedFaceCount
72
73 #define Undo_Undo g_UndoTable.m_pfnUndo_Undo
74 #define Undo_GetUndoId g_UndoTable.m_pfnUndo_GetUndoId
75
76 #define Sys_Printf g_FuncTable.m_pfnSysPrintf
77 #define Sys_FPrintf g_FuncTable.m_pfnSysFPrintf
78 #define Sys_UpdateWindows g_FuncTable.m_pfnSysUpdateWindows
79
80
81 #define Select_FitTexture g_AppSurfaceTable.m_pfnSelect_FitTexture
82 #define Get_SI_Inc g_AppSurfaceTable.m_pfnQERApp_QeglobalsSavedinfo_SIInc
83 #define GridSize g_AppSurfaceTable.m_pfnQeglobalsGetGridSize
84 #define FaceList_FitTexture g_AppSurfaceTable.m_pfnFaceList_FitTexture
85 #define GetMainWindow g_AppSurfaceTable.m_pfnGetMainWindow
86 #define GetSelectedFaceCountfromBrushes g_AppSurfaceTable.m_pfnGetSelectedFaceCountfromBrushes
87 #define GetSelFacesTexdef g_AppSurfaceTable.m_pfnGetSelFacesTexdef
88 #define SetTexdef_FaceList g_AppSurfaceTable.m_pfnSetTexdef_FaceList
89 #define SetWinPos_from_Prefs g_AppSurfaceTable.m_pfnSetWinPos_From_Prefs
90
91 #define Texturewin g_AppShadersTable.m_pfnQeglobalsTexturewin
92
93 #endif // _SURFDLG_PLUGIN_H_
94