summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi/fpdf_render/render_int.h
AgeCommit message (Collapse)Author
2016-02-22refactor CPDF_PageObject and subclassesWei Li
Use virtual functions to replace type based logic; remove unused functions; disable default copy constructor/assign operator. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1720003003 .
2016-02-19Remove PageObject's m_Type and add As<Type> functionsWei Li
For CPDF_PageObject and its subclasses, remove m_Type and use GetType() instead. Also, add As<Type> functions to avoid casting all over the places. BUG=pdfium:397 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1709393002 .
2016-02-16Split CPDF_PageObjectHolder off from CPDF_PageObjectListTom Sepez
Eventually, we're going to expose an iterator over CPDF_PageObjectList that we don't want to be inherited by the CPDF_PageObjectHolder sub-classes: page and form. Also, the operations that the object holder performs dealing with inquiring about masks and such seem beyond the scope of what a list would provide. Hence the "Holder" name. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1701073002 .
2016-01-29Merge to XFA: Some cleanup of fpdf_render_loadimage.cppOliver Chang
- Generalise GetBits8() - Get rid of C-style casts. - Make CFX_DIBSource::SetDownSampleSize() non const. It's only overriden once and called in one place and it doesn't make sense for it to be const. - Get rid of a macro - Make public member vars of CPDF_DIBSource private - And others... TBR=thestig@chromium.org Original Review URL: https://codereview.chromium.org/1644403003 . (cherry picked from commit 487935f662ba4711caf1c2c06873b676fd3fba3e) Review URL: https://codereview.chromium.org/1649243002 .
2016-01-22Merge to XFA: Change _PDF_RenderItem to CPDF_RenderContext::Layer.Tom Sepez
Original Review URL: https://codereview.chromium.org/1620523002 . (cherry picked from commit d5712ac571f3487fe3f74617fdab007a11a09052) TBR=ochang@chromium.org Review URL: https://codereview.chromium.org/1624553004 .
2016-01-21Merge to XFA: Rename CPDF_PageObjects to CPDF_PageObjectListTom Sepez
Orignal Review URL: https://codereview.chromium.org/1612113003 . (cherry picked from commit 9ebc84109d7d2f7b81f06f19e5db20888e026c3b) R=ochang@chromium.org TBR=ochang@chromium.org Review URL: https://codereview.chromium.org/1612243002 .
2015-12-24Merge to XFA: Switch from nonstd::unique_ptr to std::unique_ptr.Lei Zhang
TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/1547833002 . (cherry picked from commit d20dfba2ae10e8aeb328328f09da79ff904110a8) Review URL: https://codereview.chromium.org/1545183002 .
2015-12-18Merge to XFA: CPDF_ImageLoader::Load() unused.Tom Sepez
Original Review URL: https://codereview.chromium.org/1535243002 . (cherry picked from commit b5385ba5d0c616cd4af994b2a9d674588086f75c) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1539003002 .
2015-12-18Remove CFX_MapPtrToPtr in CFX_PageRenderCacheTom Sepez
Rename CPDF_ImageCache to CPDF_ImageCacheEntry because it represents a single entry, not the entire cache itself. Delete unused ClearRenderCache method, and merge cache entry clear() into its dtor. Fix a broken size calculation. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1539983002 .
2015-12-18Merge to XFA: CPDF_QuickStretcher unused.Tom Sepez
Original Review URL: https://codereview.chromium.org/1537103002 . (cherry picked from commit f0f6a01ee3dcb592e4eeaadaa2ea52c2fce317ba) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1540683002 .
2015-12-14Merge to XFA: Get rid of most instance of 'foo != NULL'Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1512763013 . (cherry picked from commit e3c7c2b54348da4a6939f6672f6c6bff126815a7) Review URL: https://codereview.chromium.org/1529553003 .
2015-12-10Merge to XFA: Replace several more CFX_MapPtrToPtr with std::set or std::mapTom Sepez
Original Review URL: https://codereview.chromium.org/1520643002 . (cherry picked from commit 7db2a535f163e7ce5995da12161ebd0214f0f75a) Original Review URL: https://codereview.chromium.org/1511413008 . (cherry picked from commit 168cfb7ee0f2abbd2bddb7e7d8b430a6d8c6c120) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1515613006 .
2015-12-10Merge to XFA: Remove CFX_AffineMatrix/CPDF_MatrixTom Sepez
Review URL: https://codereview.chromium.org/1513363002 . (cherry picked from commit f32c969bce6743fca1e7ff796b54a1692d26d7f0) R=thestig@chromium.org Review URL: https://codereview.chromium.org/1519693002 .
2015-12-10Merge to XFA: Cleanup CPDF_DIBSource::LoadColorInfo() and ValidateDictParam().Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1507043004 . (cherry picked from commit d9324d8f7345d4546c06c4a9d6cd497b0f7f3ad2) Review URL: https://codereview.chromium.org/1512203003 .
2015-12-09Merge to XFA: Get rid of most uses of CFX_PtrArray.Tom Sepez
Original Review URL: https://codereview.chromium.org/1518593002 . (cherry picked from commit 035359cd8ddb555fa33b6133db4fd405e4660712) R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1513103002 .
2015-11-10Merge to XFA: Use unique_ptr and initializer lists in various render files.Lei Zhang
TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1436573003 . (cherry picked from commit c813e21d261c24867234107f2e2ca72e15cb2534) Review URL: https://codereview.chromium.org/1406933007 .
2015-11-10Merge to XFA: Fix relative includes within core/Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1427633010 . (cherry picked from commit 9fb27cb9797937499c9678bc74cf7846cbf5d2b8) Review URL: https://codereview.chromium.org/1438573002 .
2015-11-06Merge to XFA: Fix all relative includes to third_party.Lei Zhang
- In non-standalone builds, use the provided jpeg library. - Run gn format over all the GN files. - Also roll DEPS for buildtools to c2f2598. - And fix XFA's lack of #includes. BUG=541704 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1425153006 . (cherry picked from commit 34bb6c58fe60206a08dc0a1f37b7cfe83e8c762c) Review URL: https://codereview.chromium.org/1434543003 .
2015-10-22Merge to XFA: Add type cast definitions for CPDF_Stream.Dan Sinclair
This Cl adds ToStream, CPDF_Object::AsStream and CPDF_Object::IsStream and updates the src to use them as needed. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1402413004 . (cherry picked from commit 338805f1366dcdf9a5b48cf591541cf98d7490f1) Review URL: https://codereview.chromium.org/1422513004 .
2015-08-20Merge to XFA: Fix some -Wmaybe-uninitialized errors.Lei Zhang
- Break up CPDF_DIBSource::DownSampleScanline() into smaller functions. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1287843004 . (cherry picked from commit 9ae9ae2a68439cbc84a719c0dacf6984703e77cb) Review URL: https://codereview.chromium.org/1304873002 .
2015-08-19Merge to XFA: CFX_MapByteStringToPtr considered harmful (combo patch).Tom Sepez
New manual edits: two unused members deleted, one adapted. fde_csscache.cpp fde_csscache.h fpdfxfa_doc.h fx_ge_fontmap.cpp (cherry picked from commit 1d9dbd53b205b2b4d9e75a7eeb95e80837917ea3) (cherry picked from commit cb4d0ea68308e3c51a6ba9551b393bb2f639afc4) (cherry picked from commit 9cf44c2ed09a8b2ff243eb6dbb72a8cceae1b5ff) (cherry picked from commit 2a2a6aa7f51352fc481e78f6ad9d41f2738bcc48) (cherry picked from commit ce4ffb8183af3fa2bb5133f0f7370a88e064c516) Original Review URL: https://codereview.chromium.org/1297723002 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1301793002 .
2015-08-14Merge to XFA: Use override in more classes in core/Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1292613003 . (cherry picked from commit c2c3f7b5f0396409451a9d344f35ec1929a76e9f) Review URL: https://codereview.chromium.org/1296043002 .
2015-08-04XFA: clang-format all pdfium code.Nico Weber
No behavior change. Generated by: find . -name '*.cpp' -o -name '*.h' | \ grep -E -v 'third_party|thirdparties|lpng_v163|tiff_v403' | \ xargs ../../buildtools/mac/clang-format -i Then manually merged https://codereview.chromium.org/1269223002/ See thread "tabs vs spaces" on pdfium@googlegroups.com for discussion. BUG=none
2015-07-22Merge to XFA: Remove dead code found by Scythe.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1249643003 . (cherry picked from commit b05f1fd710496dea44b001bb905fa1c16a39bb28) Review URL: https://codereview.chromium.org/1250433003 .
2015-06-19Merge to XFA: Replace some CFX_MapPtrTemplates with std::map.Lei Zhang
There are more CFX_MapPtrTemplate usage on the XFA branch, so it is not removed. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1181593003. (cherry picked from commit e8d3691c82d1be805ffdce3329d00313af7ce0ab) Review URL: https://codereview.chromium.org/1198663004.
2015-06-19Merge to XFA: Cleanup: Remove dead CPDF_InlineImages code.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1192413007. (cherry picked from commit 59d60a587180cb6bbd49d4e739fb6ccd2b15d4d2) Review URL: https://codereview.chromium.org/1192753008.
2015-06-15Merge to XFA: Provide a constructor for CPDF_CountedObject.Tom Sepez
Original Review URL: https://codereview.chromium.org/1182903002. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1191553005.
2015-06-10Merge to XFA: Remove typdefs for pointer types in fx_system.h.Tom Sepez
Original Review URL: https://codereview.chromium.org/1171733003 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1178613002.
2015-06-09Merge to XFA: Use stdint.h types throughout PDFium.Tom Sepez
Near-automatic merge, plus re-running scripts to update additional usage. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1172793002
2015-06-08Merge to XFA: Fix potentially massive memory leak in ↵Lei Zhang
CPDF_DIBSource::LoadJpxBitmap(). Leaks can happen in several places. For this particular bug, it happens when there is a colorspace component count mismatch. BUG=497191 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1153633009 (cherry picked from commit 2a824f1c0ed786aed0dd15a0ea60dc90999e2b2c) Review URL: https://codereview.chromium.org/1168833002
2015-05-28Merge to XFA: Fix ALL the include guards.Tom Sepez
Original Review URL: https://codereview.chromium.org/1160443004 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1162013003
2015-04-14Merge to XFA: Kill CFX_Object.Tom Sepez
Not just a simple merge, but changes to remove CFX_Object from XFA. Original Review URL: https://codereview.chromium.org/1088733002 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1087053002
2015-02-27Merge to XFA: Fix JPX image rendering that regressed due to several security ↵Lei Zhang
fixes. Original Review URL: https://codereview.chromium.org/892553002 (cherry picked from commit 254360730190cc6d6e3de325ee101948b78c1e32) Review URL: https://codereview.chromium.org/967773002
2015-02-27Merge to XFA: Cleanup parts of fpdf_render_loadimage.cpp.Lei Zhang
Original URL: https://codereview.chromium.org/890883006 (cherry picked from commit 3f41851972a18762164d7110a82da3baed564b80) Review URL: https://codereview.chromium.org/966013002
2015-01-29Merge to XFA: Fix infinite recursion in CPDF_RenderStatus::RenderSingleObject().Tom Sepez
This brings in: 14b2bb0 Fix infinite recursion in CPDF_RenderStatus::RenderSingleObject(). 1d43e82 Add minimized test cases for stack exhaustion crash to repository. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/893493002
2014-12-15XFA: merge patch from issue 801913002 and 804463003John Abd-El-Malek
Simplify PDFium by removing code that's not used in the open source repo. -remove parameter from FPDF_InitLibrary -remove a bunch of ifdefs that are unused Fix build after previous commit. TBR=tsepez@chromium.org BUG= Review URL: https://codereview.chromium.org/809513002
2014-09-03Allocate m_pCompData when |m_nComponents| is updated.Bo Xu
When |m_nComponents| is changed from loading stream information, previously allocated memory that depends on |m_nComponents| needes to be freed and allocated again to enforce memory size consistency. BUG=409695 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/528163002
2014-09-02Check m_nComponents when using JBIG2Decodechromium/2146Bo Xu
BUG=409692 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/534763002
2014-08-31Remove the GetValidBpc check in application callers and move it to where ↵Bo Xu
m_bpc is assigned. The problem of using GetValidBpc() in each function call is it could result in mismatch as seen in this case: in ContinueToLoadMask(), m_bpc is re-assigned to 1 if m_bImageMask==1 regardless of the value from GetValidBpc(). This will result in mismatch if another function use the value from GetValidBpc(). The solution could be checking m_bImageMask in another function to make sure m_bpc is consistent, but that makes the code too cumbersome. Also, we have to bring and are bringing in more and more GetValidBpc check, and this will continue with other buggy documents. So better to fix it now. The original rational to use GetValidBpc() in where m_bpc is used is to respect the "raw" data from parsing. However, if it will be ignored anyway and using value from GetValidBpc(), we'd better correct it at the very beginning. BUG=408541 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/518443002
2014-07-07Fix a crasher issue due to invalid 'bits per component' in PDFfoxit
BUG=382820 R=palmer@chromium.org Review URL: https://codereview.chromium.org/349853003
2014-05-24Fix warnings in android build, fix font rendering issue, fix issue 357588: ↵Bo Xu
wrong characters representation, and addjust some code indent BUG= R=jam@chromium.org Review URL: https://codereview.chromium.org/294353002
2014-05-23Convert all line endings to LF.John Abd-El-Malek
2014-05-17Initial commit.John Abd-El-Malek