"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/Plugins/Pdf/PDFWriter/DocumentContext.h" between
TeXmacs-1.99.4-src.tar.gz and TeXmacs-1.99.5-src.tar.gz

About: GNU TeXmacs is a what-you-see-is-what-you-get scientific text editor, which was both inspired by TeX and GNU Emacs.

DocumentContext.h  (TeXmacs-1.99.4-src):DocumentContext.h  (TeXmacs-1.99.5-src)
skipping to change at line 21 skipping to change at line 21
Unless required by applicable law or agreed to in writing, software Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
#pragma once #pragma once
#ifndef PDFHUMMUS_NO_TIFF
#define PDFHUMMUS_NO_TIFF
#endif
#include "EStatusCode.h" #include "EStatusCode.h"
#include "EPDFVersion.h" #include "EPDFVersion.h"
#include "IOBasicTypes.h" #include "IOBasicTypes.h"
#include "TrailerInformation.h" #include "TrailerInformation.h"
#include "CatalogInformation.h" #include "CatalogInformation.h"
#include "JPEGImageHandler.h" #include "JPEGImageHandler.h"
#include "TIFFImageHandler.h" #include "TIFFImageHandler.h"
#include "TiffUsageParameters.h" #include "TiffUsageParameters.h"
#include "UsedFontsRepository.h" #include "UsedFontsRepository.h"
#include "PDFEmbedParameterTypes.h" #include "PDFEmbedParameterTypes.h"
#include "PDFDocumentHandler.h" #include "PDFDocumentHandler.h"
#include "ObjectsBasicTypes.h" #include "ObjectsBasicTypes.h"
#include "EHummusImageType.h"
#include <string> #include <string>
#include <set> #include <set>
#include <utility> #include <utility>
#include <list> #include <list>
#include <map> #include <map>
using namespace IOBasicTypes; using namespace IOBasicTypes;
typedef std::pair<ObjectIDType,bool> ObjectIDTypeAndBool;
class DictionaryContext; class DictionaryContext;
class ObjectsContext; class ObjectsContext;
class PDFPage; class PDFPage;
class PageTree; class PageTree;
class OutputFile; class OutputFile;
class IDocumentContextExtender; class IDocumentContextExtender;
class PageContentContext; class PageContentContext;
class ResourcesDictionary; class ResourcesDictionary;
class PDFFormXObject; class PDFFormXObject;
class PDFTiledPattern;
class PDFRectangle; class PDFRectangle;
class PDFImageXObject; class PDFImageXObject;
class PDFUsedFont; class PDFUsedFont;
class PageContentContext; class PageContentContext;
class PDFParser; class PDFParser;
class PDFDictionary; class PDFDictionary;
class IResourceWritingTask; class IResourceWritingTask;
class IFormEndWritingTask; class IFormEndWritingTask;
class PDFDocumentCopyingContext; class PDFDocumentCopyingContext;
class IPageEndWritingTask; class IPageEndWritingTask;
class ITiledPatternEndWritingTask;
typedef std::set<IDocumentContextExtender*> IDocumentContextExtenderSet; typedef std::set<IDocumentContextExtender*> IDocumentContextExtenderSet;
typedef std::pair<PDFHummus::EStatusCode,ObjectIDType> EStatusCodeAndObjectIDTyp e; typedef std::pair<PDFHummus::EStatusCode,ObjectIDType> EStatusCodeAndObjectIDTyp e;
typedef std::list<ObjectIDType> ObjectIDTypeList; typedef std::list<ObjectIDType> ObjectIDTypeList;
typedef std::set<ObjectIDType> ObjectIDTypeSet; typedef std::set<ObjectIDType> ObjectIDTypeSet;
typedef std::map<ObjectIDType,std::string> ObjectIDTypeToStringMap; typedef std::map<ObjectIDType,std::string> ObjectIDTypeToStringMap;
typedef std::set<PDFDocumentCopyingContext*> PDFDocumentCopyingContextSet; typedef std::set<PDFDocumentCopyingContext*> PDFDocumentCopyingContextSet;
typedef std::pair<ResourcesDictionary*,std::string> ResourcesDictionaryAndString ; typedef std::pair<ResourcesDictionary*,std::string> ResourcesDictionaryAndString ;
typedef std::list<IResourceWritingTask*> IResourceWritingTaskList; typedef std::list<IResourceWritingTask*> IResourceWritingTaskList;
typedef std::map<ResourcesDictionaryAndString,IResourceWritingTaskList> Resource sDictionaryAndStringToIResourceWritingTaskListMap; typedef std::map<ResourcesDictionaryAndString,IResourceWritingTaskList> Resource sDictionaryAndStringToIResourceWritingTaskListMap;
typedef std::list<IFormEndWritingTask*> IFormEndWritingTaskList; typedef std::list<IFormEndWritingTask*> IFormEndWritingTaskList;
typedef std::map<PDFFormXObject*,IFormEndWritingTaskList> PDFFormXObjectToIFormE ndWritingTaskListMap; typedef std::map<PDFFormXObject*,IFormEndWritingTaskList> PDFFormXObjectToIFormE ndWritingTaskListMap;
typedef std::list<IPageEndWritingTask*> IPageEndWritingTaskList; typedef std::list<IPageEndWritingTask*> IPageEndWritingTaskList;
typedef std::map<PDFPage*,IPageEndWritingTaskList> PDFPageToIPageEndWritingTaskL istMap; typedef std::map<PDFPage*,IPageEndWritingTaskList> PDFPageToIPageEndWritingTaskL istMap;
typedef std::list<ITiledPatternEndWritingTask*> ITiledPatternEndWritingTaskList;
typedef std::map<PDFTiledPattern*, ITiledPatternEndWritingTaskList> PDFTiledPatt
ernToITiledPatternEndWritingTaskListMap;
typedef std::pair<std::string,unsigned long> StringAndULongPair;
namespace PDFHummus namespace PDFHummus
{ {
struct HummusImageInformation
{
HummusImageInformation(){writtenObjectID = 0;imageType=eUndefined
;imageWidth=-1;imageHeight=-1;}
ObjectIDType writtenObjectID;
EHummusImageType imageType;
double imageWidth;
double imageHeight;
};
typedef std::map<StringAndULongPair,HummusImageInformation> StringAndULon
gPairToHummusImageInformationMap;
class DocumentContext class DocumentContext
{ {
public: public:
DocumentContext(); DocumentContext();
~DocumentContext(); ~DocumentContext();
void SetObjectsContext(ObjectsContext* inObjectsContext); void SetObjectsContext(ObjectsContext* inObjectsContext);
void SetOutputFileInformation(OutputFile* inOutputFile); void SetOutputFileInformation(OutputFile* inOutputFile);
PDFHummus::EStatusCode WriteHeader(EPDFVersion inPDFVersion); PDFHummus::EStatusCode WriteHeader(EPDFVersion inPDFVersion);
PDFHummus::EStatusCode FinalizeNewPDF(); PDFHummus::EStatusCode FinalizeNewPDF(bool inEmbedFonts);
PDFHummus::EStatusCode FinalizeModifiedPDF(PDFParser* inModifiedFilePars PDFHummus::EStatusCode FinalizeModifiedPDF(PDFParser* inModifiedFilePars
er,EPDFVersion inModifiedPDFVersion); er,EPDFVersion inModifiedPDFVersion,bool inEmbedFonts);
TrailerInformation& GetTrailerInformation(); TrailerInformation& GetTrailerInformation();
CatalogInformation& GetCatalogInformation(); CatalogInformation& GetCatalogInformation();
// Page and Page Content Writing // Page and Page Content Writing
// Use StartPageContentContext for creating a page content for th is page. // Use StartPageContentContext for creating a page content for th is page.
// using the context you can now start creating content for it. // using the context you can now start creating content for it.
// if this page already has a content context, it will be returne d // if this page already has a content context, it will be returne d
PageContentContext* StartPageContentContext(PDFPage* inPage); PageContentContext* StartPageContentContext(PDFPage* inPage);
skipping to change at line 121 skipping to change at line 145
bool HasContentContext(PDFPage* inPage); bool HasContentContext(PDFPage* inPage);
EStatusCodeAndObjectIDType WritePage(PDFPage* inPage); EStatusCodeAndObjectIDType WritePage(PDFPage* inPage);
EStatusCodeAndObjectIDType WritePageAndRelease(PDFPage* inPage); EStatusCodeAndObjectIDType WritePageAndRelease(PDFPage* inPage);
// Use this to add annotation references to a page. the reference s will be written on the next page write (see WritePage and WritePageAndRelease) // Use this to add annotation references to a page. the reference s will be written on the next page write (see WritePage and WritePageAndRelease)
void RegisterAnnotationReferenceForNextPageWrite(ObjectIDType inA nnotationReference); void RegisterAnnotationReferenceForNextPageWrite(ObjectIDType inA nnotationReference);
// Form XObject creation and finalization // Form XObject creation and finalization
PDFFormXObject* StartFormXObject(const PDFRectangle& inBoundingBo x,const double* inMatrix = NULL); PDFFormXObject* StartFormXObject(const PDFRectangle& inBoundingBo x,const double* inMatrix = NULL);
PDFFormXObject* StartFormXObject(const PDFRectangle& inBoundingBo //// Patch for GNU TeXmacs to support transparency
x,ObjectIDType inFormXObjectID,const double* inMatrix = NULL); PDFFormXObject* StartFormXObject(const PDFRectangle& inBoundingBo
x,ObjectIDType inFormXObjectID,const double* inMatrix = NULL,const bool transpar
ency = false);
//// End patch for GNU TeXmacs to support transparency
PDFHummus::EStatusCode EndFormXObject(PDFFormXObject* inFormXObje ct); PDFHummus::EStatusCode EndFormXObject(PDFFormXObject* inFormXObje ct);
PDFHummus::EStatusCode EndFormXObjectAndRelease(PDFFormXObject* i nFormXObject); PDFHummus::EStatusCode EndFormXObjectAndRelease(PDFFormXObject* i nFormXObject);
// no release version of ending a form XObject. owner should dele te it (regular delete...nothin special) // no release version of ending a form XObject. owner should dele te it (regular delete...nothin special)
PDFHummus::EStatusCode EndFormXObjectNoRelease(PDFFormXObject* in FormXObject); PDFHummus::EStatusCode EndFormXObjectNoRelease(PDFFormXObject* in FormXObject);
// Tiled Pattern creation and finalization
PDFTiledPattern* StartTiledPattern(
int inPaintType,
int inTilingType,
const PDFRectangle& inBoundingBox,
double inXStep,
double inYStep,
const double* inMatrix = NULL);
PDFTiledPattern* StartTiledPattern(int inPaintType,
int inTilingType,
const PDFRectangle& inBoundingBox,
double inXStep,
double inYStep,
ObjectIDType inObjectID,
const double* inMatrix = NULL);
PDFHummus::EStatusCode EndTiledPattern(PDFTiledPattern* inTiledPa
ttern);
PDFHummus::EStatusCode EndTiledPatternAndRelease(PDFTiledPattern*
inTiledPattern);
// Image XObject creating. // Image XObject creating.
// note that as oppose to other methods, create the image xobject also writes it, so there's no "WriteXXXXAndRelease" for image. // note that as oppose to other methods, create the image xobject also writes it, so there's no "WriteXXXXAndRelease" for image.
// So...release the object yourself [just delete it] // So...release the object yourself [just delete it]
// JPEG - two variants // JPEG - two variants
// will return image xobject sized at 1X1 // will return image xobject sized at 1X1
PDFImageXObject* CreateImageXObjectFromJPGFile(const std::string& inJPGFilePath); PDFImageXObject* CreateImageXObjectFromJPGFile(const std::string& inJPGFilePath);
PDFImageXObject* CreateImageXObjectFromJPGStream(IByteReaderWithP osition* inJPGStream); PDFImageXObject* CreateImageXObjectFromJPGStream(IByteReaderWithP osition* inJPGStream);
PDFImageXObject* CreateImageXObjectFromJPGFile(const std::string& inJPGFilePath,ObjectIDType inImageXObjectID); PDFImageXObject* CreateImageXObjectFromJPGFile(const std::string& inJPGFilePath,ObjectIDType inImageXObjectID);
skipping to change at line 212 skipping to change at line 256
PDFHummus::EStatusCode MergePDFPagesToPage(PDFPage* inPage, PDFHummus::EStatusCode MergePDFPagesToPage(PDFPage* inPage,
I ByteReaderWithPosition* inPDFStream, I ByteReaderWithPosition* inPDFStream,
c onst PDFPageRange& inPageRange, c onst PDFPageRange& inPageRange,
c onst ObjectIDTypeList& inCopyAdditionalObjects = ObjectIDTypeList()); c onst ObjectIDTypeList& inCopyAdditionalObjects = ObjectIDTypeList());
PDFDocumentCopyingContext* CreatePDFCopyingContext(const std::str ing& inPDFFilePath); PDFDocumentCopyingContext* CreatePDFCopyingContext(const std::str ing& inPDFFilePath);
PDFDocumentCopyingContext* CreatePDFCopyingContext(IByteReaderWit hPosition* inPDFStream); PDFDocumentCopyingContext* CreatePDFCopyingContext(IByteReaderWit hPosition* inPDFStream);
PDFDocumentCopyingContext* CreatePDFCopyingContext(PDFParser* inPDFParse r); PDFDocumentCopyingContext* CreatePDFCopyingContext(PDFParser* inPDFParse r);
// some public image info services, for users of hummus
DoubleAndDoublePair GetImageDimensions(const std::string& inImage
File,unsigned long inImageIndex = 0);
EHummusImageType GetImageType(const std::string& inImageFile,unsi
gned long inImageIndex);
unsigned long GetImagePagesCount(const std::string& inImageFile);
// Font [Text] (font index is for multi-font files. for single fi le fonts, pass 0) // Font [Text] (font index is for multi-font files. for single fi le fonts, pass 0)
PDFUsedFont* GetFontForFile(const std::string& inFontFilePath,lon g inFontIndex); PDFUsedFont* GetFontForFile(const std::string& inFontFilePath,lon g inFontIndex);
// second overload is for type 1, when an additional metrics file is available // second overload is for type 1, when an additional metrics file is available
PDFUsedFont* GetFontForFile(const std::string& inFontFilePath,con st std::string& inAdditionalMeticsFilePath,long inFontIndex); PDFUsedFont* GetFontForFile(const std::string& inFontFilePath,con st std::string& inAdditionalMeticsFilePath,long inFontIndex);
// URL should be encoded to be a valid URL, ain't gonna be checki ng that! // URL should be encoded to be a valid URL, ain't gonna be checki ng that!
PDFHummus::EStatusCode AttachURLLinktoCurrentPage(const std::stri ng& inURL,const PDFRectangle& inLinkClickArea); PDFHummus::EStatusCode AttachURLLinktoCurrentPage(const std::stri ng& inURL,const PDFRectangle& inLinkClickArea);
// Extensibility // Extensibility
void AddDocumentContextExtender(IDocumentContextExtender* inExten der); void AddDocumentContextExtender(IDocumentContextExtender* inExten der);
skipping to change at line 237 skipping to change at line 286
// are called when a certain resoruce category for a certain form is wri tten. each task // are called when a certain resoruce category for a certain form is wri tten. each task
// is supposed to write one resource. it can write a direct object. // is supposed to write one resource. it can write a direct object.
// note that the task is supposed to both write the name and the content of the object. // note that the task is supposed to both write the name and the content of the object.
// returns the name of the newley added resource // returns the name of the newley added resource
std::string AddExtendedResourceMapping(PDFFormXObject* inFormXObject, std::string AddExtendedResourceMapping(PDFFormXObject* inFormXObject,
const std::string& inResourceCategoryN ame, const std::string& inResourceCategoryN ame,
IResourceWritingTask* inWritingTask); IResourceWritingTask* inWritingTask);
std::string AddExtendedResourceMapping(PDFPage* inPage, std::string AddExtendedResourceMapping(PDFPage* inPage,
const std::string& inResourceCategoryN ame, const std::string& inResourceCategoryN ame,
IResourceWritingTask* inWritingTask); IResourceWritingTask* inWritingTask);
std::string AddExtendedResourceMapping(ResourcesDictionary* inResourceDi std::string AddExtendedResourceMapping(PDFTiledPattern* inTiledPa
ctionary, ttern,
c
onst std::string& inResourceCategoryName,
I
ResourceWritingTask* inWritingTask);
std::string AddExtendedResourceMapping(ResourcesDictionary* inRes
ourceDictionary,
const std::string& inResourceCategoryN ame, const std::string& inResourceCategoryN ame,
IResourceWritingTask* inWritingTask); IResourceWritingTask* inWritingTask);
// Extensibility option. option of writing a single time task for when a particular form ends // Extensibility option. option of writing a single time task for when a particular form ends
void RegisterFormEndWritingTask(PDFFormXObject* inFormXObject,IFormEndWr itingTask* inWritingTask); void RegisterFormEndWritingTask(PDFFormXObject* inFormXObject,IFormEndWr itingTask* inWritingTask);
// Extensibility option. option of writing a single time task for when a particular page ends // Extensibility option. option of writing a single time task for when a particular page ends
void RegisterPageEndWritingTask(PDFPage* inPageObject,IPageEndWritingTas k* inWritingTask); void RegisterPageEndWritingTask(PDFPage* inPageObject,IPageEndWritingTas k* inWritingTask);
// Extensibility option. option of writing a single time task for
// JPG images handler for retrieving JPG images information when a particular pattern ends
JPEGImageHandler& GetJPEGImageHandler(); void RegisterTiledPatternEndWritingTask(PDFTiledPattern* inTiledP
atternObject, ITiledPatternEndWritingTask* inWritingTask);
PDFHummus::EStatusCode WriteState(ObjectsContext* inStateWriter,O bjectIDType inObjectID); PDFHummus::EStatusCode WriteState(ObjectsContext* inStateWriter,O bjectIDType inObjectID);
PDFHummus::EStatusCode ReadState(PDFParser* inStateReader,ObjectI DType inObjectID); PDFHummus::EStatusCode ReadState(PDFParser* inStateReader,ObjectI DType inObjectID);
void Cleanup(); void Cleanup();
// modification scenario // modification scenario
PDFHummus::EStatusCode SetupModifiedFile(PDFParser* inModifiedFileParser ); PDFHummus::EStatusCode SetupModifiedFile(PDFParser* inModifiedFileParser );
// internal methods for copying context listeners handling // internal methods for copying context listeners handling
void RegisterCopyingContext(PDFDocumentCopyingContext* inCopyingC ontext); void RegisterCopyingContext(PDFDocumentCopyingContext* inCopyingC ontext);
void UnRegisterCopyingContext(PDFDocumentCopyingContext* inCopyin gContext); void UnRegisterCopyingContext(PDFDocumentCopyingContext* inCopyin gContext);
// internal methods for easy image writing
EStatusCode WriteFormForImage(const std::string& inImagePath,unsi
gned long inImageIndex,ObjectIDType inObjectID);
ObjectIDTypeAndBool RegisterImageForDrawing(const std::string& in
ImageFile,unsigned long inImageIndex);
// JPG images handler for retrieving JPG images information
JPEGImageHandler& GetJPEGImageHandler();
// tiff image handler accessor
#ifndef PDFHUMMUS_NO_TIFF
TIFFImageHandler& GetTIFFImageHandler();
#endif
private: private:
ObjectsContext* mObjectsContext; ObjectsContext* mObjectsContext;
TrailerInformation mTrailerInformation; TrailerInformation mTrailerInformation;
CatalogInformation mCatalogInformation; CatalogInformation mCatalogInformation;
std::string mOutputFilePath; std::string mOutputFilePath;
IDocumentContextExtenderSet mExtenders; IDocumentContextExtenderSet mExtenders;
JPEGImageHandler mJPEGImageHandler; JPEGImageHandler mJPEGImageHandler;
#ifndef PDFHUMMUS_NO_TIFF #ifndef PDFHUMMUS_NO_TIFF
TIFFImageHandler mTIFFImageHandler; TIFFImageHandler mTIFFImageHandler;
#endif #endif
skipping to change at line 281 skipping to change at line 344
UsedFontsRepository mUsedFontsRepository; UsedFontsRepository mUsedFontsRepository;
ObjectIDTypeSet mAnnotations; ObjectIDTypeSet mAnnotations;
IPDFParserExtender* mParserExtender; IPDFParserExtender* mParserExtender;
PDFDocumentCopyingContextSet mCopyingContexts; PDFDocumentCopyingContextSet mCopyingContexts;
bool mModifiedDocumentIDExists; bool mModifiedDocumentIDExists;
std::string mModifiedDocumentID; std::string mModifiedDocumentID;
ObjectIDType mCurrentPageTreeIDInState; ObjectIDType mCurrentPageTreeIDInState;
ResourcesDictionaryAndStringToIResourceWritingTaskListMap mResourcesTask s; ResourcesDictionaryAndStringToIResourceWritingTaskListMap mResourcesTask s;
PDFFormXObjectToIFormEndWritingTaskListMap mFormEndTasks; PDFFormXObjectToIFormEndWritingTaskListMap mFormEndTasks;
PDFPageToIPageEndWritingTaskListMap mPageEndTasks; PDFPageToIPageEndWritingTaskListMap mPageEndTasks;
PDFTiledPatternToITiledPatternEndWritingTaskListMap mTiledPattern
EndTasks;
StringAndULongPairToHummusImageInformationMap mImagesInformation;
void WriteHeaderComment(EPDFVersion inPDFVersion); void WriteHeaderComment(EPDFVersion inPDFVersion);
void Write4BinaryBytes(); void Write4BinaryBytes();
PDFHummus::EStatusCode WriteCatalogObjectOfNewPDF(); PDFHummus::EStatusCode WriteCatalogObjectOfNewPDF();
PDFHummus::EStatusCode WriteCatalogObject(const ObjectReference& inPageT reeRootObjectReference); PDFHummus::EStatusCode WriteCatalogObject(const ObjectReference& inPageT reeRootObjectReference);
PDFHummus::EStatusCode WriteTrailerDictionary(); PDFHummus::EStatusCode WriteTrailerDictionary();
PDFHummus::EStatusCode WriteTrailerDictionaryValues(DictionaryContext* i nDictionaryContext); PDFHummus::EStatusCode WriteTrailerDictionaryValues(DictionaryContext* i nDictionaryContext);
void WriteReferenceState(ObjectsContext* inStateWriter, void WriteReferenceState(ObjectsContext* inStateWriter,
DictionaryContext* inDictionaryContext, DictionaryContext* inDictionaryContext,
const ObjectReference& inReference); const ObjectReference& inReference);
skipping to change at line 304 skipping to change at line 369
void WriteInfoDictionary(); void WriteInfoDictionary();
void WritePagesTree(); void WritePagesTree();
int WritePageTree(PageTree* inPageTreeToWrite); int WritePageTree(PageTree* inPageTreeToWrite);
std::string GenerateMD5IDForFile(); std::string GenerateMD5IDForFile();
PDFHummus::EStatusCode WriteResourcesDictionary(ResourcesDictiona ry& inResourcesDictionary); PDFHummus::EStatusCode WriteResourcesDictionary(ResourcesDictiona ry& inResourcesDictionary);
PDFHummus::EStatusCode WriteResourceDictionary(ResourcesDictionary* inRe sourcesDictionary, PDFHummus::EStatusCode WriteResourceDictionary(ResourcesDictionary* inRe sourcesDictionary,
DictionaryContext* inReso urcesCategoryDictionary, DictionaryContext* inReso urcesCategoryDictionary,
const std::string& inReso urceDictionaryLabel, const std::string& inReso urceDictionaryLabel,
MapIterator<ObjectIDTypeT oStringMap> inMapping); MapIterator<ObjectIDTypeT oStringMap> inMapping);
bool IsIdentityMatrix(const double* inMatrix); bool IsIdentityMatrix(const double* inMatrix);
PDFHummus::EStatusCode WriteUsedFontsDefinitions(); PDFHummus::EStatusCode WriteUsedFontsDefinitions(bool inEmbedFont s);
EStatusCodeAndObjectIDType WriteAnnotationAndLinkForURL(const std ::string& inURL,const PDFRectangle& inLinkClickArea); EStatusCodeAndObjectIDType WriteAnnotationAndLinkForURL(const std ::string& inURL,const PDFRectangle& inLinkClickArea);
void WriteTrailerState(ObjectsContext* inStateWriter,ObjectIDType inObjectID); void WriteTrailerState(ObjectsContext* inStateWriter,ObjectIDType inObjectID);
void WriteReferenceState(ObjectsContext* inStateWriter, void WriteReferenceState(ObjectsContext* inStateWriter,
const ObjectReference& inReference); const ObjectReference& inReference);
void WriteTrailerInfoState(ObjectsContext* inStateWriter,ObjectID Type inObjectID); void WriteTrailerInfoState(ObjectsContext* inStateWriter,ObjectID Type inObjectID);
void WriteDateState(ObjectsContext* inStateWriter,const PDFDate& inDate); void WriteDateState(ObjectsContext* inStateWriter,const PDFDate& inDate);
void WriteCatalogInformationState(ObjectsContext* inStateWriter,O bjectIDType inObjectID); void WriteCatalogInformationState(ObjectsContext* inStateWriter,O bjectIDType inObjectID);
void ReadTrailerState(PDFParser* inStateReader,PDFDictionary* inT railerState); void ReadTrailerState(PDFParser* inStateReader,PDFDictionary* inT railerState);
ObjectReference GetReferenceFromState(PDFDictionary* inDictionary); ObjectReference GetReferenceFromState(PDFDictionary* inDictionary);
skipping to change at line 330 skipping to change at line 395
void ReadPageTreeState(PDFParser* inStateReader,PDFDictionary* in PageTreeState,PageTree* inPageTree); void ReadPageTreeState(PDFParser* inStateReader,PDFDictionary* in PageTreeState,PageTree* inPageTree);
PDFHummus::EStatusCode SetupTrailerFromModifiedFile(PDFParser* inModifie dFileParser); PDFHummus::EStatusCode SetupTrailerFromModifiedFile(PDFParser* inModifie dFileParser);
ObjectReference GetOriginalDocumentPageTreeRoot(PDFParser* inModifiedFil eParser); ObjectReference GetOriginalDocumentPageTreeRoot(PDFParser* inModifiedFil eParser);
bool DocumentHasNewPages(); bool DocumentHasNewPages();
ObjectIDType WriteCombinedPageTree(PDFParser* inModifiedFileParser); ObjectIDType WriteCombinedPageTree(PDFParser* inModifiedFileParser);
bool IsRequiredVersionHigherThanPDFVersion(PDFParser* inModifiedFilePars er,EPDFVersion inModifiedPDFVersion); bool IsRequiredVersionHigherThanPDFVersion(PDFParser* inModifiedFilePars er,EPDFVersion inModifiedPDFVersion);
bool DoExtendersRequireCatalogUpdate(PDFParser* inModifiedFileParser); bool DoExtendersRequireCatalogUpdate(PDFParser* inModifiedFileParser);
bool RequiresXrefStream(PDFParser* inModifiedFileParser); bool RequiresXrefStream(PDFParser* inModifiedFileParser);
PDFHummus::EStatusCode WriteXrefStream(LongFilePositionType& outXrefPosi tion); PDFHummus::EStatusCode WriteXrefStream(LongFilePositionType& outXrefPosi tion);
HummusImageInformation& GetImageInformationStructFor(const std::s tring& inImageFile,unsigned long inImageIndex);
}; };
} }
 End of changes. 17 change blocks. 
11 lines changed or deleted 105 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS