[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] r3865 - trunk/pingus/src
From: |
grumbel at BerliOS |
Subject: |
[Pingus-CVS] r3865 - trunk/pingus/src |
Date: |
Fri, 18 Jul 2008 21:05:15 +0200 |
Author: grumbel
Date: 2008-07-18 21:05:14 +0200 (Fri, 18 Jul 2008)
New Revision: 3865
Modified:
trunk/pingus/src/file_reader.cpp
trunk/pingus/src/file_reader.hpp
trunk/pingus/src/file_reader_impl.hpp
trunk/pingus/src/sexpr_file_reader.cpp
Log:
Added read_rect
Modified: trunk/pingus/src/file_reader.cpp
===================================================================
--- trunk/pingus/src/file_reader.cpp 2008-07-18 12:01:05 UTC (rev 3864)
+++ trunk/pingus/src/file_reader.cpp 2008-07-18 19:05:14 UTC (rev 3865)
@@ -141,6 +141,15 @@
}
bool
+FileReader::read_rect(const char* name, Rect& value) const
+{
+ if (impl.get())
+ return impl->read_rect(name, value);
+ else
+ return false;
+}
+
+bool
FileReader::read_section(const char* name, FileReader& reader) const
{
if (impl.get())
Modified: trunk/pingus/src/file_reader.hpp
===================================================================
--- trunk/pingus/src/file_reader.hpp 2008-07-18 12:01:05 UTC (rev 3864)
+++ trunk/pingus/src/file_reader.hpp 2008-07-18 19:05:14 UTC (rev 3865)
@@ -25,6 +25,7 @@
class Color;
class Vector3f;
class Vector2i;
+class Rect;
class ResDescriptor;
class FileReaderImpl;
@@ -49,6 +50,7 @@
bool read_path (const char* name, Pathname&) const;
bool read_vector(const char* name, Vector3f&) const;
bool read_vector2i(const char* name, Vector2i&) const;
+ bool read_rect(const char* name, Rect&) const;
bool read_size (const char* name, Size&) const;
bool read_color (const char* name, Color&) const;
bool read_desc (const char* name, ResDescriptor&) const;
Modified: trunk/pingus/src/file_reader_impl.hpp
===================================================================
--- trunk/pingus/src/file_reader_impl.hpp 2008-07-18 12:01:05 UTC (rev
3864)
+++ trunk/pingus/src/file_reader_impl.hpp 2008-07-18 19:05:14 UTC (rev
3865)
@@ -27,8 +27,7 @@
class FileReader;
class ResDescriptor;
-
-/** */
+
class FileReaderImpl
{
public:
@@ -43,14 +42,14 @@
virtual bool read_vector(const char* name, Vector3f&) const =0;
virtual bool read_size (const char* name, Size&) const =0;
virtual bool read_vector2i(const char* name, Vector2i&) const =0;
+ virtual bool read_rect (const char* name, Rect&) const =0;
virtual bool read_color (const char* name, Color&) const =0;
virtual bool read_desc (const char* name, ResDescriptor&) const =0;
virtual bool read_section(const char* name, FileReader&) const =0;
virtual std::vector<FileReader> get_sections() const =0;
virtual std::vector<std::string> get_section_names() const =0;
};
-
-
+
#endif
/* EOF */
Modified: trunk/pingus/src/sexpr_file_reader.cpp
===================================================================
--- trunk/pingus/src/sexpr_file_reader.cpp 2008-07-18 12:01:05 UTC (rev
3864)
+++ trunk/pingus/src/sexpr_file_reader.cpp 2008-07-18 19:05:14 UTC (rev
3865)
@@ -17,6 +17,7 @@
#include <assert.h>
#include "math/vector3f.hpp"
#include "math/color.hpp"
+#include "math/rect.hpp"
#include "math/size.hpp"
#include "res_descriptor.hpp"
#include "resource_modifier.hpp"
@@ -161,6 +162,20 @@
return false;
}
+ bool read_rect(const char* name, Rect& rect) const
+ {
+ boost::shared_ptr<lisp::Lisp> sub = get_subsection(name);
+ if (sub && sub->get_list_size() == 5)
+ {
+ rect.left = sub->get_list_elem(1)->get_int();
+ rect.top = sub->get_list_elem(2)->get_int();
+ rect.right = sub->get_list_elem(3)->get_int();
+ rect.bottom = sub->get_list_elem(4)->get_int();
+ return true;
+ }
+ return false;
+ }
+
bool read_color (const char* name, Color& v) const
{
boost::shared_ptr<lisp::Lisp> sub = get_subsection(name);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r3865 - trunk/pingus/src,
grumbel at BerliOS <=