diff options
Diffstat (limited to 'libs/cassowary/cassowary/ClEditOrStayConstraint.h')
-rw-r--r-- | libs/cassowary/cassowary/ClEditOrStayConstraint.h | 51 |
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 |