summaryrefslogtreecommitdiff
path: root/libs/cassowary/cassowary/ClEditOrStayConstraint.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/cassowary/cassowary/ClEditOrStayConstraint.h')
-rw-r--r--libs/cassowary/cassowary/ClEditOrStayConstraint.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/libs/cassowary/cassowary/ClEditOrStayConstraint.h b/libs/cassowary/cassowary/ClEditOrStayConstraint.h
new file mode 100644
index 0000000000..79b6761b69
--- /dev/null
+++ b/libs/cassowary/cassowary/ClEditOrStayConstraint.h
@@ -0,0 +1,51 @@
+// $Id$
+//
+// Cassowary Incremental Constraint Solver
+// Original Smalltalk Implementation by Alan Borning
+// This C++ Implementation by Greg J. Badros, <gjb@cs.washington.edu>
+// http://www.cs.washington.edu/homes/gjb
+// (C) 1998, 1999 Greg J. Badros and Alan Borning
+// See ../LICENSE for legal details regarding this software
+//
+// ClEditOrStayConstraint.h
+
+#ifndef ClEditOrStayConstraint_H
+#define ClEditOrStayConstraint_H
+
+#if defined(HAVE_CONFIG_H) && !defined(CONFIG_H_INCLUDED) && !defined(CONFIG_INLINE_H_INCLUDED)
+#include <cassowary/config-inline.h>
+#define CONFIG_INLINE_H_INCLUDED
+#endif
+
+#include "ClConstraint.h"
+#include "ClLinearExpression.h"
+
+class ClVariable;
+
+class ClEditOrStayConstraint : public ClConstraint {
+ public:
+
+ ClEditOrStayConstraint(const ClVariable var,
+ const ClStrength &strength = ClsRequired(), double weight = 1.0 ) :
+ ClConstraint(strength,weight),
+ _variable(var)
+ { }
+
+ const ClVariable variable() const
+ { return _variable; }
+
+ ClLinearExpression Expression() const
+ { return ClLinearExpression(_variable,-1,_variable.Value()); }
+
+ private:
+
+ void setVariable( const ClVariable v)
+ { _variable = v; }
+
+ /// instance variables
+ ClVariable _variable;
+
+
+};
+
+#endif