変愚蛮怒のメインリポジトリです
Revision | b4b2b066ebedcdb19f035b54fad4ad9e39931c26 (tree) |
---|---|
Time | 2016-11-26 20:49:54 |
Author | Deskull <desull@user...> |
Commiter | Deskull |
拡大縮小後の描画範囲計算を修正 / Fix calculation after scaling process.
@@ -1039,10 +1039,6 @@ static void term_getsize(term_data *td) | ||
1039 | 1039 | rc.top = 0; |
1040 | 1040 | rc.bottom = rc.top + hgt; |
1041 | 1041 | |
1042 | - /* XXX XXX XXX */ | |
1043 | - /* rc.right += 1; */ | |
1044 | - /* rc.bottom += 1; */ | |
1045 | - | |
1046 | 1042 | /* Adjust */ |
1047 | 1043 | AdjustWindowRectEx(&rc, td->dwStyle, TRUE, td->dwExStyle); |
1048 | 1044 |
@@ -5963,9 +5959,44 @@ static void tile_zoom_in() | ||
5963 | 5959 | term_data *td = &data[0]; |
5964 | 5960 | if(td->tile_hgt < TILE_HEIGHT_MAX && inkey_flag && use_new_gmode) |
5965 | 5961 | { |
5962 | + uint cols; | |
5963 | + uint rows; | |
5966 | 5964 | td->tile_hgt += 2; |
5967 | 5965 | td->tile_wid += 1; |
5968 | 5966 | term_change_tile_size(td); |
5967 | + | |
5968 | + cols = (td->size_wid - td->size_ow1) / td->tile_wid; | |
5969 | + rows = (td->size_hgt - td->size_oh1) / td->tile_hgt; | |
5970 | + | |
5971 | + /* New size */ | |
5972 | + if ((td->cols != cols) || (td->rows != rows)) | |
5973 | + { | |
5974 | + /* Save old term */ | |
5975 | + term *old_term = Term; | |
5976 | + | |
5977 | + /* Save the new size */ | |
5978 | + td->cols = cols; | |
5979 | + td->rows = rows; | |
5980 | + | |
5981 | + /* Activate */ | |
5982 | + Term_activate(&td->t); | |
5983 | + | |
5984 | + /* Resize the term */ | |
5985 | + Term_resize(td->cols, td->rows); | |
5986 | + | |
5987 | + /* Activate */ | |
5988 | + Term_activate(old_term); | |
5989 | + | |
5990 | + /* Redraw later */ | |
5991 | + InvalidateRect(td->w, NULL, TRUE); | |
5992 | + | |
5993 | + /* HACK - Redraw all windows */ | |
5994 | + p_ptr->window = 0xFFFFFFFF; | |
5995 | + window_stuff(); | |
5996 | + } | |
5997 | + | |
5998 | + td->size_hack = FALSE; | |
5999 | + | |
5969 | 6000 | term_window_resize(td); |
5970 | 6001 | } |
5971 | 6002 | } |
@@ -5975,9 +6006,44 @@ static void tile_zoom_out() | ||
5975 | 6006 | term_data *td = &data[0]; |
5976 | 6007 | if(td->tile_hgt >= TILE_HEIGHT_MIN && inkey_flag && use_new_gmode) |
5977 | 6008 | { |
6009 | + uint cols; | |
6010 | + uint rows; | |
5978 | 6011 | td->tile_hgt -= 2; |
5979 | 6012 | td->tile_wid -= 1; |
5980 | 6013 | term_change_tile_size(td); |
6014 | + | |
6015 | + cols = (td->size_wid - td->size_ow1) / td->tile_wid; | |
6016 | + rows = (td->size_hgt - td->size_oh1) / td->tile_hgt; | |
6017 | + | |
6018 | + /* New size */ | |
6019 | + if ((td->cols != cols) || (td->rows != rows)) | |
6020 | + { | |
6021 | + /* Save old term */ | |
6022 | + term *old_term = Term; | |
6023 | + | |
6024 | + /* Save the new size */ | |
6025 | + td->cols = cols; | |
6026 | + td->rows = rows; | |
6027 | + | |
6028 | + /* Activate */ | |
6029 | + Term_activate(&td->t); | |
6030 | + | |
6031 | + /* Resize the term */ | |
6032 | + Term_resize(td->cols, td->rows); | |
6033 | + | |
6034 | + /* Activate */ | |
6035 | + Term_activate(old_term); | |
6036 | + | |
6037 | + /* Redraw later */ | |
6038 | + InvalidateRect(td->w, NULL, TRUE); | |
6039 | + | |
6040 | + /* HACK - Redraw all windows */ | |
6041 | + p_ptr->window = 0xFFFFFFFF; | |
6042 | + window_stuff(); | |
6043 | + } | |
6044 | + | |
6045 | + td->size_hack = FALSE; | |
6046 | + | |
5981 | 6047 | term_window_resize(td); |
5982 | 6048 | } |
5983 | 6049 | } |
\ No newline at end of file |