]> de.git.xonotic.org Git - xonotic/netradiant.git/blobdiff - radiant/points.h
Adding ReactionPack to Radiant code.
[xonotic/netradiant.git] / radiant / points.h
index 63665b784e20930e803dfd9d45a9aace87e57cfe..f9e6d966aa48cd0548ed2dc4b14d4c9730f7c774 100644 (file)
@@ -1,5 +1,5 @@
 /*
-Copyright (C) 1999-2006 Id Software, Inc. and contributors.
+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.
@@ -25,16 +25,36 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 // header for Pointfile stuff (adding a C++ class to wrap the pointfile thing in the SAX parser)
 //
 
-#if !defined(INCLUDED_POINTS_H)
-#define INCLUDED_POINTS_H
+#ifndef __POINTS__
+#define __POINTS__
 
-void Pointfile_Clear();
 void Pointfile_Delete (void);
-
-void Pointfile_Construct();
-void Pointfile_Destroy();
-
-class ISAXHandler;
-extern ISAXHandler& g_pointfile;
+void WINAPI Pointfile_Check (void);
+void Pointfile_Next (void);
+void Pointfile_Prev (void);
+void Pointfile_Clear (void);
+void Pointfile_Draw( void );
+void Pointfile_Load( void );
+
+class CPointfile : public ISAXHandler
+{
+public:
+       CPointfile() { }
+       void Init();
+       void PushPoint( vec3_t v );
+       void GenerateDisplayList();
+       // SAX interface
+       void saxStartElement( message_info_t *ctx, const xmlChar *name, const xmlChar **attrs );
+       void saxEndElement( message_info_t *ctx, const xmlChar *name );
+       void saxCharacters( message_info_t *ctx, const xmlChar *ch, int len );
+       char *getName();
+
+       // class is only used for g_pointfile and we should not attempt to free it
+       bool ShouldDelete() { return false; }
+};
+
+// instead of using Pointfile_Load you can do it by hand through g_pointfile
+// but the usual pointfile mechanism remains the same, use Pointfile_Draw etc.
+extern CPointfile g_pointfile;
 
 #endif