Fix zoom factor for layer preview.

git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1925 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Adrien Destugues 2012-03-08 19:04:44 +00:00
parent dcffab6c79
commit 9ca899355c

View File

@ -593,6 +593,7 @@ void Main_handler(void)
dword key_pressed; dword key_pressed;
static int preview_is_visible; static int preview_is_visible;
static int previewW, previewH;
// This is used for the layer preview // This is used for the layer preview
do do
@ -1403,7 +1404,6 @@ void Main_handler(void)
if (button_index == BUTTON_LAYER_SELECT) if (button_index == BUTTON_LAYER_SELECT)
{ {
int x,y; int x,y;
int previewW, previewH;
short layer; short layer;
short layercount = Main_backups->Pages->Nb_layers; short layercount = Main_backups->Pages->Nb_layers;
@ -1411,7 +1411,7 @@ void Main_handler(void)
{ {
previewW = Buttons_Pool[BUTTON_LAYER_SELECT].Width / Main_backups->Pages->Nb_layers; previewW = Buttons_Pool[BUTTON_LAYER_SELECT].Width / Main_backups->Pages->Nb_layers;
previewH = previewW * Main_image_height / Main_image_width; previewH = previewW * Main_image_height / Main_image_width;
if (previewH > Menu_Y) previewH = Menu_Y; if (previewH * Menu_factor_Y > Menu_Y) previewH = Menu_Y / Menu_factor_Y;
Open_popup((Buttons_Pool[BUTTON_LAYER_SELECT].X_offset + 2)*Menu_factor_X, Open_popup((Buttons_Pool[BUTTON_LAYER_SELECT].X_offset + 2)*Menu_factor_X,
Menu_Y - previewH * Menu_factor_Y, previewW * layercount, previewH); Menu_Y - previewH * Menu_factor_Y, previewW * layercount, previewH);
@ -1432,8 +1432,8 @@ void Main_handler(void)
for (x = 0; x < Window_width; x++) for (x = 0; x < Window_width; x++)
for (y = 0; y < Window_height; y++) for (y = 0; y < Window_height; y++)
{ {
int imgx = x * Main_image_width / Window_width; int imgx = x * Main_image_width / previewW;
int imgy = y * Main_image_height / Window_height; int imgy = y * Main_image_height / previewH;
Pixel_in_window(x + previewW*layer, y, *(Main_backups->Pages->Image[layer].Pixels Pixel_in_window(x + previewW*layer, y, *(Main_backups->Pages->Image[layer].Pixels
+ imgx + imgy * Main_image_width)); + imgx + imgy * Main_image_width));
} }