X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fsurfacedialog.h;h=159b73ff55724bac420a12f1e4658c1b0ee9ff57;hb=6476802ae87b1740b96a14514e265bc34a4314e1;hp=3f78b4867bd3c0a2643344b7de3982a74dae5bcb;hpb=12b372f89ce109a4db9d510884fbe7d05af79870;p=xonotic%2Fnetradiant.git diff --git a/radiant/surfacedialog.h b/radiant/surfacedialog.h index 3f78b486..159b73ff 100644 --- a/radiant/surfacedialog.h +++ b/radiant/surfacedialog.h @@ -1,55 +1,69 @@ /* -Copyright (C) 1999-2006 Id Software, Inc. and contributors. -For a list of contributors, see the accompanying CONTRIBUTORS file. + Copyright (C) 1999-2007 id Software, Inc. and contributors. + For a list of contributors, see the accompanying CONTRIBUTORS file. -This file is part of GtkRadiant. + This file is part of GtkRadiant. -GtkRadiant is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. + GtkRadiant is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -GtkRadiant is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. + GtkRadiant is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. -You should have received a copy of the GNU General Public License -along with GtkRadiant; if not, write to the Free Software -Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -*/ + You should have received a copy of the GNU General Public License + along with GtkRadiant; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ -#if !defined(INCLUDED_SURFACEDIALOG_H) -#define INCLUDED_SURFACEDIALOG_H +#ifndef _SURFACEDIALOG_H_ +#define _SURFACEDIALOG_H_ +#include "dialog.h" -void SurfaceInspector_Construct(); -void SurfaceInspector_Destroy(); +#ifdef _DEBUG +//#define DBG_SI 1 +#endif -typedef struct _GtkWidget GtkWidget; -typedef struct _GtkWindow GtkWindow; -void SurfaceInspector_constructWindow(GtkWindow* widget); -void SurfaceInspector_destroyWindow(); +class SurfaceDlg : public Dialog +{ +bool m_bPatchMode; +// brush primitive fake shift scale rot coords +float m_shift[2]; +float m_rotate; +float m_scale[2]; +public: +SurfaceDlg (); -// the increment we are using for the surface inspector (this is saved in the prefs) -struct si_globals_t -{ - float shift[2]; - float scale[2]; - float rotate; - - bool m_bSnapTToGrid; - - si_globals_t() : m_bSnapTToGrid(false) - { - shift[0] = 8.0f; - shift[1] = 8.0f; - scale[0] = 0.5f; - scale[1] = 0.5f; - rotate = 45.0f; - } +virtual void ShowDlg(); +virtual void HideDlg(); +void SetTexMods(); +void GetTexMods(); + +void InitDefaultIncrement( texdef_t * ); + +// Dialog Data +int m_nHeight; +int m_nWidth; + +// 0 is invalid, otherwise it's the Id of the last 'do' we are responsible for +int m_nUndoId; + +// is the user editing the texture widget (that changes the behaviour of 'Enter' key from OnDone to OnApply +// reset to false at each SetTexMods or when dealing with Enter key +bool m_bEditingTextureWidget; + +protected: +void BuildDialog(); + +public: +// called to perform a fitting from the outside (shortcut key) +void FitAll(); +GtkWidget *GetWidget(); // { return m_pWidget; } }; -extern si_globals_t g_si_globals; -#endif +#endif // _SURFACEDIALOG_H_