mirror of
https://github.com/amyinspace/MagicSetEditor2.git
synced 2026-06-10 04:57:00 -04:00
Fixed zoom crash;
Fixed crash when mising symbol font git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@725 0fc631ac-6414-0410-93d0-97cfa31319b6
This commit is contained in:
@@ -85,9 +85,11 @@ Image conform_image(const Image& img, const GeneratedImage::Options& options) {
|
||||
// ----------------------------------------------------------------------------- : BlankImage
|
||||
|
||||
Image BlankImage::generate(const Options& opt) const {
|
||||
Image img(opt.width, opt.height);
|
||||
int w = max(1, opt.width >= 0 ? opt.width : opt.height);
|
||||
int h = max(1, opt.height >= 0 ? opt.height : opt.width);
|
||||
Image img(w, h);
|
||||
img.InitAlpha();
|
||||
memset(img.GetAlpha(), 0, opt.width * opt.height);
|
||||
memset(img.GetAlpha(), 0, w * h);
|
||||
return img;
|
||||
}
|
||||
bool BlankImage::operator == (const GeneratedImage& that) const {
|
||||
|
||||
@@ -44,7 +44,7 @@ void AlphaMask::setAlpha(Bitmap& bmp) const {
|
||||
}
|
||||
|
||||
bool AlphaMask::isTransparent(int x, int y) const {
|
||||
assert(x >= 0 && y >= 0 && x < size.GetWidth() && y < size.GetHeight());
|
||||
if (x < 0 || y > 0 || x >= size.x || y >= size.y) return false;
|
||||
return alpha[x + y * size.GetWidth()] < 20;
|
||||
}
|
||||
|
||||
|
||||
@@ -110,7 +110,8 @@ bool ImageValueViewer::containsPoint(const RealPoint& p) const {
|
||||
// check against mask
|
||||
if (!style().mask_filename().empty()) {
|
||||
loadMask(viewer.getRotation());
|
||||
return !alpha_mask || !alpha_mask->isTransparent((int)x, (int)y);
|
||||
Rotation rot = viewer.getRotation();
|
||||
return !alpha_mask || !alpha_mask->isTransparent((int)rot.trX(x), (int)rot.trY(y));
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user