#define OVERSAMPLE 8
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
void MaskUnit::draw_line_clamped(VFrame *frame,
- int &x1,
- int &y1,
- int x2,
- int y2,
- unsigned char k)
+ int x1, int y1, int x2, int y2, unsigned char k)
{
- int draw_x1;
- int draw_y1;
- int draw_x2;
- int draw_y2;
+ int draw_x1, draw_y1;
+ int draw_x2, draw_y2;
- if(y2 < y1)
- {
- draw_x1 = x2;
- draw_y1 = y2;
- draw_x2 = x1;
- draw_y2 = y1;
+ if(y2 < y1) {
+ draw_x1 = x2; draw_y1 = y2;
+ draw_x2 = x1; draw_y2 = y1;
}
- else
- {
- draw_x1 = x1;
- draw_y1 = y1;
- draw_x2 = x2;
- draw_y2 = y2;
+ else {
+ draw_x1 = x1; draw_y1 = y1;
+ draw_x2 = x2; draw_y2 = y2;
}
unsigned char **rows = (unsigned char**)frame->get_rows();
- if(draw_y2 != draw_y1)
- {
+ if(draw_y2 != draw_y1) {
float slope = ((float)draw_x2 - draw_x1) / ((float)draw_y2 - draw_y1);
int w = frame->get_w() - 1;
int h = frame->get_h();
- for(float y = draw_y1; y < draw_y2; y++)
- {
- if(y >= 0 && y < h)
- {
+ for(float y = draw_y1; y < draw_y2; y++) {
+ if(y >= 0 && y < h) {
int x = (int)((y - draw_y1) * slope + draw_x1);
int y_i = (int)y;
int x_i = CLIP(x, 0, w);