From 22a237fb403d76d65a254c4f9cf1c1a9d0b22772 Mon Sep 17 00:00:00 2001 From: wileyrya Date: Fri, 26 May 2017 09:26:27 -0500 Subject: Add public API for setting LineJoin and LineCap on a path MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BUG=pdfium:718 R=npm@chromium.org Change-Id: Icdc1546c87a676a7d05330dece2c5eacd92c0c92 Reviewed-on: https://pdfium-review.googlesource.com/5951 Reviewed-by: Nicolás Peña Commit-Queue: Nicolás Peña --- fpdfsdk/fpdfeditpath.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'fpdfsdk/fpdfeditpath.cpp') diff --git a/fpdfsdk/fpdfeditpath.cpp b/fpdfsdk/fpdfeditpath.cpp index 60117cad32..54937ef91a 100644 --- a/fpdfsdk/fpdfeditpath.cpp +++ b/fpdfsdk/fpdfeditpath.cpp @@ -149,3 +149,32 @@ DLLEXPORT FPDF_BOOL FPDFPath_SetDrawMode(FPDF_PAGEOBJECT path, pPathObj->m_bStroke = stroke != 0; return true; } + +DLLEXPORT void STDCALL FPDFPath_SetLineJoin(FPDF_PAGEOBJECT path, + int line_join) { + if (!path) + return; + if (line_join < + static_cast(CFX_GraphStateData::LineJoin::LineJoinMiter) || + line_join > + static_cast(CFX_GraphStateData::LineJoin::LineJoinBevel)) { + return; + } + auto* pPathObj = static_cast(path); + CFX_GraphStateData::LineJoin lineJoin = + static_cast(line_join); + pPathObj->m_GraphState.SetLineJoin(lineJoin); +} + +DLLEXPORT void STDCALL FPDFPath_SetLineCap(FPDF_PAGEOBJECT path, int line_cap) { + if (!path) + return; + if (line_cap < static_cast(CFX_GraphStateData::LineCap::LineCapButt) || + line_cap > static_cast(CFX_GraphStateData::LineCap::LineCapSquare)) { + return; + } + auto* pPathObj = static_cast(path); + CFX_GraphStateData::LineCap lineCap = + static_cast(line_cap); + pPathObj->m_GraphState.SetLineCap(lineCap); +} -- cgit v1.2.3