mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-23 00:42:13 -07:00
Files

Rather than design an ersatz 'window frame' surrounding the puzzle canvas, I've simply overlaid the resize handle on the corner of the puzzle itself (canvas or status bar, depending on whether the latter exists), trusting that all games in my collection provide a reasonable border within their drawing area. (OS X already does this with its resize handle, so it's not as if there's no precedent.) Unlike the desktop versions, I control the resize behaviour completely in this environment, so I can constrain the canvas to only ever be sensible sizes with no dead space round the edges (and, in particular, preserve the aspect ratio). Right-clicking the resize handle will restore the puzzle's default tile size. I had intended to implement a maximise-to-browser-window button too, but was annoyingly foiled by scrollbars - if you maximise to the current window width, and as a result the text below the puzzle scrolls off the bottom, then a vertical scrollbar appears and eats into the width you just maximised to. Gah. [originally from svn r9822]
30 lines
934 B
JavaScript
30 lines
934 B
JavaScript
// -*- js -*-
|
|
//
|
|
// List of entry points exported by the C side of the Emscripten
|
|
// puzzle builds. Passed in to emcc via the option '-s
|
|
// EXPORTED_FUNCTIONS=[list]'.
|
|
//
|
|
// This file isn't actually a valid list in its current state, since
|
|
// emcc doesn't like comments or newlines. However, it's a nicer
|
|
// source form to keep the comments and newlines in, so we sed them
|
|
// away at compile time.
|
|
[
|
|
// Event handlers for mouse and keyboard input
|
|
'_mouseup',
|
|
'_mousedown',
|
|
'_mousemove',
|
|
'_key',
|
|
// Callback when the program activates timing
|
|
'_timer_callback',
|
|
// Callback from button presses in the UI outside the canvas
|
|
'_command',
|
|
// Callbacks to return values from dialog boxes
|
|
'_dlg_return_sval',
|
|
'_dlg_return_ival',
|
|
// Callbacks when the resizing controls are used
|
|
'_resize_puzzle',
|
|
'_restore_puzzle_size',
|
|
// Main program, run at initialisation time
|
|
'_main'
|
|
]
|