Chromium Code Reviews| Index: fpdfsdk/src/fpdfformfill.cpp |
| diff --git a/fpdfsdk/src/fpdfformfill.cpp b/fpdfsdk/src/fpdfformfill.cpp |
| index 31f5732ce5da3116a4205601d326d1fc3b68cc85..cb5561bf7456dfc2fded36125dee95903a7fb85d 100644 |
| --- a/fpdfsdk/src/fpdfformfill.cpp |
| +++ b/fpdfsdk/src/fpdfformfill.cpp |
| @@ -287,15 +287,16 @@ DLLEXPORT FPDF_BOOL STDCALL FORM_ForceToKillFocus(FPDF_FORMHANDLE hHandle) { |
| return pSDKDoc->KillFocusAnnot(0); |
| } |
| -DLLEXPORT void STDCALL FPDF_FFLDraw(FPDF_FORMHANDLE hHandle, |
| - FPDF_BITMAP bitmap, |
| - FPDF_PAGE page, |
| - int start_x, |
| - int start_y, |
| - int size_x, |
| - int size_y, |
| - int rotate, |
| - int flags) { |
| +static void FFLCommon(FPDF_FORMHANDLE hHandle, |
| + FPDF_BITMAP bitmap, |
| + FPDF_RECORDER recorder, |
| + FPDF_PAGE page, |
| + int start_x, |
| + int start_y, |
| + int size_x, |
| + int size_y, |
| + int rotate, |
| + int flags) { |
| if (!hHandle) |
| return; |
| @@ -336,7 +337,8 @@ DLLEXPORT void STDCALL FPDF_FFLDraw(FPDF_FORMHANDLE hHandle, |
| FX_RECT clip(start_x, start_y, start_x + size_x, start_y + size_y); |
| #ifdef _SKIA_SUPPORT_ |
| - std::unique_ptr<CFX_SkiaDevice> pDevice(new CFX_SkiaDevice); |
| + std::unique_ptr<CFX_SkiaDevice> pDevice(new CFX_SkiaDevice()); |
| + pDevice->AttachRecorder((SkPictureRecorder*)recorder); |
|
Tom Sepez
2016/03/11 17:38:46
nit: prefer static_cast<>
caryclark
2016/03/13 01:02:38
Done.
|
| #else |
| std::unique_ptr<CFX_FxgeDevice> pDevice(new CFX_FxgeDevice); |
| #endif |
| @@ -374,6 +376,34 @@ DLLEXPORT void STDCALL FPDF_FFLDraw(FPDF_FORMHANDLE hHandle, |
| #endif // PDF_ENABLE_XFA |
| } |
| +DLLEXPORT void STDCALL FPDF_FFLDraw(FPDF_FORMHANDLE hHandle, |
| + FPDF_BITMAP bitmap, |
| + FPDF_PAGE page, |
| + int start_x, |
| + int start_y, |
| + int size_x, |
| + int size_y, |
| + int rotate, |
| + int flags) { |
| + FFLCommon(hHandle, bitmap, nullptr, page, start_x, start_y, size_x, size_y, |
| + rotate, flags); |
| +} |
| + |
| +#ifdef _SKIA_SUPPORT_ |
| +DLLEXPORT void STDCALL FPDF_FFLRecord(FPDF_FORMHANDLE hHandle, |
| + FPDF_RECORDER recorder, |
| + FPDF_PAGE page, |
| + int start_x, |
| + int start_y, |
| + int size_x, |
| + int size_y, |
| + int rotate, |
| + int flags) { |
| + FFLCommon(hHandle, nullptr, recorder, page, start_x, start_y, size_x, size_y, |
| + rotate, flags); |
| +} |
| +#endif |
| + |
| #ifdef PDF_ENABLE_XFA |
| DLLEXPORT void STDCALL FPDF_Widget_Undo(FPDF_DOCUMENT document, |
| FPDF_WIDGET hWidget) { |