]> git.lyx.org Git - lyx.git/blob - src/graphics/GraphicsParams.h
Some more fixes to compiler warnings.
[lyx.git] / src / graphics / GraphicsParams.h
1 // -*- C++ -*-
2 /**
3  *  \file GraphicsParams.h
4  *  Copyright 2002 the LyX Team
5  *  Read the file COPYING
6  *
7  *  \author Angus Leeming <a.leeming@ic.ac.uk>
8  *
9  *  Used internally by the GraphicsCache. 
10  *  Only a subset of InsetGraphicsParams is needed for display purposes.
11  *  The GraphicsParams c-tor also interrogates lyxrc to ascertain whether
12  *  to display or not.
13  */
14
15 #ifndef GRAPHICSPARAMS_H
16 #define GRAPHICSPARAMS_H
17
18 #ifdef __GNUG__
19 #pragma interface
20 #endif
21
22 #include "LString.h"
23 #include "lyxlength.h"
24
25 class InsetGraphicsParams;
26
27 namespace grfx {
28
29 /** Parse a string of the form "200pt 500pt 300mm 5in" into a
30  *  usable bounding box.
31  */
32 struct BoundingBox {
33         ///
34         BoundingBox();
35         ///
36         BoundingBox(string const &);
37
38         /// 0 0 0 0 is empty!
39         bool empty() const;
40
41         unsigned int xl;
42         unsigned int yb;
43         unsigned int xr;
44         unsigned int yt;
45 };
46
47 bool operator==(BoundingBox const &, BoundingBox const &);
48 bool operator!=(BoundingBox const &, BoundingBox const &);
49
50 struct GParams 
51 {
52         GParams(InsetGraphicsParams const &);
53
54         /// How is the image to be displayed on the LyX screen?
55         enum DisplayType {
56                 COLOR,
57                 GRAYSCALE,
58                 MONOCHROME,
59                 /// We aren't going to display it at all!
60                 NONE
61         };
62
63         DisplayType display;
64
65         /// The image filename.
66         string filename;
67
68         BoundingBox bb;
69
70         /** The size of the view inside lyx in pixels or the scaling of the
71          *  image.
72          */
73         unsigned int width;
74         unsigned int height;
75         unsigned int scale;
76
77         /// Rotation angle.
78         int angle;
79 };
80
81 bool operator==(GParams const &, GParams const &);
82 bool operator!=(GParams const &, GParams const &);
83
84 } // namespace grfx
85
86 #endif // GRAPHICSPARAMS_H