mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-22 16:32:13 -07:00
All the games in this collection have always defined their graphics
in terms of a constant TILE_SIZE (or equivalent). Here's a surprisingly small patch which switches this constant into a run-time variable. The only observable behaviour change should be on Windows, which physically does not permit the creation of windows larger than the screen; if you try to create a puzzle (Net makes this plausible) large enough to encounter this restriction, the Windows front end should automatically re-adjust the puzzle's tile size so that it does fit within the available space. On GTK, I haven't done this, on the grounds that X _does_ permit windows larger than the screen, and many X window managers already provide the means to navigate around such a window. Gareth said he'd rather navigate around a huge Net window than have it shrunk to fit on one screen. I'm uncertain that this makes sense for all puzzles - Pattern in particular strikes me as something that might be better off shrunk to fit - so I may have to change policy later or make it configurable. On OS X, I also haven't done automatic shrinkage to fit on one screen, largely because I didn't have the courage to address the question of multiple monitors and what that means for the entire concept :-) [originally from svn r5913]
This commit is contained in:
@ -151,7 +151,7 @@ void get_random_seed(void **randseed, int *randseedsize);
|
||||
midend_data *midend_new(frontend *fe, const game *ourgame);
|
||||
void midend_free(midend_data *me);
|
||||
void midend_set_params(midend_data *me, game_params *params);
|
||||
void midend_size(midend_data *me, int *x, int *y);
|
||||
void midend_size(midend_data *me, int *x, int *y, int expand);
|
||||
void midend_new_game(midend_data *me);
|
||||
void midend_restart_game(midend_data *me);
|
||||
void midend_stop_anim(midend_data *me);
|
||||
@ -256,7 +256,8 @@ struct game {
|
||||
game_state *newstate);
|
||||
game_state *(*make_move)(game_state *from, game_ui *ui, game_drawstate *ds,
|
||||
int x, int y, int button);
|
||||
void (*size)(game_params *params, int *x, int *y);
|
||||
void (*size)(game_params *params, game_drawstate *ds, int *x, int *y,
|
||||
int expand);
|
||||
float *(*colours)(frontend *fe, game_state *state, int *ncolours);
|
||||
game_drawstate *(*new_drawstate)(game_state *state);
|
||||
void (*free_drawstate)(game_drawstate *ds);
|
||||
|
Reference in New Issue
Block a user