|
From: Foster B. <fos...@us...> - 2005-04-19 17:56:29
|
Update of /cvsroot/adobe-source/sandbox/visual_refactor/adobe In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32418/adobe Modified Files: eve.hpp Added Files: extents.hpp Removed Files: rectangle.hpp Log Message: rectangle now extents; started work on the ui_core, client_assembler API cleanup Index: eve.hpp =================================================================== RCS file: /cvsroot/adobe-source/sandbox/visual_refactor/adobe/eve.hpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** eve.hpp 18 Apr 2005 21:15:35 -0000 1.1 --- eve.hpp 19 Apr 2005 17:55:48 -0000 1.2 *************** *** 21,25 **** #include <adobe/name_fwd.hpp> #include <adobe/virtual_machine.hpp> ! #include <adobe/rectangle.hpp> #include <adobe/source/expression_parser.hpp> --- 21,25 ---- #include <adobe/name_fwd.hpp> #include <adobe/virtual_machine.hpp> ! #include <adobe/extents.hpp> #include <adobe/source/expression_parser.hpp> *************** *** 33,37 **** class eve_t #if !defined(ADOBE_NO_DOCUMENTATION) ! : boost::noncopyable, public rectangle_slices_t #endif { --- 33,37 ---- class eve_t #if !defined(ADOBE_NO_DOCUMENTATION) ! : boost::noncopyable, public extents_slices_t #endif { *************** *** 118,126 **** /*************************************************************************************************/ - typedef points_of_interest_t guides_t; - struct eve_t::calculate_data_t #if !defined(ADOBE_NO_DOCUMENTATION) ! : rectangle_slices_t #endif { --- 118,124 ---- /*************************************************************************************************/ struct eve_t::calculate_data_t #if !defined(ADOBE_NO_DOCUMENTATION) ! : extents_slices_t #endif { *************** *** 136,140 **** pair_long_t outset_m; eve_t::alignment_t alignment_m; ! guides_t guides_m; bool suppress_m; bool balance_m; --- 134,138 ---- pair_long_t outset_m; eve_t::alignment_t alignment_m; ! guide_set_t guide_set_m; bool suppress_m; bool balance_m; *************** *** 160,164 **** struct eve_t::place_data_t #if !defined(ADOBE_NO_DOCUMENTATION) ! : rectangle_slices_t #endif { --- 158,162 ---- struct eve_t::place_data_t #if !defined(ADOBE_NO_DOCUMENTATION) ! : extents_slices_t #endif { *************** *** 177,181 **** long position_m; pair_long_t outset_m; ! guides_t guides_m; }; --- 175,179 ---- long position_m; pair_long_t outset_m; ! guide_set_t guide_set_m; }; --- rectangle.hpp DELETED --- --- NEW FILE: extents.hpp --- /* Copyright 2005 Adobe Systems Incorporated Distributed under the MIT License (see accompanying file LICENSE_1_0_0.txt or a copy at http://opensource.adobe.com/licenses.html) */ /****************************************************************************************************/ #ifndef ADOBE_EXTENTS_HPP #define ADOBE_EXTENTS_HPP #include <boost/array.hpp> #include <boost/operators.hpp> #include <vector> /****************************************************************************************************/ namespace adobe { /****************************************************************************************************/ template <typename T> struct point_2d; struct extents_t; /****************************************************************************************************/ } // namespace adobe /*************************************************************************************************/ void swap(adobe::extents_t&, adobe::extents_t&); template <typename T> bool operator == (const adobe::point_2d<T>&, const adobe::point_2d<T>&); /****************************************************************************************************/ namespace adobe { /****************************************************************************************************/ template <typename T = long> struct point_2d { point_2d() : x_m(T()), y_m(T()) { } point_2d(const T& x, const T& y) : x_m(x), y_m(y) { } point_2d(const point_2d& rhs) : x_m(rhs.x_m), y_m(rhs.y_m) { } point_2d& operator = (const point_2d& rhs) { x_m = rhs.x_m; y_m = rhs.y_m; return *this; } T x_m; T y_m; }; typedef std::pair<long, long> pair_long_t; typedef point_2d<long> point_2d_t; typedef std::vector<long> guide_set_t; // REVISIT (sparent) : points of interest need to be named entities. This will become: #if 0 struct guide_set_t { adobe::name_t name_m; long offset_m; }; typedef std::vector<guide_set_t> point_of_interest_set_t; #endif // REVISIT (sparent) : Open issue - are there "alignment" attributes on POIs? struct extents_slices_t { enum slice_select_t { horizontal, vertical }; }; /****************************************************************************************************/ struct extents_t : #if !defined(ADOBE_NO_DOCUMENTATION) private extents_slices_t, boost::equality_comparable<extents_t> #endif { struct slice_t : boost::equality_comparable<slice_t> { slice_t() : length_m(0) { }; long length_m; pair_long_t outset_m; pair_long_t frame_m; pair_long_t inset_m; guide_set_t poi_m; #if !defined(ADOBE_NO_DOCUMENTATION) friend bool operator == (const adobe::extents_t::slice_t& x, const adobe::extents_t::slice_t& y); #if defined(ADOBE_SERIALIZATION) friend std::ostream& operator << (std::ostream& s, const adobe::extents_t::slice_t& x); #endif #endif }; boost::array<slice_t, 2> slice_m; slice_t& vertical() { return slice_m[extents_slices_t::vertical]; } slice_t& horizontal() { return slice_m[extents_slices_t::horizontal]; } const slice_t& vertical() const { return slice_m[extents_slices_t::vertical]; } const slice_t& horizontal() const { return slice_m[extents_slices_t::horizontal]; } long& height() { return vertical().length_m; } long& width() { return horizontal().length_m; } const long& height() const { return vertical().length_m; } const long& width() const { return horizontal().length_m; } #if !defined(ADOBE_NO_DOCUMENTATION) friend void ::swap(adobe::extents_t&, adobe::extents_t&); friend bool operator == (const adobe::extents_t& x, const adobe::extents_t& y); #if defined(ADOBE_SERIALIZATION) friend std::ostream& operator << (std::ostream& s, const adobe::extents_t& x); #endif #endif }; /****************************************************************************************************/ bool operator == (const adobe::extents_t& x, const adobe::extents_t& y); #if defined(ADOBE_SERIALIZATION) std::ostream& operator << (std::ostream& s, const adobe::extents_t& x); #endif bool operator == (const adobe::extents_t::slice_t& x, const adobe::extents_t::slice_t& y); #if defined(ADOBE_SERIALIZATION) std::ostream& operator << (std::ostream& s, const adobe::extents_t::slice_t& x); #endif /****************************************************************************************************/ } // namespace adobe /*************************************************************************************************/ inline void swap(adobe::extents_t& x, adobe::extents_t& y) { std::swap(x.slice_m, y.slice_m); } /****************************************************************************************************/ template <typename T> bool operator == (const adobe::point_2d<T>& a, const adobe::point_2d<T>& b) { return a.x_m == b.x_m && a.y_m == b.y_m; } /****************************************************************************************************/ #endif /****************************************************************************************************/ |