home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef picviewer_viewer_H
- #define picviewer_viewer_H
-
- #include "clipboard.h"
- #include "graphic.h"
- #include "document.h"
- #include "docgraphic.h"
- #include "viewwindow.h"
- #include "scaleview.h"
- #include "saveas.h"
-
- class PictureDocument: public Document, private DocumentRedrawable {
- public:
- PictureDocument(Graphic *graphic);
- virtual ~PictureDocument();
-
- Graphic *graphic;
- DocumentGraphic doc_graphic;
-
- void redraw(const RedrawInfo &info) const;
- };
-
- class PictureView: public ViewWindow, private ScaleViewHandler,
- private Saver, private SelectionSaver {
- Window *window;
- ScaleView *scale_window;
- SaveAs *save_window;
- ClipboardCopier copier;
-
- void scale_view(int scale);
- void scale_to_fit();
- void save(ostream &stream) const;
- void save_selection(ostream &stream) const;
-
- CopyCommand copy_command;
-
- class NewViewCommand: public Command {
- PictureDocument *doc;
- public:
- NewViewCommand(PictureDocument *d): doc(d) {}
- void execute();
- } new_view_command;
-
- public:
- PictureView(PictureDocument *document);
- virtual ~PictureView();
-
- PictureDocument *document() const
- { return (PictureDocument *) View::document(); }
- };
-
- #endif
-