From 424543bb26e8a96e2a47ac366099d8e785b03f09 Mon Sep 17 00:00:00 2001 From: Myun2 Date: Thu, 23 Sep 2010 15:31:01 +0900 Subject: [PATCH] =?utf8?q?web/css=5Fattributes.hpp:=20background=5Fpositio?= =?utf8?q?n=E5=AE=8C=E6=88=90=EF=BC=81=EF=BC=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- roast/include/roast/web/css_attributes.hpp | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/roast/include/roast/web/css_attributes.hpp b/roast/include/roast/web/css_attributes.hpp index 7bb679b0..fee558bc 100644 --- a/roast/include/roast/web/css_attributes.hpp +++ b/roast/include/roast/web/css_attributes.hpp @@ -142,14 +142,31 @@ namespace roast static const class _left{} left; static const class _center{} center; static const class _right{} right; - - background_position(const _left &) : _base("background-position", "left") {} - background_position(const _center &) : _base("background-position", "center") {} - background_position(const _right &) : _base("background-position", "right") {} + static const class _top{} top; + static const class _bottom{} bottom; + private: + const char* _horizontal(const _left &){ return "left"; } + const char* _horizontal(const _center &){ return "center"; } + const char* _horizontal(const _right &){ return "right"; } + const char* _vertical(const _top &){ return "top"; } + const char* _vertical(const _center &){ return "center"; } + const char* _vertical(const _bottom &){ return "bottom"; } + + ::std::string _composite(const char* horizontal, const char* vertical){ + ::std::string s(horizontal); + s += ' '; + s += vertical; + return s; + } + public: + template + background_position(const T1 &t1, const T2 &t2) : _base("background-position", _composite(_horizontal(t1), _vertical(t2)).c_str() ) {} }; const background_position::_left background_position::left; const background_position::_center background_position::center; const background_position::_right background_position::right; + const background_position::_top background_position::top; + const background_position::_bottom background_position::bottom; /* ƒ}[ƒWƒ“ margin -- 2.11.0