| ipebase.h | | ipebase.h | |
| | | | |
| skipping to change at line 41 | | skipping to change at line 41 | |
| | | | |
| #ifndef IPEBASE_H | | #ifndef IPEBASE_H | |
| #define IPEBASE_H | | #define IPEBASE_H | |
| | | | |
| #include <cstdio> | | #include <cstdio> | |
| #include <cstring> | | #include <cstring> | |
| #include <vector> | | #include <vector> | |
| #include <map> | | #include <map> | |
| #include <list> | | #include <list> | |
| #include <algorithm> | | #include <algorithm> | |
|
| #include <iconv.h> | | | |
| | | | |
| // -------------------------------------------------------------------- | | // -------------------------------------------------------------------- | |
| | | | |
| typedef unsigned char uchar; | | typedef unsigned char uchar; | |
| | | | |
| #if defined(__MINGW32__) || defined(__APPLE__) | | #if defined(__MINGW32__) || defined(__APPLE__) | |
| typedef unsigned short ushort; | | typedef unsigned short ushort; | |
| typedef unsigned int uint; | | typedef unsigned int uint; | |
| typedef unsigned long int ulong; | | typedef unsigned long int ulong; | |
| #endif | | #endif | |
| | | | |
| skipping to change at line 78 | | skipping to change at line 77 | |
| T *ptr() { return iPtr; } | | T *ptr() { return iPtr; } | |
| T *take() { T *p = iPtr; iPtr = 0; return p; } | | T *take() { T *p = iPtr; iPtr = 0; return p; } | |
| private: | | private: | |
| T *iPtr; | | T *iPtr; | |
| }; | | }; | |
| | | | |
| namespace ipe { | | namespace ipe { | |
| | | | |
| //! Ipelib version. | | //! Ipelib version. | |
| /*! \ingroup base */ | | /*! \ingroup base */ | |
|
| const int IPELIB_VERSION = 70013; | | const int IPELIB_VERSION = 70014; | |
| | | | |
| //! Oldest readable file format version. | | //! Oldest readable file format version. | |
| /*! \ingroup base */ | | /*! \ingroup base */ | |
| const int OLDEST_FILE_FORMAT = 70000; | | const int OLDEST_FILE_FORMAT = 70000; | |
| //! Current file format version. | | //! Current file format version. | |
| /*! \ingroup base */ | | /*! \ingroup base */ | |
| const int FILE_FORMAT = 70005; | | const int FILE_FORMAT = 70005; | |
| | | | |
| // -------------------------------------------------------------------- | | // -------------------------------------------------------------------- | |
| | | | |
| | | | |
| skipping to change at line 281 | | skipping to change at line 280 | |
| void putXmlString(String s); | | void putXmlString(String s); | |
| }; | | }; | |
| | | | |
| /*! \class ipe::TellStream | | /*! \class ipe::TellStream | |
| \ingroup base | | \ingroup base | |
| \brief Adds position feedback to IpeStream. | | \brief Adds position feedback to IpeStream. | |
| */ | | */ | |
| | | | |
| class TellStream : public Stream { | | class TellStream : public Stream { | |
| public: | | public: | |
|
| virtual int tell() const = 0; | | virtual long tell() const = 0; | |
| }; | | }; | |
| | | | |
| class StringStream : public TellStream { | | class StringStream : public TellStream { | |
| public: | | public: | |
| StringStream(String &string); | | StringStream(String &string); | |
| virtual void putChar(char ch); | | virtual void putChar(char ch); | |
| virtual void putString(String s); | | virtual void putString(String s); | |
| virtual void putCString(const char *s); | | virtual void putCString(const char *s); | |
| virtual void putRaw(const char *data, int size); | | virtual void putRaw(const char *data, int size); | |
|
| virtual int tell() const; | | virtual long tell() const; | |
| private: | | private: | |
| String &iString; | | String &iString; | |
| }; | | }; | |
| | | | |
| class FileStream : public TellStream { | | class FileStream : public TellStream { | |
| public: | | public: | |
| FileStream(std::FILE *file); | | FileStream(std::FILE *file); | |
| virtual void putChar(char ch); | | virtual void putChar(char ch); | |
| virtual void putString(String s); | | virtual void putString(String s); | |
| virtual void putCString(const char *s); | | virtual void putCString(const char *s); | |
| virtual void putRaw(const char *data, int size); | | virtual void putRaw(const char *data, int size); | |
|
| virtual int tell() const; | | virtual long tell() const; | |
| private: | | private: | |
| std::FILE *iFile; | | std::FILE *iFile; | |
| }; | | }; | |
| | | | |
| // -------------------------------------------------------------------- | | // -------------------------------------------------------------------- | |
| | | | |
| class DataSource { | | class DataSource { | |
| public: | | public: | |
| virtual ~DataSource() = 0; | | virtual ~DataSource() = 0; | |
| //! Get one more character, or EOF. | | //! Get one more character, or EOF. | |
| | | | |
End of changes. 5 change blocks. |
| 5 lines changed or deleted | | 4 lines changed or added | |
|
| ipedoc.h | | ipedoc.h | |
| | | | |
| skipping to change at line 80 | | skipping to change at line 80 | |
| EEps, //!< Save as Encapsulated Postscript | | EEps, //!< Save as Encapsulated Postscript | |
| EIpe5, //!< Ancient Ipe format | | EIpe5, //!< Ancient Ipe format | |
| EUnknown //!< Unknown file format | | EUnknown //!< Unknown file format | |
| }; | | }; | |
| | | | |
| //! Options for saving Ipe documents (to PDF and Postscript) | | //! Options for saving Ipe documents (to PDF and Postscript) | |
| enum { | | enum { | |
| ESaveNormal = 0, //!< Nothing special | | ESaveNormal = 0, //!< Nothing special | |
| EExport = 1, //!< Don't include Ipe markup | | EExport = 1, //!< Don't include Ipe markup | |
| ENoZip = 2, //!< Do not compress streams | | ENoZip = 2, //!< Do not compress streams | |
|
| ELastView = 4, //!< Create last view of each page only | | EMarkedView = 4, //!< Create marked views only | |
| ENoColor = 8, //!< No color commands in EPS output | | ENoColor = 8, //!< No color commands in EPS output | |
| }; | | }; | |
| | | | |
| //! Errors that can happen while loading documents | | //! Errors that can happen while loading documents | |
| enum LoadErrors { | | enum LoadErrors { | |
| EVersionTooOld = -1, //!< The version of the file is too old. | | EVersionTooOld = -1, //!< The version of the file is too old. | |
| EVersionTooRecent = -2, //!< The file version is newer than this Ipel
ib. | | EVersionTooRecent = -2, //!< The file version is newer than this Ipel
ib. | |
| EFileOpenError = -3, //!< Error opening the file | | EFileOpenError = -3, //!< Error opening the file | |
| }; | | }; | |
| | | | |
| | | | |
End of changes. 1 change blocks. |
| 1 lines changed or deleted | | 1 lines changed or added | |
|
| ipepage.h | | ipepage.h | |
| | | | |
| skipping to change at line 79 | | skipping to change at line 79 | |
| void setSnapping(int i, bool flag); | | void setSnapping(int i, bool flag); | |
| | | | |
| int findLayer(String name) const; | | int findLayer(String name) const; | |
| void addLayer(String name); | | void addLayer(String name); | |
| void addLayer(); | | void addLayer(); | |
| void removeLayer(String name); | | void removeLayer(String name); | |
| void renameLayer(String oldName, String newName); | | void renameLayer(String oldName, String newName); | |
| | | | |
| //! Return number of views. | | //! Return number of views. | |
| inline int countViews() const { return iViews.size(); } | | inline int countViews() const { return iViews.size(); } | |
|
| | | int countMarkedViews() const; | |
| //! Return effect of view. | | //! Return effect of view. | |
| inline Attribute effect(int index) const { return iViews[index].iEffect
; } | | inline Attribute effect(int index) const { return iViews[index].iEffect
; } | |
| void setEffect(int index, Attribute sym); | | void setEffect(int index, Attribute sym); | |
| //! Return active layer of view. | | //! Return active layer of view. | |
| inline String active(int index) const { return iViews[index].iActive; } | | inline String active(int index) const { return iViews[index].iActive; } | |
| //! Set active layer of view. | | //! Set active layer of view. | |
| void setActive(int index, String name); | | void setActive(int index, String name); | |
|
| | | //! Return if view is marked. | |
| | | bool markedView(int index) const { return iViews[index].iMarked; } | |
| | | //! Set if view is marked. | |
| | | void setMarkedView(int index, bool marked); | |
| | | | |
| void insertView(int i, String active); | | void insertView(int i, String active); | |
| void removeView(int i); | | void removeView(int i); | |
| void clearViews(); | | void clearViews(); | |
| | | | |
| //! Is \a layer visible in \a view? | | //! Is \a layer visible in \a view? | |
| inline bool visible(int view, int layer) const { | | inline bool visible(int view, int layer) const { | |
| return iLayers[layer].iVisible[view]; } | | return iLayers[layer].iVisible[view]; } | |
| //! Is object at index \a objno visible in \a view? | | //! Is object at index \a objno visible in \a view? | |
| inline bool objectVisible(int view, int objno) const { | | inline bool objectVisible(int view, int objno) const { | |
| | | | |
| skipping to change at line 112 | | skipping to change at line 117 | |
| //! Return title of this page. | | //! Return title of this page. | |
| String title() const; | | String title() const; | |
| void setTitle(String title); | | void setTitle(String title); | |
| String section(int level) const; | | String section(int level) const; | |
| void setSection(int level, bool useTitle, String name); | | void setSection(int level, bool useTitle, String name); | |
| //! Does this section title reflect the page title? | | //! Does this section title reflect the page title? | |
| bool sectionUsesTitle(int level) const { return iUseTitle[level]; } | | bool sectionUsesTitle(int level) const { return iUseTitle[level]; } | |
| const Text *titleText() const; | | const Text *titleText() const; | |
| void applyTitleStyle(const Cascade *sheet); | | void applyTitleStyle(const Cascade *sheet); | |
| | | | |
|
| | | //! Return if page is marked for printing. | |
| | | bool marked() const { return iMarked; } | |
| | | void setMarked(bool marked); | |
| | | | |
| //! Return notes for this page. | | //! Return notes for this page. | |
| String notes() const { return iNotes; } | | String notes() const { return iNotes; } | |
| void setNotes(String notes); | | void setNotes(String notes); | |
| | | | |
| //! Return number of objects on the page. | | //! Return number of objects on the page. | |
| inline int count() const { return int(iObjects.size()); } | | inline int count() const { return int(iObjects.size()); } | |
| | | | |
| //! Return object at index \a i. | | //! Return object at index \a i. | |
| inline Object *object(int i) { return iObjects[i].iObject; } | | inline Object *object(int i) { return iObjects[i].iObject; } | |
| //! Return object at index \a i (const version). | | //! Return object at index \a i (const version). | |
| | | | |
| skipping to change at line 176 | | skipping to change at line 185 | |
| std::vector<bool> iVisible; | | std::vector<bool> iVisible; | |
| }; | | }; | |
| typedef std::vector<SLayer> LayerSeq; | | typedef std::vector<SLayer> LayerSeq; | |
| | | | |
| struct SView { | | struct SView { | |
| public: | | public: | |
| SView() { iEffect = Attribute::NORMAL(); } | | SView() { iEffect = Attribute::NORMAL(); } | |
| public: | | public: | |
| Attribute iEffect; | | Attribute iEffect; | |
| String iActive; | | String iActive; | |
|
| | | bool iMarked; | |
| }; | | }; | |
| typedef std::vector<SView> ViewSeq; | | typedef std::vector<SView> ViewSeq; | |
| | | | |
| struct SObject { | | struct SObject { | |
| SObject(); | | SObject(); | |
| SObject(const SObject &rhs); | | SObject(const SObject &rhs); | |
| ~SObject(); | | ~SObject(); | |
| SObject &operator=(const SObject &rhs); | | SObject &operator=(const SObject &rhs); | |
| | | | |
| TSelect iSelect; | | TSelect iSelect; | |
| | | | |
| skipping to change at line 201 | | skipping to change at line 211 | |
| | | | |
| LayerSeq iLayers; | | LayerSeq iLayers; | |
| ViewSeq iViews; | | ViewSeq iViews; | |
| | | | |
| String iTitle; | | String iTitle; | |
| Text iTitleObject; | | Text iTitleObject; | |
| bool iUseTitle[2]; | | bool iUseTitle[2]; | |
| String iSection[2]; | | String iSection[2]; | |
| ObjSeq iObjects; | | ObjSeq iObjects; | |
| String iNotes; | | String iNotes; | |
|
| | | bool iMarked; | |
| }; | | }; | |
| | | | |
| } // namespace | | } // namespace | |
| | | | |
| // -------------------------------------------------------------------- | | // -------------------------------------------------------------------- | |
| #endif | | #endif | |
| | | | |
End of changes. 5 change blocks. |
| 0 lines changed or deleted | | 11 lines changed or added | |
|
| ipepdfwriter.h | | ipepdfwriter.h | |
| | | | |
| skipping to change at line 86 | | skipping to change at line 86 | |
| // over and over again. | | // over and over again. | |
| std::list<State> iActiveState; | | std::list<State> iActiveState; | |
| }; | | }; | |
| | | | |
| // -------------------------------------------------------------------- | | // -------------------------------------------------------------------- | |
| | | | |
| class PdfWriter { | | class PdfWriter { | |
| public: | | public: | |
| PdfWriter(TellStream &stream, const Document *doc, | | PdfWriter(TellStream &stream, const Document *doc, | |
| const FontPool *pool, | | const FontPool *pool, | |
|
| bool lastView, int fromPage, int toPage, int compression); | | bool markedView, int fromPage, int toPage, int compression); | |
| ~PdfWriter(); | | ~PdfWriter(); | |
| | | | |
| void createPages(); | | void createPages(); | |
| void createPageView(int page, int view); | | void createPageView(int page, int view); | |
| void createBookmarks(); | | void createBookmarks(); | |
| void createXmlStream(String xmldata, bool preCompressed); | | void createXmlStream(String xmldata, bool preCompressed); | |
| void createTrailer(); | | void createTrailer(); | |
| | | | |
| private: | | private: | |
| int startObject(int objnum = -1); | | int startObject(int objnum = -1); | |
| | | | |
| skipping to change at line 109 | | skipping to change at line 109 | |
| void embedBitmap(Bitmap bitmap); | | void embedBitmap(Bitmap bitmap); | |
| void paintView(Stream &stream, int pno, int view); | | void paintView(Stream &stream, int pno, int view); | |
| void embedBitmaps(const BitmapFinder &bm); | | void embedBitmaps(const BitmapFinder &bm); | |
| void createResources(const BitmapFinder &bm); | | void createResources(const BitmapFinder &bm); | |
| void embedFonts(const FontPool *pool); | | void embedFonts(const FontPool *pool); | |
| | | | |
| private: | | private: | |
| TellStream &iStream; | | TellStream &iStream; | |
| const Document *iDoc; | | const Document *iDoc; | |
| //! Show only last view of each page? | | //! Show only last view of each page? | |
|
| bool iLastView; | | bool iMarkedView; | |
| //! Obj id of XML stream. | | //! Obj id of XML stream. | |
| int iXmlStreamNum; | | int iXmlStreamNum; | |
| //! Obj id of font resource dictionary. | | //! Obj id of font resource dictionary. | |
| int iResourceNum; | | int iResourceNum; | |
| //! Obj id of outline dictionary. | | //! Obj id of outline dictionary. | |
| int iBookmarks; | | int iBookmarks; | |
| //! Compression level (0..9). | | //! Compression level (0..9). | |
| int iCompressLevel; | | int iCompressLevel; | |
| //! Obj id of font for page numbers. | | //! Obj id of font for page numbers. | |
| int iPageNumberFont; | | int iPageNumberFont; | |
| | | | |
End of changes. 2 change blocks. |
| 2 lines changed or deleted | | 2 lines changed or added | |
|
| ipeselector.h | | ipeselector.h | |
| | | | |
| skipping to change at line 49 | | skipping to change at line 49 | |
| using namespace ipe; | | using namespace ipe; | |
| | | | |
| // -------------------------------------------------------------------- | | // -------------------------------------------------------------------- | |
| | | | |
| namespace ipeqt { | | namespace ipeqt { | |
| | | | |
| class PageSelector : public QListWidget { | | class PageSelector : public QListWidget { | |
| Q_OBJECT | | Q_OBJECT | |
| | | | |
| public: | | public: | |
|
| PageSelector(Document *doc, int page, int width, QWidget *parent = 0); | | PageSelector(Document *doc, int page, int startIndex, | |
| | | int width, QWidget *parent = 0); | |
| | | | |
|
| //! Return index of selected view or page. | | int selectedIndex() const { return currentRow(); } | |
| int selectedIndex() const { return iSelectedPage; } | | | |
| | | | |
| static int selectPageOrView(Document *doc, int page = -1, | | static int selectPageOrView(Document *doc, int page = -1, | |
|
| | | int startIndex = 0, | |
| int pageWidth = 240, | | int pageWidth = 240, | |
| int width = 600, int height = 480); | | int width = 600, int height = 480); | |
| | | | |
| signals: | | signals: | |
| void selectionMade(); | | void selectionMade(); | |
| | | | |
| private slots: | | private slots: | |
|
| void pageSelected(const QModelIndex &index); | | void pageSelected(QListWidgetItem *item); | |
| | | | |
| private: | | private: | |
| Document *iDoc; | | Document *iDoc; | |
|
| int iSelectedPage; | | | |
| }; | | }; | |
| | | | |
| } // namespace | | } // namespace | |
| | | | |
| // -------------------------------------------------------------------- | | // -------------------------------------------------------------------- | |
| #endif | | #endif | |
| | | | |
End of changes. 5 change blocks. |
| 5 lines changed or deleted | | 5 lines changed or added | |
|