/* For general Scribus (>=1.3.2) copyright and licensing information please refer to the COPYING file provided with the program. Following this notice may exist a copyright and/or license notice that predates the release of Scribus 1.3.2 for which a new license (GPL+exception) is in place. */ #ifndef PDFOPTIONS_H #define PDFOPTIONS_H /** * @file pdfoptions.h * @author Franz Schmid * @author Craig Ringer * @brief Defines class PDFOptions, used for loading/saving/passing around PDF options */ #include "qstring.h" #include "qmap.h" #include "qvaluelist.h" #include "scribusapi.h" #include "scribusstructs.h" /** * @brief PDF Options struture. Capable of verifying its self, but otherwise largely * a dumb struct. * * If you change this class, please ensure that PDFOptionsIO is * updated to match and scribus/dtd/scribuspdfoptions.dtd is tweaked * if required. * * @sa PDFOptionsIO */ class SCRIBUS_API PDFOptions { public: enum VerifyResults { Verify_NoError = 0, Verify_OptionConflict, Verify_OptionOutOfRange, Verify_OtherError }; enum PDFVersion { PDFVersion_13 = 13, PDFVersion_14 = 14, PDFVersion_15 = 15, PDFVersion_X3 = 12, }; enum PDFPageLayout { SinglePage = 0, OneColumn, TwoColumnLeft, TwoColumnRight }; /** * @author Craig Ringer * @brief Sanity check the options defined. * * Unimplemented, always returns Verify_NoError * * Checks the PDF option structure for conflicts between mututally * exclusive options, ensures all options are within sane ranges, * and that there are no nonsensical options values set. If nothing * is wrong, returns Verify_NoError, otherwise returns error code from * PDFOptions::VerifyResults. If problemDescription is not NULL, * it will contain a human-readable description of the error on return. * * @warning DO NOT *EVER* TEST THE VALUE OF problemDescription. Rely on the * return code instead. problemDescription is subject to * translation and its contents may change without notice. * * @param problemDescription Error description * @return Verify_NoError for sane options, otherwise error code. */ PDFOptions::VerifyResults verify(QString* problemDescription); PDFOptions::VerifyResults verify(); bool Thumbnails; bool Articles; bool useLayers; bool Compress; int CompressMethod; int Quality; bool RecalcPic; bool Bookmarks; int PicRes; PDFVersion Version; int Resolution; int Binding; QValueList EmbedList; QValueList SubsetList; bool MirrorH; bool MirrorV; bool doClip; int RotateDeg; bool PresentMode; QValueList PresentVals; QString Datei; bool isGrayscale; bool UseRGB; bool UseProfiles; bool UseProfiles2; bool UseLPI; bool UseSpotColors; bool doMultiFile; QMap LPISettings; QString SolidProf; int SComp; QString ImageProf; bool EmbeddedI; int Intent2; QString PrintProf; QString Info; int Intent; double BleedTop; double BleedLeft; double BleedRight; double BleedBottom; bool Encrypt; QString PassOwner; QString PassUser; int Permissions; int PageLayout; bool displayBookmarks; bool displayThumbs; bool displayLayers; bool displayFullscreen; bool hideToolBar; bool hideMenuBar; bool fitWindow; QString openAction; }; #endif