diff options
Diffstat (limited to 'FileManager.h')
-rw-r--r-- | FileManager.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/FileManager.h b/FileManager.h new file mode 100644 index 0000000..2309190 --- /dev/null +++ b/FileManager.h @@ -0,0 +1,39 @@ +#ifndef FILEMANAGER_H_ +#define FILEMANAGER_H_ + +#include <gtk/gtk.h> +#include <libxml/xmlwriter.h> +#include "Triangle.h" + + +class Window; + + +class FileManager +{ + private: + Window *window; + + gchar *filename; + bool dirty; + + // prevent shallow copy + FileManager(const FileManager &f); + const FileManager& operator=(const FileManager &f); + + bool writeTriangle(xmlTextWriterPtr writer, const Triangle &triangle, float height); + bool writeSide(xmlTextWriterPtr writer, const Vertex &v1, const Vertex &v2, float height); + bool writeVertex(xmlTextWriterPtr writer, float x, float y, float z); + bool writeTexCoords(xmlTextWriterPtr writer, float s, float t); + + public: + FileManager(Window *window); + virtual ~FileManager(); + + bool save(GtkWindow *parent); + bool saveAs(GtkWindow *parent); + + bool write(); +}; + +#endif /*FILEMANAGER_H_*/ |