| 2032 | } |
| 2033 | |
| 2034 | bool xtextbox::layout::changed(const xtextbox& ctb) |
| 2035 | { |
| 2036 | U32 flags1 = tb.flags & (WRAP_MASK | FLAG_UNK40); |
| 2037 | U32 flags2 = ctb.flags & (WRAP_MASK | FLAG_UNK40); |
| 2038 | |
| 2039 | if (tb.text_hash != ctb.text_hash || tb.font.id != ctb.font.id || |
| 2040 | tb.font.width != ctb.font.width || tb.font.height != ctb.font.height || |
| 2041 | tb.font.space != ctb.font.space || tb.bounds.w != ctb.bounds.w || flags1 != flags2 || |
| 2042 | tb.line_space != ctb.line_space) |
| 2043 | { |
| 2044 | return true; |
| 2045 | } |
| 2046 | |
| 2047 | S32 i = dynamics_size; |
| 2048 | |
| 2049 | while (i > 0) |
| 2050 | { |
| 2051 | i--; |
| 2052 | |
| 2053 | jot& j = _jots[dynamics[i]]; |
| 2054 | U32 oldval = xStrHash((char*)j.context, j.context_size); |
| 2055 | |
| 2056 | parse_next_jot(j, tb, ctb, j.s.text, j.s.size); |
| 2057 | |
| 2058 | U32 val = xStrHash((char*)j.context, j.context_size); |
| 2059 | |
| 2060 | if (val != oldval) |
| 2061 | { |
| 2062 | return true; |
| 2063 | } |
| 2064 | } |
| 2065 | |
| 2066 | return false; |
| 2067 | } |
| 2068 | |
| 2069 | namespace |
| 2070 | { |
nothing calls this directly
no test coverage detected