------------------------------------------------------------------------------
| 1579 | |
| 1580 | //------------------------------------------------------------------------------ |
| 1581 | void vtkPDFContextDevice2D::ApplyStrokeColor(unsigned char* color, int numComps) |
| 1582 | { |
| 1583 | HPDF_Page_SetRGBStroke(this->Impl->Page, static_cast<HPDF_REAL>(color[0] / 255.0), |
| 1584 | static_cast<HPDF_REAL>(color[1] / 255.0), static_cast<HPDF_REAL>(color[2] / 255.0)); |
| 1585 | |
| 1586 | unsigned char alpha = numComps > 3 ? color[3] : 255; |
| 1587 | auto gstateIter = this->Impl->AlphaGStateMap.find(alpha); |
| 1588 | if (gstateIter == this->Impl->AlphaGStateMap.end()) |
| 1589 | { |
| 1590 | HPDF_ExtGState gstate = HPDF_CreateExtGState(this->Impl->Document); |
| 1591 | HPDF_ExtGState_SetAlphaFill(gstate, alpha / 255.f); |
| 1592 | auto tmp = this->Impl->AlphaGStateMap.insert(std::make_pair(alpha, gstate)); |
| 1593 | gstateIter = tmp.first; |
| 1594 | } |
| 1595 | HPDF_ExtGState alphaState = gstateIter->second; |
| 1596 | HPDF_Page_SetExtGState(this->Impl->Page, alphaState); |
| 1597 | } |
| 1598 | |
| 1599 | //------------------------------------------------------------------------------ |
| 1600 | void vtkPDFContextDevice2D::ApplyLineWidth(float width) |
no test coverage detected