notepad_thumbnail.h
Go to the documentation of this file.00001 #ifndef __NOTEPAD_THUMBNAIL_H__
00002 #define __NOTEPAD_THUMBNAIL_H__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #include <libermetadb/ermetadb.h>
00033 #include <gdk/gdk.h>
00034 #include "notepad_pages.h"
00035 #include "notepad_filestore.h"
00036
00037 namespace notepad
00038 {
00039 class CThumbnail
00040 {
00041 public:
00042
00043 enum ThumbnailSize
00044 {
00045 THUMBNAIL_MINI = 0,
00046 THUMBNAIL_SMALL,
00047 THUMBNAIL_MEDIUM,
00048 THUMBNAIL_LARGE,
00049 THUMBNAIL_COUNT
00050 };
00051
00052 public:
00053 CThumbnail();
00054 CThumbnail(CFileStore& filestore, CNotepadPages& pagecache, gint margin)
00055 { storeThumbnail(filestore, pagecache, margin); };
00056 ~CThumbnail() {};
00057
00058 private:
00059 CThumbnail(const CThumbnail&);
00060 CThumbnail operator=(const CThumbnail&);
00061
00062
00063
00064 private:
00065 void storeThumbnail(CFileStore& filestore, CNotepadPages& pagecache, gint margin);
00066 void putPixel(GdkPixbuf* pb, gint x, gint y);
00067 void enhance(GdkPixbuf* pb, gint width, gint height);
00068 void drawRectangle(GdkPixbuf* pb, gint width, gint height);
00069 gint getWidth(const ThumbnailSize size);
00070 gint getHeight(const ThumbnailSize size);
00071
00072 };
00073 }
00074
00075
00076 #endif // __NOTEPAD_THUMBNAIL_H__