+#ifndef MSP_GLTK_STATE_H_
+#define MSP_GLTK_STATE_H_
+
+#include <istream>
+#include <msp/parser/value.h>
+
+namespace Msp {
+namespace GLtk {
+
+enum State
+{
+ NORMAL, //< Default state
+ HOVER, //< Pointer over the widget
+ ACTIVE, //< Widget is active (e.g. pressed button)
+ DISABLED, //< Widget is unresponsive
+ N_STATES_ //< Sentry value
+};
+
+extern std::istream &operator>>(std::istream &, State &);
+
+} // namespace GLtk
+
+namespace Parser {
+
+template<>
+struct TypeResolver<GLtk::State> { static const Value::Type type=Value::ENUM; };
+
+} // namespace Parser
+} // namespace Msp
+
+#endif