8 class Scale
: public BC_MenuItem
11 Scale(MWindow
*mwindow
);
22 class ScaleThread
: public Thread
25 ScaleThread(MWindow
*mwindow
);
30 int update_window(int offset_updated
= 0);
31 int update_aspect(ScaleWindow
*window
);
33 // change a value to negative to signal it was the value changed
34 int dimension
[4]; // new dimensions to apply
35 int orig_dimension
[4]; // dimensions for getting scale
36 int offsets
[4]; // Offsets of new images in old images
38 float aspect_w
, aspect_h
;
51 class ScaleOffsetText
;
55 class ScaleWindow
: public BC_Window
58 ScaleWindow(ScaleThread
*thread
);
63 ScaleSizeText
*dimension
[4];
64 ScaleRatioText
*ratio
[4];
65 // ScaleOffsetText *offsets[4];
66 ScaleAspectW
*aspect_w
;
67 ScaleAspectH
*aspect_h
;
68 // ScalePosition *position1, *position2;
71 class ScaleSizeText
: public BC_TextBox
74 ScaleSizeText(int x
, int y
, ScaleThread
*thread
, int *output
);
82 class ScaleOffsetText
: public BC_TextBox
85 ScaleOffsetText(int x
, int y
, ScaleThread
*thread
, int *output
);
92 class ScaleRatioText
: public BC_TextBox
95 ScaleRatioText(int x
, int y
, ScaleThread
*thread
, float *output
);
102 class ScaleAspectAuto
: public BC_CheckBox
105 ScaleAspectAuto(int x
, int y
, ScaleThread
*thread
);
111 class ScaleAspectW
: public BC_TextBox
114 ScaleAspectW(int x
, int y
, ScaleThread
*thread
, float *output
, char *string
);
121 class ScaleAspectH
: public BC_TextBox
124 ScaleAspectH(int x
, int y
, ScaleThread
*thread
, float *output
, char *string
);
132 class ScaleData
: public BC_CheckBox
135 ScaleData(int x
, int y
, ScaleThread
*thread
);
141 class ScaleConstrain
: public BC_CheckBox
144 ScaleConstrain(int x
, int y
, ScaleThread
*thread
);
150 class ScalePosition
: public BC_SubWindow
153 ScalePosition(int x
, int y
, ScaleThread
*thread
, ScaleWindow
*window
,
154 int *orig_dimension
, int *scale_dimension
, int *offsets
);
161 int button_release();
165 int *scale_dimension
;
170 int center_x
, center_y
, offset_x
, offset_y
;
171 float hscale
, vscale
;