pdf_object.hpp

来自「ncbi源码」· HPP 代码 · 共 178 行

HPP
178
字号
/* * =========================================================================== * PRODUCTION $Log: pdf_object.hpp,v $ * PRODUCTION Revision 1000.1  2004/06/01 21:03:47  gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7 * PRODUCTION * =========================================================================== */#ifndef GUI_UTILS__PDF_OBJECT_HPP#define GUI_UTILS__PDF_OBJECT_HPP/*  $Id: pdf_object.hpp,v 1000.1 2004/06/01 21:03:47 gouriano Exp $ * =========================================================================== * *                            PUBLIC DOMAIN NOTICE *               National Center for Biotechnology Information * *  This software/database is a "United States Government Work" under the *  terms of the United States Copyright Act.  It was written as part of *  the author's official duties as a United States Government employee and *  thus cannot be copyrighted.  This software/database is freely available *  to the public for use. The National Library of Medicine and the U.S. *  Government have not placed any restriction on its use or reproduction. * *  Although all reasonable efforts have been taken to ensure the accuracy *  and reliability of the software and data, the NLM and the U.S. *  Government do not and cannot warrant the performance or results that *  may be obtained by using this software or data. The NLM and the U.S. *  Government disclaim all warranties, express or implied, including *  warranties of performance, merchantability or fitness for any particular *  purpose. * *  Please cite the author in any work or product based on this material. * * =========================================================================== * * Authors:  Peter Meric * * File Description: *   CPdfObject - Stream for output of Adobe PDF objects */#include <corelib/ncbiobj.hpp>#include <gui/gui.hpp>#include "pdf_obj.hpp"BEGIN_NCBI_SCOPEclass NCBI_GUIUTILS_EXPORT CPdfObject : public CObject{public:    typedef CRef<CPdfObj> TPdfObjRef;    CPdfObject(unsigned int obj_num,               unsigned int generation = 0,               bool allowCompression = true              );    virtual ~CPdfObject();    enum EPdfObjectFormat    {        eUncompressed,        eCompressed    };    //virtual EPdfObjectFormat GetObjectFormat(void) const = 0;    // direct access to write buffer    CNcbiOstream& GetWriteBuffer(void);    unsigned int GetObjNum(void) const;    unsigned int GetGeneration(void) const;    virtual string GetSeparator(void) const;    // print the CPdfObject    virtual void PrintTo(CNcbiOstream& stream) const;    CPdfObject& operator<<(CPdfObject& (*pf)(CPdfObject&));    CPdfDictionary& GetDictionary(void);    TPdfObjRef& operator[](const string& key);protected:    void x_PrintTo(CNcbiOstream& stream);private:    unsigned int m_ObjNum;    unsigned int m_Generation;    string m_Obj;    CNcbiStrstream m_Buffer;    string m_Separator;    CPdfDictionary m_Dictionary;    bool m_AllowCompression;};inline CPdfObject& pdfbrk(CPdfObject& pdfstrm){    pdfstrm.GetWriteBuffer() << pdfstrm.GetSeparator();    return pdfstrm;}template <typename T>inline CPdfObject& operator<<(CPdfObject& pdfobj, const T& obj){    pdfobj.GetWriteBuffer() << obj;    return pdfobj;}inline CNcbiOstream& operator<<(CNcbiOstream& strm, const CPdfObject& obj){    obj.PrintTo(strm);    return strm;}class NCBI_GUIUTILS_EXPORT CPdfTrailer : public CPdfObject{public:    CPdfTrailer();    virtual ~CPdfTrailer();    virtual void PrintTo(CNcbiOstream& stream) const;};template <typename T>inline CPdfTrailer& operator<<(CPdfTrailer& pdfobj, const T& obj){    NCBI_THROW(CException, eUnknown, "CPdfObject::operator<< - illegal use of CPdfTrailer");}END_NCBI_SCOPE#endif // GUI_UTILS__PDF_OBJECT_HPP/* * =========================================================================== * $Log: pdf_object.hpp,v $ * Revision 1000.1  2004/06/01 21:03:47  gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.7 * * Revision 1.7  2004/05/03 13:21:36  dicuccio * Added gui/gui.hpp * * Revision 1.6  2003/07/16 17:22:19  ucko * Fix typo (missing comma) * * Revision 1.5  2003/07/16 15:42:30  meric * Add flag to specify if object may be compressed * * Revision 1.4  2003/06/25 18:02:51  meric * Source rearrangement: move "private" headers into the src/ tree * * Revision 1.3  2003/06/18 17:25:27  meric * Final phase of print reorg: remove dependence on gui/opengl and OpenGL * * Revision 1.2  2003/06/16 12:46:21  dicuccio * Clean-up after initial commit * * Revision 1.1  2003/06/13 19:00:30  meric * Initial version * * * =========================================================================== */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?