]>
Commit | Line | Data |
---|---|---|
45516216 | 1 | struct SPStyle { |
2 | float value; | |
3 | float computed; | |
4 | }; | |
5 | template < typename _Iterator > class __normal_iterator { | |
6 | _Iterator _M_current; | |
7 | public:explicit __normal_iterator(const _Iterator & __i):_M_current(__i) { | |
8 | } | |
9 | const _Iterator & base() const { | |
10 | return _M_current; | |
11 | } | |
12 | }; | |
13 | template < typename _Iterator > inline int operator-(const __normal_iterator < _Iterator > &__lhs, const __normal_iterator < _Iterator > &__rhs) { | |
14 | return __lhs.base() - __rhs.base(); | |
15 | } | |
16 | template < typename _Tp > struct _Vector_base { | |
17 | struct _Vector_impl { | |
18 | _Tp *finish; | |
19 | }; | |
20 | public: _Vector_impl _M_impl; | |
21 | }; | |
22 | template < typename _Tp > class vector:protected _Vector_base < _Tp > { | |
23 | public: unsigned int size() const { | |
24 | return __normal_iterator < const _Tp *>(this->_M_impl.finish) - __normal_iterator < const _Tp *>(this->_M_impl.finish); | |
25 | } | |
26 | const _Tp & operator[] (unsigned int __n)const { | |
27 | } | |
28 | }; | |
29 | class Layout { | |
30 | public:class iterator; | |
31 | iterator end() const; | |
32 | unsigned lineIndex(iterator const &) const; | |
33 | struct Chunk { | |
34 | unsigned in_line; | |
35 | }; | |
36 | struct Character { | |
37 | Chunk const &chunk(Layout const *l) const { | |
38 | } | |
39 | }; | |
40 | vector < Character > _characters; | |
41 | }; | |
42 | class Layout::iterator { | |
43 | public:unsigned _char_index; | |
44 | iterator(Layout const *p, unsigned c, int g):_char_index(c) { | |
45 | } | |
46 | }; | |
47 | inline Layout::iterator Layout::end() const { | |
48 | return iterator(this, _characters.size(), _characters.size()); | |
49 | } | |
50 | inline unsigned Layout::lineIndex(iterator const &it) const { | |
51 | return it._char_index == _characters.size()? 1 : _characters[0].chunk(this).in_line; | |
52 | }; | |
53 | void sp_te_adjust_linespacing_screen() { | |
54 | double by; | |
55 | Layout *layout; | |
56 | SPStyle *style; | |
57 | unsigned line_count = layout->lineIndex(layout->end()); | |
58 | double average_line_height = by / line_count; | |
59 | style->computed = (style->computed ? by : (average_line_height) / average_line_height); | |
60 | style->value = (style->value ? by : (average_line_height) / average_line_height); | |
61 | } |