Added windows build howto into README
[imgsort.git] / scr.h
1 #ifndef _SCR_H_
2 #define _SCR_H_
3
4
5 #include <QSize>
6 #include <QString>
7 #include <QRect>
8
9
10
11 struct ScaleCropRule {
12   int scale_w;
13   int scale_h;
14   int crop_x;
15   int crop_y;
16   int crop_w;
17   int crop_h;
18
19   int ini_rot;
20
21   ScaleCropRule()
22       : scale_w(0), scale_h(0), crop_x(0), crop_y(0), crop_w(0), crop_h(0), ini_rot(0)
23       {  }
24   ScaleCropRule(int sw, int sh, int cx, int cy, int cw, int ch, int ir = 0)
25       : scale_w(sw), scale_h(sh), crop_x(cx), crop_y(cy), crop_w(cw), crop_h(ch), ini_rot(ir)
26       {  }
27   ScaleCropRule(const QSize & qs, int ir = 0)
28       : scale_w(qs.width()), scale_h(qs.height()), crop_x(0), crop_y(0), crop_w(qs.width()), crop_h(qs.height()), ini_rot(ir)
29       {  }
30
31   ScaleCropRule rezoom(double scale_zoom, int keepx, int keepy);
32
33   QString toString() const;
34   QString toShortString() const;
35   QSize scaleSize() { return QSize(scale_w, scale_h); }
36   QRect cropRect();
37
38   bool isJustResize() { return (scale_w == crop_w && scale_h == crop_h && crop_x == 0 && crop_y == 0); }
39
40   ScaleCropRule retarget(const ScaleCropRule & targetSize);
41
42   void rotate_left();
43   void rotate_right();
44 };
45
46 #endif // #ifndef _SCR_H_
47