X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=include%2Ficamera.h;h=45c40d7c0f027a07044f476c9cbcfc4affd8d12f;hp=0c6f4dd9aad88f32ed1b6f51e99955f08860da4a;hb=686a211fc38285905245e537acf9d96e66b9675c;hpb=12b372f89ce109a4db9d510884fbe7d05af79870 diff --git a/include/icamera.h b/include/icamera.h index 0c6f4dd9..45c40d7c 100644 --- a/include/icamera.h +++ b/include/icamera.h @@ -1,23 +1,23 @@ /* -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 + */ //----------------------------------------------------------------------------- // @@ -25,44 +25,21 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA // camera interface // -#if !defined(INCLUDED_ICAMERA_H) -#define INCLUDED_ICAMERA_H +#ifndef __ICAMERA_H_ +#define __ICAMERA_H_ -#include "generic/constant.h" +#define CAMERA_MAJOR "camera" -class Matrix4; - -class CameraView -{ -public: - virtual void setModelview(const Matrix4& modelview) = 0; - virtual void setFieldOfView(float fieldOfView) = 0; -}; - -class Callback; - -class CameraModel -{ -public: - STRING_CONSTANT(Name, "CameraModel"); - virtual void setCameraView(CameraView* view, const Callback& disconnect) = 0; -}; - -template class BasicVector3; -typedef BasicVector3 Vector3; - -typedef void (* PFN_GETCAMERA) ( Vector3& origin, Vector3& angles ); -typedef void (* PFN_SETCAMERA) ( const Vector3& origin, const Vector3& angles ); -typedef void (* PFN_GETCAMWINDOWEXTENTS) ( int *x, int *y, int *width, int *height ); +typedef void ( *PFN_GETCAMERA )( vec3_t origin, vec3_t angles ); +typedef void ( *PFN_SETCAMERA )( vec3_t origin, vec3_t angles ); +typedef void ( *PFN_GETCAMWINDOWEXTENTS )( int *x, int *y, int *width, int *height ); struct _QERCameraTable { - INTEGER_CONSTANT(Version, 1); - STRING_CONSTANT(Name, "camera"); - - PFN_GETCAMERA m_pfnGetCamera; - PFN_SETCAMERA m_pfnSetCamera; - PFN_GETCAMWINDOWEXTENTS m_pfnGetCamWindowExtents; + int m_nSize; + PFN_GETCAMERA m_pfnGetCamera; + PFN_SETCAMERA m_pfnSetCamera; + PFN_GETCAMWINDOWEXTENTS m_pfnGetCamWindowExtents; }; #endif