~ubuntu-branches/ubuntu/karmic/photoprint/karmic

« back to all changes in this revision

Viewing changes to layout_poster.h

  • Committer: Bazaar Package Importer
  • Author(s): Milan Zamazal
  • Date: 2007-05-01 16:32:13 UTC
  • mto: This revision was merged to the branch mainline in revision 3.
  • Revision ID: james.westby@ubuntu.com-20070501163213-k0gaendx7grjlmk5
Tags: upstream-0.3.5
ImportĀ upstreamĀ versionĀ 0.3.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef LAYOUT_POSTER_H
2
 
#define LAYOUT_POSTER_H
3
 
 
4
 
#include <stdio.h>
5
 
#include <glib.h>
6
 
#include <gtk/gtkwidget.h>
7
 
#include <gdk/gdkpixbuf.h>
8
 
 
9
 
#include "imagesource/imagesource.h"
10
 
#include "support/pageextent.h"
11
 
#include "print.h"
12
 
 
13
 
#include "layoutdb.h"
14
 
#include "layout.h"
15
 
 
16
 
class Layout_Poster_ImageInfo;
17
 
class PhotoPrint_State;
18
 
 
19
 
struct PosterFit
20
 
{
21
 
        int width,height;
22
 
        int xpos,ypos;
23
 
        int xoffset,yoffset;
24
 
        int rotation;
25
 
        double scale;
26
 
};
27
 
 
28
 
class Layout_Poster : public Layout, public PageExtent
29
 
{
30
 
        public:
31
 
        Layout_Poster(PhotoPrint_State &state,Layout *oldlayout=NULL);
32
 
        virtual ~Layout_Poster();
33
 
        const char *GetType();
34
 
        int GetCapabilities();
35
 
        int AddImage(const char *filename,bool allowcropping=true,PP_ROTATION rotation=PP_ROTATION_AUTO);
36
 
        void CopyImage(Layout_ImageInfo *ii);
37
 
        void Reflow();
38
 
        void SetPageExtent(PageExtent &pe);
39
 
        void SetMargins(int left,int right,int top,int bottom);
40
 
        void TilesFromSize();
41
 
        void SizeFromTiles();
42
 
        virtual void LayoutToDB(LayoutDB &db);
43
 
        virtual void DBToLayout(LayoutDB &db);
44
 
        virtual GtkWidget *CreateWidget();
45
 
        virtual void RefreshWidget(GtkWidget *widget);
46
 
        virtual void SetCurrentPage(int page);
47
 
        ImageSource *GetImageSource(int page,CMColourDevice target=CM_COLOURDEVICE_PRINTER,CMTransformFactory *factory=NULL,int res=0);
48
 
        void UpdatePageSize();
49
 
        Layout_Poster_ImageInfo *ImageAt(int page);
50
 
        void DrawPreview(GtkWidget *widget,int xpos,int ypos,int width,int height);
51
 
        virtual void (*SetUnitFunc())(GtkWidget *wid,enum Units unit);
52
 
        int posters,currentposter;
53
 
        int posterwidth,posterheight;
54
 
        int paperwidth,paperheight;
55
 
        int hoverlap,voverlap;
56
 
        int htiles,vtiles;
57
 
        friend class Layout_Poster_ImageInfo;
58
 
};
59
 
 
60
 
 
61
 
class Layout_Poster_ImageInfo : public Layout_ImageInfo
62
 
{
63
 
        public:
64
 
        Layout_Poster_ImageInfo(Layout_Poster &layout,const char *filename,int page,bool allowcropping=false,PP_ROTATION rotation=PP_ROTATION_AUTO);
65
 
        Layout_Poster_ImageInfo(Layout_Poster &layout,Layout_ImageInfo *ii,int page,bool allowcropping=false,PP_ROTATION rotation=PP_ROTATION_AUTO);
66
 
        virtual ~Layout_Poster_ImageInfo();
67
 
        void DrawThumbnail(GtkWidget *widget,int xpos,int ypos,int width,int height);
68
 
//      ImageSource *GetImageSource();
69
 
//      int rotation;
70
 
        private:
71
 
        friend class Layout_Poster;
72
 
};
73
 
 
74
 
 
75
 
#endif
 
1
#ifndef LAYOUT_POSTER_H
 
2
#define LAYOUT_POSTER_H
 
3
 
 
4
#include <stdio.h>
 
5
#include <glib.h>
 
6
#include <gtk/gtkwidget.h>
 
7
#include <gdk/gdkpixbuf.h>
 
8
 
 
9
#include "imagesource/imagesource.h"
 
10
#include "support/pageextent.h"
 
11
#include "print.h"
 
12
 
 
13
#include "layoutdb.h"
 
14
#include "layout.h"
 
15
 
 
16
class Layout_Poster_ImageInfo;
 
17
class PhotoPrint_State;
 
18
 
 
19
struct PosterFit
 
20
{
 
21
        int width,height;
 
22
        int xpos,ypos;
 
23
        int xoffset,yoffset;
 
24
        int rotation;
 
25
        double scale;
 
26
};
 
27
 
 
28
class Layout_Poster : public Layout
 
29
{
 
30
        public:
 
31
        Layout_Poster(PhotoPrint_State &state,Layout *oldlayout=NULL);
 
32
        virtual ~Layout_Poster();
 
33
        const char *GetType();
 
34
        int GetCapabilities();
 
35
        int AddImage(const char *filename,bool allowcropping=true,PP_ROTATION rotation=PP_ROTATION_AUTO);
 
36
        void CopyImage(Layout_ImageInfo *ii);
 
37
        void Reflow();
 
38
        void SetPageExtent(PageExtent &pe);
 
39
        void SetMargins(int left,int right,int top,int bottom);
 
40
        void TilesFromSize();
 
41
        void SizeFromTiles();
 
42
        virtual void LayoutToDB(LayoutDB &db);
 
43
        virtual void DBToLayout(LayoutDB &db);
 
44
        virtual GtkWidget *CreateWidget();
 
45
        virtual void RefreshWidget(GtkWidget *widget);
 
46
        virtual void SetCurrentPage(int page);
 
47
        ImageSource *GetImageSource(int page,CMColourDevice target=CM_COLOURDEVICE_PRINTER,CMTransformFactory *factory=NULL,int res=0);
 
48
        void UpdatePageSize();
 
49
        Layout_Poster_ImageInfo *ImageAt(int page);
 
50
        void DrawPreview(GtkWidget *widget,int xpos,int ypos,int width,int height);
 
51
        virtual void (*SetUnitFunc())(GtkWidget *wid,enum Units unit);
 
52
        int posters,currentposter;
 
53
        int posterwidth,posterheight;
 
54
        int paperwidth,paperheight;
 
55
        int hoverlap,voverlap;
 
56
        int htiles,vtiles;
 
57
        friend class Layout_Poster_ImageInfo;
 
58
};
 
59
 
 
60
 
 
61
class Layout_Poster_ImageInfo : public Layout_ImageInfo
 
62
{
 
63
        public:
 
64
        Layout_Poster_ImageInfo(Layout_Poster &layout,const char *filename,int page,bool allowcropping=false,PP_ROTATION rotation=PP_ROTATION_AUTO);
 
65
        Layout_Poster_ImageInfo(Layout_Poster &layout,Layout_ImageInfo *ii,int page,bool allowcropping=false,PP_ROTATION rotation=PP_ROTATION_AUTO);
 
66
        virtual ~Layout_Poster_ImageInfo();
 
67
        void DrawThumbnail(GtkWidget *widget,int xpos,int ypos,int width,int height);
 
68
//      ImageSource *GetImageSource();
 
69
//      int rotation;
 
70
        private:
 
71
        friend class Layout_Poster;
 
72
};
 
73
 
 
74
 
 
75
#endif