Go to the documentation of this file.00001
00002
00003
00009 #ifndef __IMAGEDOCUMENT_H
00010 #define __IMAGEDOCUMENT_H
00011
00012 #include <iup.h>
00013 #include "imagefile.h"
00014 #include "im_imageview.h"
00015
00016 class imlabImageWindow;
00017
00018
00019 class imlabImageDocument
00020 {
00021 public:
00022 imlabImageDocument(imlabImageFile* NewImageFile);
00023
00024 ~imlabImageDocument();
00025
00027 int Close();
00028
00031 void ChangeImage(imImage* NewImage, const char *format, ...);
00032
00034 void HasChanged();
00035
00036 void ClearUndo();
00037 int HasUndo();
00038 int HasRedo();
00039 void Undo();
00040 void Redo();
00041
00043 void CreateView(const char* type);
00044
00046 void UpdateViews();
00047
00049 void RefreshViews();
00050
00052 Ihandle* ShowView(const char* type);
00053
00055 void RemoveView(Ihandle* view_dialog);
00056
00058 void SetBitmapOptions(int cpx2real, double gamma, int absolute, int cast_mode);
00059
00060
00061 public:
00062 imlabImageFile* ImageFile;
00063
00064 imBitmapView BitmapView;
00065
00066 int document_index;
00067 char* FileTitle;
00068
00069 imlabImageWindow* view_list[50];
00070 int view_list_count;
00071
00072 const char* DlgTitle(const char* title);
00073
00074 protected:
00075 imImage* *UndoStack;
00076 int undo_pos, undo_count, undo_alloc;
00077
00078 void PushUndo(imImage* image);
00079
00080 void UpdateViewsTitle();
00081 };
00082
00083
00085 void imlabImageDocumentCreateFromImage(imImage* NewImage, const char *format_title, const char *format_history, ...);
00086
00088 void imlabImageDocumentCreateFromFileName(const char* FileName);
00089
00091 void imlabImageDocumentCreateNewImage(int width, int height, int color_mode, int data_type);
00092
00093
00094 #endif