| 129 | #endif |
| 130 | |
| 131 | void ExtractLineParams(LineRuleProto const & lineRule, LineViewParams & params) |
| 132 | { |
| 133 | double const scale = df::VisualParams::Instance().GetVisualScale(); |
| 134 | params.m_color = ToDrapeColor(lineRule.color()); |
| 135 | params.m_width = static_cast<float>(std::max(lineRule.width() * scale, 1.0)); |
| 136 | |
| 137 | if (lineRule.has_dashdot()) |
| 138 | { |
| 139 | DashDotProto const & dd = lineRule.dashdot(); |
| 140 | |
| 141 | int const count = dd.dd_size(); |
| 142 | params.m_pattern.reserve(count); |
| 143 | for (int i = 0; i < count; ++i) |
| 144 | params.m_pattern.push_back(dp::PatternFloat2Pixel(dd.dd(i) * scale)); |
| 145 | } |
| 146 | |
| 147 | switch (lineRule.cap()) |
| 148 | { |
| 149 | case ::ROUNDCAP: params.m_cap = dp::RoundCap; break; |
| 150 | case ::BUTTCAP: params.m_cap = dp::ButtCap; break; |
| 151 | case ::SQUARECAP: params.m_cap = dp::SquareCap; break; |
| 152 | default: CHECK(false, ()); |
| 153 | } |
| 154 | |
| 155 | switch (lineRule.join()) |
| 156 | { |
| 157 | case ::NOJOIN: params.m_join = dp::MiterJoin; break; |
| 158 | case ::ROUNDJOIN: params.m_join = dp::RoundJoin; break; |
| 159 | case ::BEVELJOIN: params.m_join = dp::BevelJoin; break; |
| 160 | default: CHECK(false, ()); |
| 161 | } |
| 162 | } |
| 163 | |
| 164 | void CaptionDefProtoToFontDecl(CaptionDefProto const * capRule, dp::FontDecl & params) |
| 165 | { |
no test coverage detected