Mon 09 Oct 2006 03:03:06 PM UTC, comment #3:
I am not sure I understand what you mean with SWF movie size (or even with the use of the word "constraint"). The window can not be made smaller than the movie size. That's OK and intended.
However, if the movie size is smaller than the 200x200 (wherever that comes from), then the movie will be sized 200x200 (or rather, any component that is smaller than 200 is set to 200).
I process the file layerdemo.swf with gparser, and get:
16:50:22:
SWF version 4, file length = 5696 bytes
16:50:22: viewport:
16:50:22: x_min: 0, x_max: 4200, width: 4200 twips, 210 pixels
16:50:22: y_min: 0, y_max: 2700, height: 2700 twips, 135 pixels
16:50:22: frame rate = 12.000000, number of frames = 4
16:50:22:17:04:47:
SWF version 4, file length = 6330 bytes
17:04:47: viewport:
17:04:47: x_min: 0, x_max: 11000, width: 11000 twips, 550 pixels
17:04:47: y_min: 0, y_max: 2000, height: 2000 twips, 100 pixels
17:04:47: frame rate = 12.000000, number of frames = 120
17:04:47:
17:04:47: starting frame 0
This means to me the movie size is 550x120. Is that a correct interpretation? The default size of the gnash Gtk GUI program at startup is 550x200. It can be manually resized to 550x120 minimum.
With current CVS, I hacked gui/gtk.cpp::configure_event to display width and height, and got the following:
17:03:46: WARNING: Resize request received while there's still no movie loaded, can't correctly set movie scale
Process configure_event w=1 h=1
17:03:46: WARNING: Resize request received while there's still no movie loaded, can't correctly set movie scale
Process configure_event w=200 h=200
17:03:46: Base url set to: file:///home/marcus/gnu/gnash/flashkit/001-layers/layerdemo.swf
Process configure_event w=550 h=200
I do not think that the 200x200 comes from the movie itself. Maybe it's the Gtk default window size? It seems to me that Gtk queues some window resize event that is only processed after the movie is loaded and its default size set, scewing things up. Or something like that.
|