]> git.wh0rd.org - ICEs.git/blame - 138653/ice.ii.5
add bfin ice
[ICEs.git] / 138653 / ice.ii.5
CommitLineData
45516216 1struct SPStyle {
2 float value;
3 float computed;
4};
5template < typename _Iterator, typename _Container > class __normal_iterator {
6 _Iterator _M_current;
7 public:explicit __normal_iterator(const _Iterator & __i):_M_current(__i)
8 {
9 }
10 const _Iterator & base() const {
11 return _M_current;
12}};
13template < typename _IteratorL, typename _IteratorR,
14 typename _Container > inline int operator-(const __normal_iterator <
15 _IteratorL, _Container > &__lhs,
16 const __normal_iterator <
17 _IteratorR, _Container > &__rhs)
18{
19 return __lhs.base() - __rhs.base();
20}
21
22template < typename _Tp > class allocator {
23};
24template < typename _Tp, typename _Alloc > struct _Vector_base {
25 struct _Vector_impl {
26 _Tp *_M_start;
27 _Tp *_M_finish;
28 };
29 public: _Vector_impl _M_impl;
30};
31template < typename _Tp, typename _Alloc = allocator < _Tp > >class vector:protected _Vector_base < _Tp,
32 _Alloc >
33{
34 public:typedef __normal_iterator < const _Tp *,
35 void >const_iterator;
36 unsigned int size() const {
37 return const_iterator(this->_M_impl._M_finish) -
38 const_iterator(this->_M_impl._M_start);
39 } const _Tp & operator[] (unsigned int __n)const {
40}};
41class Layout {
42 public:class iterator;
43 iterator end() const;
44 unsigned lineIndex(iterator const &) const;
45 struct Chunk;
46 struct Character {
47 Chunk const &chunk(Layout const *l) const {
48 }};
49 struct Chunk {
50 unsigned in_line;
51 };
52 vector < Character > _characters;
53};
54class Layout::iterator {
55 public:unsigned _char_index;
56 iterator(Layout const *p, unsigned c, int g):_char_index(c) {
57}};
58inline Layout::iterator Layout::end() const
59{
60 return iterator(this, _characters.size(), _characters.size());
61}
62inline unsigned Layout::lineIndex(iterator const &it) const
63{
64 return it._char_index ==
65 _characters.size()? 1 : _characters[0].chunk(this).in_line;
66};
67void sp_te_adjust_linespacing_screen(double by)
68{
69 Layout *layout;
70 SPStyle *style;
71 unsigned line_count = layout->lineIndex(layout->end());
72 double all_lines_height;
73 double average_line_height = all_lines_height / line_count;
74 if (style->computed)
75 style->computed = by;
76 else
77 style->computed = (average_line_height) / average_line_height;
78 if (style->value)
79 style->value = by;
80 else
81 style->value = (average_line_height) / average_line_height;
82}