So I assembled the commands that do Slide and Expand into one place so I could see them all and try various combinations, like below.. The closest I've been able to get to do an Expand BottomLeft is (the last one)..
- Code: Select all
// Slide Bottom:
// BitBlt(Display.Canvas.Handle, 0, H - Y, W, H,
// Image.Canvas.Handle, 0, 0,
// SRCCOPY);
// Slide Left:
// BitBlt(Display.Canvas.Handle, X - W, 0, W, H,
// Image.Canvas.Handle, 0, 0,
// SRCCOPY);
// Slide Bottom-Left:
// BitBlt(Display.Canvas.Handle, X - W, H - Y, W, H,
// Image.Canvas.Handle, 0, 0,
// SRCCOPY);
// Expand Bottom..
// StretchBlt(Display.Canvas.Handle, 0, 0, W, (2 * H) - Y,
// Image.Canvas.Handle, 0, 0, W, Y,
// SRCCOPY);
// Expand Left..
// StretchBlt(Display.Canvas.Handle, X - W, 0, (2 * W) - X, H,
// Image.Canvas.Handle, W - X, 0, X, H,
// SRCCOPY);
// Expand Bottom-Left?
// Destination X, Y, W, H, Source X, Y, W, H
StretchBlt(Display.Canvas.Handle, X-W, Y-H, (2 * W) - X, (2 * H) - Y,
Image.Canvas.Handle, 0, 0, W, Y,
SRCCOPY);
Could some kind soul out there provide the StretchBlts to do the Expand and Crunch effects for all 4 diagonal corners, and even maybe the opposite corners simultaneously? (Like the Both Sides In/Out ones)??
Or just get one working (like Expand BottomLeft above) and I could try and figure out the others from there?
Anyway, great work Kambiz, and thanks for any help..
Regards,
Rob